Convert geodetic coordinates to either geocentric or local cartesian coordinates. Geocentric coordinates have the origin at the center of the earth, with the z axis going thru the north pole, and the x axis thru latitude = 0, longitude = 0. By default, the conversion is to geocentric coordinates. Specifying -llat0lon0h0 causes a local coordinate system to be used with the origin at latitude = lat0, longitude = lon0, height = h0, z normal to the ellipsoid and y due north.
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude, longitude (decimal degrees or degrees, minutes and seconds), and height above the ellipsoid (meters); for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding cartesian coordinates x, y, z (meters) are printed on standard output.
-
-
OPTIONS
-
-
-
-
-r
-
-
-
perform the reverse projection. x, y, z are given on standard input and each line of standard output gives latitude, longitude, height. In general there are multiple solutions and the result which minimizes the absolute value of height is returned, i.e., (latitude, longitude) corresponds to the closest point on the ellipsoid.
-
-
-
-llat0lon0h0
-
-
-
specifies conversions to and from a local cartesion coordinate systems with origin lat0lon0h0, instead of a geocentric coordinate system. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -l.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for geocentric and local cartesion coordinates and for the height (in meters). For latitudes and longitudes (in degrees), the number of digits after the decimal point is prec + 5.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes CartConvert to return an exit code of 1. However, an error does not cause CartConvert to terminate; following lines will be converted.
-
-
SEE ALSO
-
-
The algorithm for converting geocentric to geodetic coordinates is given in Appendix B of C. F. F. Karney, Geodesics on an ellipsoid of revolution, Feb. 2011; preprint https://arxiv.org/abs/1102.1215.
Perform one of two conic projections geodesics. Convert geodetic coordinates to either Lambert conformal conic or Albers equal area coordinates. The standard latitudes lat1 and lat2 are specified by that the -c option (for Lambert conformal conic) or the -a option (for Albers equal area). At least one of these options must be given (the last one given is used). Specify lat1 = lat2, to obtain the case with a single standard parallel. The central meridian is given by lon0. The longitude of origin is given by the latitude of minimum (azimuthal) scale for Lambert conformal conic (Albers equal area). The (azimuthal) scale on the standard parallels is k1.
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude and longitude (decimal degrees or degrees, minutes, seconds); for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding projected easting, x, and northing, y, (meters) are printed on standard output together with the meridian convergence gamma (degrees) and (azimuthal) scale k. For Albers equal area, the radial scale is 1/k. The meridian convergence is the bearing of the y axis measured clockwise from true north.
-
-
Special cases of the Lambert conformal projection are the Mercator projection (the standard latitudes equal and opposite) and the polar stereographic projection (both standard latitudes correspond to the same pole). Special cases of the Albers equal area projection are the cylindrical equal area projection (the standard latitudes equal and opposite), the Lambert azimuthal equal area projection (both standard latitude corresponds to the same pole), and the Lambert equal area conic projection (one standard parallel is at a pole).
-
-
OPTIONS
-
-
-
-
-clat1lat2
-
-
-
use the Lambert conformal conic projection with standard parallels lat1 and lat2.
-
-
-
-alat1lat2
-
-
-
use the Albers equal area projection with standard parallels lat1 and lat2.
-
-
-
-llon0
-
-
-
specify the longitude of origin lon0 (degrees, default 0).
-
-
-
-kk1
-
-
-
specify the (azimuthal) scale k1 on the standard parallels (default 1).
-
-
-
-r
-
-
-
perform the reverse projection. x and y are given on standard input and each line of standard output gives latitude, longitude, gamma, and k.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for lengths (in meters). For latitudes and longitudes (in degrees), the number of digits after the decimal point is prec + 5. For the convergence (in degrees) and scale, the number of digits after the decimal point is prec + 6.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes ConicProj to return an exit code of 1. However, an error does not cause ConicProj to terminate; following lines will be converted.
GeoConvert reads from standard input interpreting each line as a geographic coordinate and prints the coordinate in the format specified by the options on standard output. The input is interpreted in one of three different ways depending on how many space or comma delimited tokens there are on the line. The options -g, -d, -u, and -m govern the format of output. In all cases, the WGS84 model of the earth is used (a = 6378137 m, f = 1/298.257223563).
-
-
-
-
geographic
-
-
-
2 tokens (output options -g, -d, or -:) given as latitudelongitude using decimal degrees or degrees, minutes, and seconds. Latitude is given first (unless the -w option is given). See "GEOGRAPHIC COORDINATES" for a description of the format. For example, the following are all equivalent
3 tokens (output option -u) given as zone+hemisphereeastingnorthing or eastingnorthingzone+hemisphere, where hemisphere is either n (or north) or s (or south). The zone is absent for a UPS specification. For example,
-
-
38n 444140.54 3684706.36
- 444140.54 3684706.36 38n
- s 2173854.98 2985980.58
- 2173854.98 2985980.58 s
-
-
-
MRGS
-
-
-
1 token (output option -m) is used to specify the center of an MGRS grid square. For example,
-
-
38SMB4484
- 38SMB44140847064
-
-
-
-
-
OPTIONS
-
-
-
-
-g
-
-
-
output latitude and longitude using decimal degrees. Default output mode.
-
-
-
-d
-
-
-
output latitude and longitude using degrees, minutes, and seconds (DMS).
-
-
-
-:
-
-
-
like -d, except use : as a separator instead of the d, ', and " delimiters.
-
-
-
-u
-
-
-
output UTM or UPS.
-
-
-
-m
-
-
-
output MGRS.
-
-
-
-c
-
-
-
output meridian convergence and scale for the corresponding UTM or UPS projection. The meridian convergence is the bearing of grid north given as degrees clockwise from true north.
-
-
-
-zzone
-
-
-
set the zone to zone for output. Use either 0 < zone <= 60 for a UTM zone or zone = 0 for UPS. Alternatively use a zone+hemisphere designation, e.g., 38n. See "ZONE".
-
-
-
-s
-
-
-
use the standard UPS and UTM zones.
-
-
-
-t
-
-
-
similar to -s but forces UPS regions to the closest UTM zone.
-
-
-
-S or -T
-
-
-
behave the same as -s and -t, respectively, until the first legal conversion is performed. For subsequent points, the zone and hemisphere of that conversion are used. This enables a sequence of points to be converted into UTM or UPS using a consistent coordinate system.
-
-
-
-n
-
-
-
on input, MGRS coordinates refer to the south-west corner of the MGRS square instead of the center; see "MGRS".
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 0); prec is the precision relative to 1 m. See "PRECISION".
-
-
-
-l
-
-
-
on output, UTM/UPS uses the long forms north and south to designate the hemisphere instead of n or s.
-
-
-
-a
-
-
-
on output, UTM/UPS uses the abbreviations n and s to designate the hemisphere instead of north or south; this is the default representation.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
PRECISION
-
-
prec gives precision of the output with prec = 0 giving 1 m precision, prec = 3 giving 1 mm precision, etc. prec is the number of digits after the decimal point for UTM/UPS. For MGRS, The number of digits per coordinate is 5 + prec; prec = -6 results in just the grid zone. For decimal degrees, the number of digits after the decimal point is 5 + prec. For DMS (degree, minute, seconds) output, the number of digits after the decimal point in the seconds components is 1 + prec; if this is negative then use minutes (prec = -2 or -3) or degrees (prec <= -4) as the least significant component. Print convergence, resp. scale, with 5 + prec, resp. 7 + prec, digits after the decimal point. The minimum value of prec is -5 (-6 for MGRS) and the maximum is 9 for UTM/UPS, 9 for decimal degrees, 10 for DMS, 6 for MGRS, and 8 for convergence and scale.
-
-
GEOGRAPHIC COORDINATES
-
-
The utility accepts geographic coordinates, latitude and longitude, in a number of common formats. Latitude precedes longitude, unless the -w option is given which switches this convention. On input, either coordinate may be given first by appending or prepending N or S to the latitude and E or W to the longitude. These hemisphere designators carry an implied sign, positive for N and E and negative for S and W. This sign multiplies any +/- sign prefixing the coordinate. The coordinates may be given as decimal degree or as degrees, minutes, and seconds. d, ', and " are used to denote degrees, minutes, and seconds, with the least significant designator optional. (See "QUOTING" for how to quote the characters ' and " when entering coordinates on the command line.) Alternatively, : (colon) may be used to separate the various components. Only the final component of coordinate can include a decimal point, and the minutes and seconds components must be less than 60.
-
-
It is also possible to carry out addition or subtraction operations in geographic coordinates. If the coordinate includes interior signs (i.e., not at the beginning or immediately after an initial hemisphere designator), then the coordinate is split before such signs; the pieces are parsed separately and the results summed. For example the point 15" east of 39N 70W is
-
-
39N 70W+0:0:15E
-
-
WARNING: "Exponential" notation is not recognized for geographic coordinates. Thus 7.0E1 is illegal, while 7.0E+1 is parsed as (7.0E) + (+1), yielding the same result as 8.0E.
-
-
Various unicode characters (encoded with UTF-8) may also be used to denote degrees, minutes, and seconds, e.g., the degree, prime, and double prime symbols; in addition two single quotes can be used to represent ".
-
-
The other GeographicLib utilities use the same rules for interpreting geographic coordinates; in addition, azimuths and arc lengths are interpreted the same way.
-
-
QUOTING
-
-
Unfortunately the characters ' and " have special meanings in many shells and have to be entered with care. However note (1) that the trailing designator is optional and that (2) you can use colons as a separator character. Thus 10d20' can be entered as 10d20 or 10:20 and 10d20'30" can be entered as 10:20:30.
-
-
-
-
Unix shells (sh, bash, tsch)
-
-
-
The characters ' and " can be quoted by preceding them with a \ (backslash); or you can quote a string containing ' with a pair of "s. The two alternatives are illustrated by
The ' character needs no quoting; the " character can either be quoted by a ^ or can be represented by typing ' twice. (This quoting is usually unnecessary because the trailing designator can be omitted.) Thus
No quoting need be done if the input from a file. Thus each line of the file input.txt should just contain the plain coordinates.
-
-
GeoConvert -d -p -1 < input.txt
-
-
-
-
-
MGRS
-
-
MGRS coordinates represent a square patch of the earth, thus 38SMB4488 is in zone 38n with 444km <= easting < 445km and 3688km <= northing < 3689km. Consistent with this representation, coordinates are truncated (instead of rounded) to the requested precision. When an MGRS coordinate is provided as input, GeoConvert treats this as a representative point within the square. By default, this representative point is the center of the square (38n 444500 3688500 in the example above). (This leads to a stable conversion between MGRS and geographic coordinates.) However, if the -n option is given then the south-west corner of the square is returned instead (38n 444000 3688000 in the example above).
-
-
ZONE
-
-
If the input is geographic, GeoConvert uses the standard rules of selecting UTM vs UPS and for assigning the UTM zone (with the Norway and Svalbard exceptions). If the input is UTM/UPS or MGRS, then the choice between UTM and UPS and the UTM zone mirrors the input. The -zzone, -s, and -t options allow these rules to be overridden with zone = 0 being used to indicate UPS. For example, the point
-
-
79.9S 6.1E
-
-
corresponds to possible MGRS coordinates
-
-
32CMS4324728161 (standard UTM zone = 32)
- 31CEM6066227959 (neighboring UTM zone = 31)
- BBZ1945517770 (neighboring UPS zone)
NOTE: the letter in the zone specification for UTM is a hemisphere designator n or s and not an MGRS latitude band letter. Convert the MGRS latitude band letter to a hemisphere as follows: replace C thru M by s (or south); replace N thru X by n (or north).
GeoConvert can be used to do simple arithmetic using degree, minutes, and seconds. For example, sometimes data is tiled in 15 second squares tagged by the DMS representation of the SW corner. The tags of the tile at 38:59:45N 077:02:00W and its 8 neighbors are then given by
-
-
t=0:0:15
- for y in -$t +0 +$t; do
- for x in -$t +0 +$t; do
- echo 38:59:45N$y 077:02:00W$x
- done
- done | GeoConvert -: -p -1 | tr -d ': '
- =>
- 385930N0770215W
- 385930N0770200W
- 385930N0770145W
- 385945N0770215W
- 385945N0770200W
- 385945N0770145W
- 390000N0770215W
- 390000N0770200W
- 390000N0770145W
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeoConvert to return an exit code of 1. However, an error does not cause GeoConvert to terminate; following lines will be converted.
The shortest path between two points on the ellipsoid at (lat1, lon1) and (lat2, lon2) is called the geodesic. Its length is s12 and the geodesic from point 1 to point 2 has forward azimuths azi1 and azi2 at the two end points.
-
-
GeodSolve operates in one of three modes:
-
-
-
-
By default, GeodSolve accepts lines on the standard input containing lat1lon1azi1s12 and prints lat2lon2azi2 on standard output. This is the direct geodesic calculation.
-
-
-
With the -i command line argument, GeodSolve performs the inverse geodesic calculation. It reads lines containing lat1lon1lat2lon2 and prints the corresponding values of azi1azi2s12.
-
-
-
Command line arguments -Llat1lon1azi1 specify a geodesic line. GeodSolve then accepts a sequence of s12 values (one per line) on standard input and prints lat2lon2azi2 for each. This generates a sequence of points on a single geodesic. Command line arguments -D and -I work similarly with the geodesic line defined in terms of a direct or inverse geodesic calculation, respectively.
-
-
-
-
-
OPTIONS
-
-
-
-
-i
-
-
-
perform an inverse geodesic calculation (see 2 above).
-
-
-
-Llat1lon1azi1
-
-
-
line mode (see 3 above); generate a sequence of points along the geodesic specified by lat1lon1azi1. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -L. (-l is an alternative, deprecated, spelling of this flag.)
-
-
-
-Dlat1lon1azi1s13
-
-
-
line mode (see 3 above); generate a sequence of points along the geodesic specified by lat1lon1azi1s13. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -D. Similarly, the -a flag can be used to change the interpretation of s13 to a13, provided that it appears before -D.
-
-
-
-Ilat1lon1lat3lon3
-
-
-
line mode (see 3 above); generate a sequence of points along the geodesic specified by lat1lon1lat3lon3. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -I.
-
-
-
-a
-
-
-
toggle the arc mode flag (it starts off); if this flag is on, then on input and output s12 is replaced by a12 the arc length (in degrees) on the auxiliary sphere. See "AUXILIARY SPHERE".
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-u
-
-
-
unroll the longitude. Normally, on output longitudes are reduced to lie in [-180deg,180deg). However with this option, the returned longitude lon2 is "unrolled" so that lon2 - lon1 indicates how often and in what sense the geodesic has encircled the earth. Use the -f option, to get both longitudes printed.
-
-
-
-F
-
-
-
fractional mode. This only has any effect with the -D and -I options (and is otherwise ignored). The values read on standard input are interpreted as fractional distances to point 3, i.e., as s12/s13 instead of s12. If arc mode is in effect, then the values denote fractional arc length, i.e., a12/a13. The fractional distances can be entered as a simple fraction, e.g., 3/4.
-
-
-
-d
-
-
-
output angles as degrees, minutes, seconds instead of decimal degrees.
-
-
-
-:
-
-
-
like -d, except use : as a separator instead of the d, ', and " delimiters.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-b
-
-
-
report the back azimuth at point 2 instead of the forward azimuth.
-
-
-
-f
-
-
-
full output; each line of output consists of 12 quantities: lat1lon1azi1lat2lon2azi2s12a12m12M12M21S12. a12 is described in "AUXILIARY SPHERE". The four quantities m12, M12, M21, and S12 are described in "ADDITIONAL QUANTITIES".
-
-
-
-pprec
-
-
-
set the output precision to prec (default 3); prec is the precision relative to 1 m. See "PRECISION".
-
-
-
-E
-
-
-
use "exact" algorithms (based on elliptic integrals) for the geodesic calculations. These are more accurate than the (default) series expansions for |f| > 0.02.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
INPUT
-
-
GeodSolve measures all angles in degrees and all lengths (s12) in meters, and all areas (S12) in meters^2. On input angles (latitude, longitude, azimuth, arc length) can be as decimal degrees or degrees, minutes, seconds. For example, 40d30, 40d30', 40:30, 40.5d, and 40.5 are all equivalent. By default, latitude precedes longitude for each point (the -w flag switches this convention); however on input either may be given first by appending (or prepending) N or S to the latitude and E or W to the longitude. Azimuths are measured clockwise from north; however this may be overridden with E or W.
-
-
For details on the allowed formats for angles, see the GEOGRAPHIC COORDINATES section of GeoConvert(1).
-
-
AUXILIARY SPHERE
-
-
Geodesics on the ellipsoid can be transferred to the auxiliary sphere on which the distance is measured in terms of the arc length a12 (measured in degrees) instead of s12. In terms of a12, 180 degrees is the distance from one equator crossing to the next or from the minimum latitude to the maximum latitude. Geodesics with a12 > 180 degrees do not correspond to shortest paths. With the -a flag, s12 (on both input and output) is replaced by a12. The -a flag does not affect the full output given by the -f flag (which always includes both s12 and a12).
-
-
ADDITIONAL QUANTITIES
-
-
The -f flag reports four additional quantities.
-
-
The reduced length of the geodesic, m12, is defined such that if the initial azimuth is perturbed by dazi1 (radians) then the second point is displaced by m12 dazi1 in the direction perpendicular to the geodesic. m12 is given in meters. On a curved surface the reduced length obeys a symmetry relation, m12 + m21 = 0. On a flat surface, we have m12 = s12.
-
-
M12 and M21 are geodesic scales. If two geodesics are parallel at point 1 and separated by a small distance dt, then they are separated by a distance M12dt at point 2. M21 is defined similarly (with the geodesics being parallel to one another at point 2). M12 and M21 are dimensionless quantities. On a flat surface, we have M12 = M21 = 1.
-
-
If points 1, 2, and 3 lie on a single geodesic, then the following addition rules hold:
Finally, S12 is the area between the geodesic from point 1 to point 2 and the equator; i.e., it is the area, measured counter-clockwise, of the geodesic quadrilateral with corners (lat1,lon1), (0,lon1), (0,lon2), and (lat2,lon2). It is given in meters^2.
-
-
PRECISION
-
-
prec gives precision of the output with prec = 0 giving 1 m precision, prec = 3 giving 1 mm precision, etc. prec is the number of digits after the decimal point for lengths. For decimal degrees, the number of digits after the decimal point is prec + 5. For DMS (degree, minute, seconds) output, the number of digits after the decimal point in the seconds component is prec + 1. The minimum value of prec is 0 and the maximum is 10.
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeodSolve to return an exit code of 1. However, an error does not cause GeodSolve to terminate; following lines will be converted.
-
-
ACCURACY
-
-
Using the (default) series solution, GeodSolve is accurate to about 15 nm (15 nanometers) for the WGS84 ellipsoid. The approximate maximum error (expressed as a distance) for an ellipsoid with the same equatorial radius as the WGS84 ellipsoid and different values of the flattening is
-
-
|f| error
- 0.01 25 nm
- 0.02 30 nm
- 0.05 10 um
- 0.1 1.5 mm
- 0.2 300 mm
-
-
If -E is specified, GeodSolve is accurate to about 40 nm (40 nanometers) for the WGS84 ellipsoid. The approximate maximum error (expressed as a distance) for an ellipsoid with a quarter meridian of 10000 km and different values of the a/b = 1 - f is
The shortest distance returned for the inverse problem is (obviously) uniquely defined. However, in a few special cases there are multiple azimuths which yield the same shortest distance. Here is a catalog of those cases:
-
-
-
-
lat1 = -lat2 (with neither point at a pole)
-
-
-
If azi1 = azi2, the geodesic is unique. Otherwise there are two geodesics and the second one is obtained by setting [azi1,azi2] = [azi2,azi1], [M12,M21] = [M21,M12], S12 = -S12. (This occurs when the longitude difference is near +/-180 for oblate ellipsoids.)
-
-
-
lon2 = lon1 +/- 180 (with neither point at a pole)
-
-
-
If azi1 = 0 or +/-180, the geodesic is unique. Otherwise there are two geodesics and the second one is obtained by setting [azi1,azi2] = [-azi1,-azi2], S12 = -S12. (This occurs when lat2 is near -lat1 for prolate ellipsoids.)
-
-
-
Points 1 and 2 at opposite poles
-
-
-
There are infinitely many geodesics which can be generated by setting [azi1,azi2] = [azi1,azi2] + [d,-d], for arbitrary d. (For spheres, this prescription applies when points 1 and 2 are antipodal.)
-
-
-
s12 = 0 (coincident points)
-
-
-
There are infinitely many geodesics which can be generated by setting [azi1,azi2] = [azi1,azi2] + [d,d], for arbitrary d.
-
-
-
-
-
EXAMPLES
-
-
Route from JFK Airport to Singapore Changi Airport:
GeodSolve was added to GeographicLib, https://geographiclib.sourceforge.io, in 2009-03. Prior to version 1.30, it was called Geod. (The name was changed to avoid a conflict with the geod utility in proj.4.)
Perform projections based on geodesics. Convert geodetic coordinates to either azimuthal equidistant, Cassini-Soldner, or gnomonic coordinates. The center of the projection (lat0, lon0) is specified by either the -c option (for Cassini-Soldner), the -z option (for azimuthal equidistant), or the -g option (for gnomonic). At least one of these options must be given (the last one given is used).
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude and longitude (decimal degrees or degrees, minutes, seconds); for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding projected coordinates x, y (meters) are printed on standard output together with the azimuth azi (degrees) and reciprocal scale rk. For Cassini-Soldner, azi is the bearing of the easting direction and the scale in the easting direction is 1 and the scale in the northing direction is 1/rk. For azimuthal equidistant and gnomonic, azi is the bearing of the radial direction and the scale in the azimuthal direction is 1/rk. For azimuthal equidistant and gnomonic, the scales in the radial direction are 1 and 1/rk^2, respectively.
-
-
OPTIONS
-
-
-
-
-zlat0lon0
-
-
-
use the azimuthal equidistant projection centered at latitude = lat0, longitude = lon0. The -w flag can be used to swap the default order of the 2 coordinates, provided that it appears before -z.
-
-
-
-clat0lon0
-
-
-
use the Cassini-Soldner projection centered at latitude = lat0, longitude = lon0. The -w flag can be used to swap the default order of the 2 coordinates, provided that it appears before -c.
-
-
-
-glat0lon0
-
-
-
use the ellipsoidal gnomonic projection centered at latitude = lat0, longitude = lon0. The -w flag can be used to swap the default order of the 2 coordinates, provided that it appears before -g.
-
-
-
-r
-
-
-
perform the reverse projection. x and y are given on standard input and each line of standard output gives latitude, longitude, azi, and rk.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for lengths (in meters). For latitudes, longitudes, and azimuths (in degrees), the number of digits after the decimal point is prec + 5. For the scale, the number of digits after the decimal point is prec + 6.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeodesicProj to return an exit code of 1. However, an error does not cause GeodesicProj to terminate; following lines will be converted.
GeoidEval reads in positions on standard input and prints out the corresponding heights of the geoid above the WGS84 ellipsoid on standard output.
-
-
Positions are given as latitude and longitude, UTM/UPS, or MGRS, in any of the formats accepted by GeoConvert(1). (MGRS coordinates signify the center of the corresponding MGRS square.) If the -z option is specified then the specified zone is prepended to each line of input (which must be in UTM/UPS coordinates). This allows a file with UTM eastings and northings in a single zone to be used as standard input.
-
-
More accurate results for the geoid height are provided by Gravity(1). This utility can also compute the direction of gravity accurately.
-
-
The height of the geoid above the ellipsoid, N, is sometimes called the geoid undulation. It can be used to convert a height above the ellipsoid, h, to the corresponding height above the geoid (the orthometric height, roughly the height above mean sea level), H, using the relations
-
-
-
-
h = N + H, H = -N + h.
-
-
-
-
OPTIONS
-
-
-
-
-nname
-
-
-
use geoid name instead of the default egm96-5. See "GEOIDS".
-
-
-
-ddir
-
-
-
read geoid data from dir instead of the default. See "GEOIDS".
-
-
-
-l
-
-
-
use bilinear interpolation instead of cubic. See "INTERPOLATION".
cache the data bounded by southwestnortheast in memory. The first two arguments specify the SW corner of the cache and the last two arguments specify the NE corner. The -w flag specifies that longitude precedes latitude for these corners, provided that it appears before -c. See "CACHE".
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then when reading geographic coordinates, longitude precedes latitude (this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-zzone
-
-
-
prefix each line of input by zone, e.g., 38n. This should be used when the input consists of UTM/UPS eastings and northings.
-
-
-
--msltohae
-
-
-
standard input should include a final token on each line which is treated as a height (in meters) above the geoid and the output echoes the input line with the height converted to height above ellipsoid (HAE). If -zzone is specified then the third token is treated as the height; this makes it possible to convert LIDAR data where each line consists of: easting northing height intensity.
-
-
-
--haetomsl
-
-
-
this is similar to --msltohae except that the height token is treated as a height (in meters) above the ellipsoid and the output echoes the input line with the height converted to height above the geoid (MSL).
-
-
-
-v
-
-
-
print information about the geoid on standard error before processing the input.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage, the default geoid path and name, and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
GEOIDS
-
-
GeoidEval computes geoid heights by interpolating on the data in a regularly spaced table (see "INTERPOLATION"). The following geoid tables are available (however, some may not be installed):
-
-
bilinear error cubic error
- name geoid grid max rms max rms
- egm84-30 EGM84 30' 1.546 m 70 mm 0.274 m 14 mm
- egm84-15 EGM84 15' 0.413 m 18 mm 0.021 m 1.2 mm
- egm96-15 EGM96 15' 1.152 m 40 mm 0.169 m 7.0 mm
- egm96-5 EGM96 5' 0.140 m 4.6 mm .0032 m 0.7 mm
- egm2008-5 EGM2008 5' 0.478 m 12 mm 0.294 m 4.5 mm
- egm2008-2_5 EGM2008 2.5' 0.135 m 3.2 mm 0.031 m 0.8 mm
- egm2008-1 EGM2008 1' 0.025 m 0.8 mm .0022 m 0.7 mm
-
-
By default, the egm96-5 geoid is used. This may changed by setting the environment variable GEOGRAPHICLIB_GEOID_NAME or with the -n option. The errors listed here are estimates of the quantization and interpolation errors in the reported heights compared to the specified geoid.
-
-
The geoid data will be loaded from a directory specified at compile time. This may changed by setting the environment variables GEOGRAPHICLIB_GEOID_PATH or GEOGRAPHICLIB_DATA, or with the -d option. The -h option prints the default geoid path and name. Use the -v option to ascertain the full path name of the data file.
NOTE: all the geoids above apply to the WGS84 ellipsoid (a = 6378137 m, f = 1/298.257223563) only.
-
-
INTERPOLATION
-
-
Cubic interpolation is used to compute the geoid height unless -l is specified in which case bilinear interpolation is used. The cubic interpolation is based on a least-squares fit of a cubic polynomial to a 12-point stencil
-
-
. 1 1 .
- 1 2 2 1
- 1 2 2 1
- . 1 1 .
-
-
The cubic is constrained to be independent of longitude when evaluating the height at one of the poles. Cubic interpolation is considerably more accurate than bilinear; however it results in small discontinuities in the returned height on cell boundaries.
-
-
CACHE
-
-
By default, the data file is randomly read to compute the geoid heights at the input positions. Usually this is sufficient for interactive use. If many heights are to be computed, use -csouthwestnortheast to notify GeoidEval to read a rectangle of data into memory; heights within the this rectangle can then be computed without any disk access. If -a is specified all the geoid data is read; in the case of egm2008-1, this requires about 0.5 GB of RAM. The evaluation of heights outside the cached area causes the necessary data to be read from disk. Use the -v option to verify the size of the cache.
-
-
Regardless of whether any cache is requested (with the -a or -c options), the data for the last grid cell in cached. This allows the geoid height along a continuous path to be returned with little disk overhead.
-
-
ENVIRONMENT
-
-
-
-
GEOGRAPHICLIB_GEOID_NAME
-
-
-
Override the compile-time default geoid name of egm96-5. The -h option reports the value of GEOGRAPHICLIB_GEOID_NAME, if defined, otherwise it reports the compile-time value. If the -nname option is used, then name takes precedence.
-
-
-
GEOGRAPHICLIB_GEOID_PATH
-
-
-
Override the compile-time default geoid path. This is typically /usr/local/share/GeographicLib/geoids on Unix-like systems and C:/ProgramData/GeographicLib/geoids on Windows systems. The -h option reports the value of GEOGRAPHICLIB_GEOID_PATH, if defined, otherwise it reports the compile-time value. If the -ddir option is used, then dir takes precedence.
-
-
-
GEOGRAPHICLIB_DATA
-
-
-
Another way of overriding the compile-time default geoid path. If it is set (and if GEOGRAPHICLIB_GEOID_PATH is not set), then $GEOGRAPHICLIB_DATA/geoids is used.
-
-
-
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeoidEval to return an exit code of 1. However, an error does not cause GeoidEval to terminate; following lines will be converted.
-
-
ABBREVIATIONS
-
-
The geoid is usually approximated by an "earth gravity model". The models published by the NGA are:
Gravity reads in positions on standard input and prints out the gravitational field on standard output.
-
-
The input line is of the form latlonh. lat and lon are the latitude and longitude expressed as decimal degrees or degrees, minutes, and seconds; for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). h is the height above the ellipsoid in meters; this quantity is optional and defaults to 0. Alternatively, the gravity field can be computed at various points on a circle of latitude (constant lat and h) via the -c option; in this case only the longitude should be given on the input lines. The quantities printed out are governed by the -G (default), -D, -A, or -H options.
-
-
All the supported gravity models, except for grs80, use WGS84 as the reference ellipsoid a = 6378137 m, f = 1/298.257223563, omega = 7292115e-11 rad/s, and GM = 3986004.418e8 m^3/s^2.
-
-
OPTIONS
-
-
-
-
-nname
-
-
-
use gravity field model name instead of the default egm96. See "MODELS".
-
-
-
-ddir
-
-
-
read gravity models from dir instead of the default. See "MODELS".
-
-
-
-NNmax
-
-
-
limit the degree of the model to Nmax.
-
-
-
-MMmax
-
-
-
limit the order of the model to Mmax.
-
-
-
-G
-
-
-
compute the acceleration due to gravity (including the centrifugal acceleration due the the earth's rotation) g. The output consists of gxgygz (all in m/s^2), where the x, y, and z components are in easterly, northerly, and up directions, respectively. Usually gz is negative.
-
-
-
-D
-
-
-
compute the gravity disturbance delta = g - gamma, where gamma is the "normal" gravity due to the reference ellipsoid . The output consists of deltaxdeltaydeltaz (all in mGal, 1 mGal = 10^-5 m/s^2), where the x, y, and z components are in easterly, northerly, and up directions, respectively. Note that deltax = gx, because gammax = 0.
-
-
-
-A
-
-
-
computes the gravitational anomaly. The output consists of 3 items Dg01xieta, where Dg01 is in mGal (1 mGal = 10^-5 m/s^2) and xi and eta are in arcseconds. The gravitational anomaly compares the gravitational field g at P with the normal gravity gamma at Q where the P is vertically above Q and the gravitational potential at P equals the normal potential at Q. Dg01 gives the difference in the magnitudes of these two vectors and xi and eta give the difference in their directions (as northerly and easterly components). The calculation uses a spherical approximation to match the results of the NGA's synthesis programs.
-
-
-
-H
-
-
-
compute the height of the geoid above the reference ellipsoid (in meters). In this case, h should be zero. The results accurately match the results of the NGA's synthesis programs. GeoidEval(1) can compute geoid heights much more quickly by interpolating on a grid of precomputed results; however the results from GeoidEval(1) are only accurate to a few millimeters.
-
-
-
-clath
-
-
-
evaluate the field on a circle of latitude given by lat and h instead of reading these quantities from the input lines. In this case, Gravity can calculate the field considerably more quickly. If geoid heights are being computed (the -H option), then h must be zero.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec. By default prec is 5 for acceleration due to gravity, 3 for the gravity disturbance and anomaly, and 4 for the geoid height.
-
-
-
-v
-
-
-
print information about the gravity model on standard error before processing the input.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage, the default gravity path and name, and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
MODELS
-
-
Gravity computes the gravity field using one of the following models
-
-
egm84, earth gravity model 1984. See
- http://earth-info.nga.mil/GandG/wgs84/gravitymod/wgs84_180/wgs84_180.html
- egm96, earth gravity model 1996. See
- http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
- egm2008, earth gravity model 2008. See
- http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008
- wgs84, world geodetic system 1984. This returns the normal
- gravity for the WGS84 ellipsoid.
- grs80, geodetic reference system 1980. This returns the normal
- gravity for the GRS80 ellipsoid.
-
-
These models approximate the gravitation field above the surface of the earth. By default, the egm96 gravity model is used. This may changed by setting the environment variable GEOGRAPHICLIB_GRAVITY_NAME or with the -n option.
-
-
The gravity models will be loaded from a directory specified at compile time. This may changed by setting the environment variables GEOGRAPHICLIB_GRAVITY_PATH or GEOGRAPHICLIB_DATA, or with the -d option. The -h option prints the default gravity path and name. Use the -v option to ascertain the full path name of the data file.
Override the compile-time default gravity name of egm96. The -h option reports the value of GEOGRAPHICLIB_GRAVITY_NAME, if defined, otherwise it reports the compile-time value. If the -nname option is used, then name takes precedence.
-
-
-
GEOGRAPHICLIB_GRAVITY_PATH
-
-
-
Override the compile-time default gravity path. This is typically /usr/local/share/GeographicLib/gravity on Unix-like systems and C:/ProgramData/GeographicLib/gravity on Windows systems. The -h option reports the value of GEOGRAPHICLIB_GRAVITY_PATH, if defined, otherwise it reports the compile-time value. If the -ddir option is used, then dir takes precedence.
-
-
-
GEOGRAPHICLIB_DATA
-
-
-
Another way of overriding the compile-time default gravity path. If it is set (and if GEOGRAPHICLIB_GRAVITY_PATH is not set), then $GEOGRAPHICLIB_DATA/gravity is used.
-
-
-
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes Gravity to return an exit code of 1. However, an error does not cause Gravity to terminate; following lines will be converted.
-
-
EXAMPLES
-
-
The gravity field from EGM2008 at the top of Mount Everest
MagneticField reads in times and positions on standard input and prints out the geomagnetic field on standard output and, optionally, its rate of change.
-
-
The input line is of the form timelatlonh. time is a date of the form 2012-07-03, a fractional year such as 2012.5, or the string "now". lat and lon are the latitude and longitude expressed as decimal degrees or degrees, minutes, and seconds; for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). h is the height above the ellipsoid in meters; this is optional and defaults to zero. Alternatively, time can be given on the command line as the argument to the -t option, in which case it should not be included on the input lines. Finally, the magnetic field can be computed at various points on a circle of latitude (constant time, lat, and h) via the -c option; in this case only the longitude should be given on the input lines.
-
-
The output consists of the following 7 items:
-
-
the declination (the direction of the horizontal component of
- the magnetic field measured clockwise from north) in degrees,
- the inclination (the direction of the magnetic field measured
- down from the horizontal) in degrees,
- the horizontal field in nanotesla (nT),
- the north component of the field in nT,
- the east component of the field in nT,
- the vertical component of the field in nT (down is positive),
- the total field in nT.
-
-
If the -r option is given, a second line is printed giving the rates of change of these quantities in degrees/yr and nT/yr.
-
-
The WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
OPTIONS
-
-
-
-
-nname
-
-
-
use magnetic field model name instead of the default wmm2020. See "MODELS".
-
-
-
-ddir
-
-
-
read magnetic models from dir instead of the default. See "MODELS".
-
-
-
-NNmax
-
-
-
limit the degree of the model to Nmax.
-
-
-
-MMmax
-
-
-
limit the order of the model to Mmax.
-
-
-
-ttime
-
-
-
evaluate the field at time instead of reading the time from the input lines.
-
-
-
-ctimelath
-
-
-
evaluate the field on a circle of latitude given by time, lat, h instead of reading these quantities from the input lines. In this case, MagneticField can calculate the field considerably more quickly.
-
-
-
-r
-
-
-
toggle whether to report the rates of change of the field.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-Ttguard
-
-
-
signal an error if time lies tguard years (default 50 yr) beyond the range for the model.
-
-
-
-Hhguard
-
-
-
signal an error if h lies hguard meters (default 500000 m) beyond the range for the model.
-
-
-
-pprec
-
-
-
set the output precision to prec (default 1). Fields are printed with precision with prec decimal places; angles use prec + 1 places.
-
-
-
-v
-
-
-
print information about the magnetic model on standard error before processing the input.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage, the default magnetic path and name, and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
MODELS
-
-
MagneticField computes the geomagnetic field using one of the following models
-
-
wmm2010, the World Magnetic Model 2010, which approximates the
- main magnetic field for the period 2010-2015. See
- https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
- wmm2015v2, the World Magnetic Model 2015, which approximates the
- main magnetic field for the period 2015-2020. See
- https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
- wmm2015, a deprecated version of wmm2015v2
- wmm2020, the World Magnetic Model 2020, which approximates the
- main magnetic field for the period 2020-2025. See
- https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
- igrf11, the International Geomagnetic Reference Field (11th
- generation), which approximates the main magnetic field for
- the period 1900-2015. See
- https://ngdc.noaa.gov/IAGA/vmod/igrf.html
- igrf12, the International Geomagnetic Reference Field (12th
- generation), which approximates the main magnetic field for
- the period 1900-2020. See
- https://ngdc.noaa.gov/IAGA/vmod/igrf.html
- emm2010, the Enhanced Magnetic Model 2010, which approximates
- the main and crustal magnetic fields for the period 2010-2015.
- See https://ngdc.noaa.gov/geomag/EMM/index.html
- emm2015, the Enhanced Magnetic Model 2015, which approximates
- the main and crustal magnetic fields for the period 2000-2020.
- See https://ngdc.noaa.gov/geomag/EMM/index.html
- emm2017, the Enhanced Magnetic Model 2017, which approximates
- the main and crustal magnetic fields for the period 2000-2022.
- See https://ngdc.noaa.gov/geomag/EMM/index.html
-
-
These models approximate the magnetic field due to the earth's core and (in the case of emm20xx) its crust. They neglect magnetic fields due to the ionosphere, the magnetosphere, nearby magnetized materials, electrical machinery, etc.
-
-
By default, the wmm2020 magnetic model is used. This may changed by setting the environment variable GEOGRAPHICLIB_MAGNETIC_NAME or with the -n option.
-
-
The magnetic models will be loaded from a directory specified at compile time. This may changed by setting the environment variables GEOGRAPHICLIB_MAGNETIC_PATH or GEOGRAPHICLIB_DATA, or with the -d option. The -h option prints the default magnetic path and name. Use the -v option to ascertain the full path name of the data file.
Override the compile-time default magnetic name of wmm2020. The -h option reports the value of GEOGRAPHICLIB_MAGNETIC_NAME, if defined, otherwise it reports the compile-time value. If the -nname option is used, then name takes precedence.
-
-
-
GEOGRAPHICLIB_MAGNETIC_PATH
-
-
-
Override the compile-time default magnetic path. This is typically /usr/local/share/GeographicLib/magnetic on Unix-like systems and C:/ProgramData/GeographicLib/magnetic on Windows systems. The -h option reports the value of GEOGRAPHICLIB_MAGNETIC_PATH, if defined, otherwise it reports the compile-time value. If the -ddir option is used, then dir takes precedence.
-
-
-
GEOGRAPHICLIB_DATA
-
-
-
Another way of overriding the compile-time default magnetic path. If it is set (and if GEOGRAPHICLIB_MAGNETIC_PATH is not set), then $GEOGRAPHICLIB_DATA/magnetic is used.
-
-
-
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes MagneticField to return an exit code of 1. However, an error does not cause MagneticField to terminate; following lines will be converted. If time or h are outside the recommended ranges for the model (but inside the ranges increase by tguard and hguard), a warning is printed on standard error and the field (which may be inaccurate) is returned in the normal way.
-
-
EXAMPLES
-
-
The magnetic field from WMM2020 in Timbuktu on 2020-01-01
Measure the area of a geodesic polygon. Reads polygon vertices from standard input, one per line. Vertices may be given as latitude and longitude, UTM/UPS, or MGRS coordinates, interpreted in the same way as GeoConvert(1). (MGRS coordinates signify the center of the corresponding MGRS square.) The end of input, a blank line, or a line which can't be interpreted as a vertex signals the end of one polygon and the start of the next. For each polygon print a summary line with the number of points, the perimeter (in meters), and the area (in meters^2).
-
-
The edges of the polygon are given by the shortest geodesic between consecutive vertices. In certain cases, there may be two or many such shortest geodesics, and in that case, the polygon is not uniquely specified by its vertices. This only happens with very long edges (for the WGS84 ellipsoid, any edge shorter than 19970 km is uniquely specified by its end points). In such cases, insert an additional vertex near the middle of the long edge to define the boundary of the polygon.
-
-
By default, polygons traversed in a counter-clockwise direction return a positive area and those traversed in a clockwise direction return a negative area. This sign convention is reversed if the -r option is given.
-
-
Of course, encircling an area in the clockwise direction is equivalent to encircling the rest of the ellipsoid in the counter-clockwise direction. The default interpretation used by Planimeter is the one that results in a smaller magnitude of area; i.e., the magnitude of the area is less than or equal to one half the total area of the ellipsoid. If the -s option is given, then the interpretation used is the one that results in a positive area; i.e., the area is positive and less than the total area of the ellipsoid.
-
-
Arbitrarily complex polygons are allowed. In the case of self-intersecting polygons the area is accumulated "algebraically", e.g., the areas of the 2 loops in a figure-8 polygon will partially cancel. Polygons may include one or both poles. There is no need to close the polygon.
-
-
OPTIONS
-
-
-
-
-r
-
-
-
toggle whether counter-clockwise traversal of the polygon returns a positive (the default) or negative result.
-
-
-
-s
-
-
-
toggle whether to return a signed result (the default) or not.
-
-
-
-l
-
-
-
toggle whether the vertices represent a polygon (the default) or a polyline. For a polyline, the number of points and the length of the path joining them is returned; the path is not closed and the area is not reported.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563. If entering vertices as UTM/UPS or MGRS coordinates, use the default ellipsoid, since the conversion of these coordinates to latitude and longitude always uses the WGS84 parameters.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then when reading geographic coordinates, longitude precedes latitude (this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6); the perimeter is given (in meters) with prec digits after the decimal point; the area is given (in meters^2) with (prec - 5) digits after the decimal point.
-
-
-
-G
-
-
-
use the series formulation for the geodesics. This is the default option and is recommended for terrestrial applications. This option, -G, and the following three options, -E, -Q, and -R, are mutually exclusive.
-
-
-
-E
-
-
-
use "exact" algorithms (based on elliptic integrals) for the geodesic calculations. These are more accurate than the (default) series expansions for |f| > 0.02. (But note that the implementation of areas in GeodesicExact uses a high order series and this is only accurate for modest flattenings.)
-
-
-
-Q
-
-
-
perform the calculation on the authalic sphere. The area calculation is accurate even if the flattening is large, provided the edges are sufficiently short. The perimeter calculation is not accurate.
-
-
-
-R
-
-
-
The lines joining the vertices are rhumb lines instead of geodesics.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing. For a given polygon, the last such string found will be appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
The path with constant heading between two points on the ellipsoid at (lat1, lon1) and (lat2, lon2) is called the rhumb line or loxodrome. Its length is s12 and the rhumb line has a forward azimuth azi12 along its length. Also computed is S12 is the area between the rhumb line from point 1 to point 2 and the equator; i.e., it is the area, measured counter-clockwise, of the geodesic quadrilateral with corners (lat1,lon1), (0,lon1), (0,lon2), and (lat2,lon2). A point at a pole is treated as a point a tiny distance away from the pole on the given line of longitude. The longitude becomes indeterminate when a rhumb line passes through a pole, and RhumbSolve reports NaNs for the longitude and the area in this case.
-
-
NOTE: the rhumb line is not the shortest path between two points; that is the geodesic and it is calculated by GeodSolve(1).
-
-
RhumbSolve operates in one of three modes:
-
-
-
-
By default, RhumbSolve accepts lines on the standard input containing lat1lon1azi12s12 and prints lat2lon2S12 on standard output. This is the direct calculation.
-
-
-
With the -i command line argument, RhumbSolve performs the inverse calculation. It reads lines containing lat1lon1lat2lon2 and prints the values of azi12s12S12 for the corresponding shortest rhumb lines. If the end points are on opposite meridians, there are two shortest rhumb lines and the east-going one is chosen.
-
-
-
Command line arguments -Llat1lon1azi12 specify a rhumb line. RhumbSolve then accepts a sequence of s12 values (one per line) on standard input and prints lat2lon2S12 for each. This generates a sequence of points on a rhumb line.
-
-
-
-
-
OPTIONS
-
-
-
-
-i
-
-
-
perform an inverse calculation (see 2 above).
-
-
-
-Llat1lon1azi12
-
-
-
line mode (see 3 above); generate a sequence of points along the rhumb line specified by lat1lon1azi12. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -L. (-l is an alternative, deprecated, spelling of this flag.)
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-d
-
-
-
output angles as degrees, minutes, seconds instead of decimal degrees.
-
-
-
-:
-
-
-
like -d, except use : as a separator instead of the d, ', and " delimiters.
-
-
-
-w
-
-
-
on input and output, longitude precedes latitude (except that on input this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 3); prec is the precision relative to 1 m. See "PRECISION".
-
-
-
-s
-
-
-
By default, the rhumb line calculations are carried out exactly in terms of elliptic integrals. This includes the use of the addition theorem for elliptic integrals to compute the divided difference of the isometric and rectifying latitudes. If -s is supplied this divided difference is computed using Krueger series for the transverse Mercator projection which is only accurate for |f| < 0.01. See "ACCURACY".
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
INPUT
-
-
RhumbSolve measures all angles in degrees, all lengths (s12) in meters, and all areas (S12) in meters^2. On input angles (latitude, longitude, azimuth, arc length) can be as decimal degrees or degrees, minutes, seconds. For example, 40d30, 40d30', 40:30, 40.5d, and 40.5 are all equivalent. By default, latitude precedes longitude for each point (the -w flag switches this convention); however on input either may be given first by appending (or prepending) N or S to the latitude and E or W to the longitude. Azimuths are measured clockwise from north; however this may be overridden with E or W.
-
-
For details on the allowed formats for angles, see the GEOGRAPHIC COORDINATES section of GeoConvert(1).
-
-
PRECISION
-
-
prec gives precision of the output with prec = 0 giving 1 m precision, prec = 3 giving 1 mm precision, etc. prec is the number of digits after the decimal point for lengths. For decimal degrees, the number of digits after the decimal point is prec + 5. For DMS (degree, minute, seconds) output, the number of digits after the decimal point in the seconds component is prec + 1. The minimum value of prec is 0 and the maximum is 10.
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes RhumbSolve to return an exit code of 1. However, an error does not cause RhumbSolve to terminate; following lines will be converted.
-
-
ACCURACY
-
-
The algorithm used by RhumbSolve uses exact formulas for converting between the latitude, rectifying latitude (mu), and isometric latitude (psi). These formulas are accurate for any value of the flattening. The computation of rhumb lines involves the ratio (psi1 - psi2) / (mu1 - mu2) and this is subject to large round-off errors if lat1 is close to lat2. So this ratio is computed using divided differences using one of two methods: by default, this uses the addition theorem for elliptic integrals (accurate for all values of f); however, with the -s options, it is computed using the series expansions used by TransverseMercatorProj(1) for the conversions between rectifying and conformal latitudes (accurate for |f| < 0.01). For the WGS84 ellipsoid, the error is about 10 nanometers using either method.
-
-
EXAMPLES
-
-
Route from JFK Airport to Singapore Changi Airport:
Perform the transverse Mercator projections. Convert geodetic coordinates to transverse Mercator coordinates. The central meridian is given by lon0. The longitude of origin is the equator. The scale on the central meridian is k0. By default an implementation of the exact transverse Mercator projection is used.
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude and longitude (decimal degrees or degrees, minutes, seconds); for detils on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding projected easting, x, and northing, y, (meters) are printed on standard output together with the meridian convergence gamma (degrees) and scale k. The meridian convergence is the bearing of grid north (the y axis) measured clockwise from true north.
-
-
OPTIONS
-
-
-
-
-s
-
-
-
use the sixth-order Krueger series approximation to the transverse Mercator projection instead of the exact projection.
specify the longitude of origin lon0 (degrees, default 0).
-
-
-
-kk0
-
-
-
specify the scale k0 on the central meridian (default 0.9996).
-
-
-
-r
-
-
-
perform the reverse projection. x and y are given on standard input and each line of standard output gives latitude, longitude, gamma, and k.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563. If the exact algorithm is used, f must be positive.
-
-
-
-w
-
-
-
on input and output, longitude precedes latitude (except that on input this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for lengths (in meters). For latitudes and longitudes (in degrees), the number of digits after the decimal point is prec + 5. For the convergence (in degrees) and scale, the number of digits after the decimal point is prec + 6.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
EXTENDED DOMAIN
-
-
The exact transverse Mercator projection has a branch point on the equator at longitudes (relative to lon0) of +/- (1 - e) 90, where e is the eccentricity of the ellipsoid. The standard convention for handling this branch point is to map positive (negative) latitudes into positive (negative) northings y; i.e., a branch cut is placed on the equator. With the extended domain, the northern sheet of the projection is extended into the south hemisphere by pushing the branch cut south from the branch points. See the reference below for details.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes TransverseMercatorProj to return an exit code of 1. However, an error does not cause TransverseMercatorProj to terminate; following lines will be converted.
-
-
AUTHOR
-
-
TransverseMercatorProj was written by Charles Karney.
-
-
SEE ALSO
-
-
The algorithms for the transverse Mercator projection are described in C. F. F. Karney, Transverse Mercator with an accuracy of a few nanometers, J. Geodesy 85(8), 475-485 (Aug. 2011); DOI https://doi.org/10.1007/s00190-011-0445-3; preprint https://arxiv.org/abs/1002.1417. The explanation of the extended domain of the projection with the -t option is given in Section 5 of this paper.
-
-
HISTORY
-
-
TransverseMercatorProj was added to GeographicLib, https://geographiclib.sourceforge.io, in 2009-01. Prior to version 1.9 it was called TransverseMercatorTest (and its interface was slightly different).
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/doc/html/LICENSE.txt b/libs/GeographicLib-1.50.1/BUILD/doc/html/LICENSE.txt
deleted file mode 100644
index d1bcab1a0cf44d5c28266653ce12ab41b5cb2813..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/doc/html/LICENSE.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-The MIT License (MIT); this license applies to GeographicLib,
-versions 1.12 and later.
-
-Copyright (c) 2008-2019, Charles Karney
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use, copy,
-modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/libs/GeographicLib-1.50.1/BUILD/doc/html/index.html b/libs/GeographicLib-1.50.1/BUILD/doc/html/index.html
deleted file mode 100644
index 74960944c84ce33cd623f27e25b563953453dc2e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/doc/html/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- GeographicLib-1.50.1 documentation
-
-
-
-
-
-
- Online documentation for GeographicLib version
- 1.50.1 is available at
-
-
- You will be redirected there. Click on the link to go there
- directly.
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/examples/Makefile b/libs/GeographicLib-1.50.1/BUILD/examples/Makefile
deleted file mode 100644
index 29c09bce62d329cf3f4c24546ec2ebc255fa5b06..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/examples/Makefile
+++ /dev/null
@@ -1,2444 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/examples/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-examples/CMakeFiles/example-Utility.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Utility.dir/rule
-.PHONY : examples/CMakeFiles/example-Utility.dir/rule
-
-# Convenience name for target.
-example-Utility: examples/CMakeFiles/example-Utility.dir/rule
-
-.PHONY : example-Utility
-
-# fast build rule for target.
-example-Utility/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Utility.dir/build.make examples/CMakeFiles/example-Utility.dir/build
-.PHONY : example-Utility/fast
-
-# Convenience name for target.
-examples/CMakeFiles/GeoidToGTX.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/GeoidToGTX.dir/rule
-.PHONY : examples/CMakeFiles/GeoidToGTX.dir/rule
-
-# Convenience name for target.
-GeoidToGTX: examples/CMakeFiles/GeoidToGTX.dir/rule
-
-.PHONY : GeoidToGTX
-
-# fast build rule for target.
-GeoidToGTX/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/GeoidToGTX.dir/build.make examples/CMakeFiles/GeoidToGTX.dir/build
-.PHONY : GeoidToGTX/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-TransverseMercator.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-TransverseMercator.dir/rule
-.PHONY : examples/CMakeFiles/example-TransverseMercator.dir/rule
-
-# Convenience name for target.
-example-TransverseMercator: examples/CMakeFiles/example-TransverseMercator.dir/rule
-
-.PHONY : example-TransverseMercator
-
-# fast build rule for target.
-example-TransverseMercator/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercator.dir/build.make examples/CMakeFiles/example-TransverseMercator.dir/build
-.PHONY : example-TransverseMercator/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-SphericalHarmonic2.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-SphericalHarmonic2.dir/rule
-.PHONY : examples/CMakeFiles/example-SphericalHarmonic2.dir/rule
-
-# Convenience name for target.
-example-SphericalHarmonic2: examples/CMakeFiles/example-SphericalHarmonic2.dir/rule
-
-.PHONY : example-SphericalHarmonic2
-
-# fast build rule for target.
-example-SphericalHarmonic2/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic2.dir/build.make examples/CMakeFiles/example-SphericalHarmonic2.dir/build
-.PHONY : example-SphericalHarmonic2/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-SphericalHarmonic1.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-SphericalHarmonic1.dir/rule
-.PHONY : examples/CMakeFiles/example-SphericalHarmonic1.dir/rule
-
-# Convenience name for target.
-example-SphericalHarmonic1: examples/CMakeFiles/example-SphericalHarmonic1.dir/rule
-
-.PHONY : example-SphericalHarmonic1
-
-# fast build rule for target.
-example-SphericalHarmonic1/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic1.dir/build.make examples/CMakeFiles/example-SphericalHarmonic1.dir/build
-.PHONY : example-SphericalHarmonic1/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-SphericalEngine.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-SphericalEngine.dir/rule
-.PHONY : examples/CMakeFiles/example-SphericalEngine.dir/rule
-
-# Convenience name for target.
-example-SphericalEngine: examples/CMakeFiles/example-SphericalEngine.dir/rule
-
-.PHONY : example-SphericalEngine
-
-# fast build rule for target.
-example-SphericalEngine/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalEngine.dir/build.make examples/CMakeFiles/example-SphericalEngine.dir/build
-.PHONY : example-SphericalEngine/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-RhumbLine.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-RhumbLine.dir/rule
-.PHONY : examples/CMakeFiles/example-RhumbLine.dir/rule
-
-# Convenience name for target.
-example-RhumbLine: examples/CMakeFiles/example-RhumbLine.dir/rule
-
-.PHONY : example-RhumbLine
-
-# fast build rule for target.
-example-RhumbLine/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-RhumbLine.dir/build.make examples/CMakeFiles/example-RhumbLine.dir/build
-.PHONY : example-RhumbLine/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Geodesic-small.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Geodesic-small.dir/rule
-.PHONY : examples/CMakeFiles/example-Geodesic-small.dir/rule
-
-# Convenience name for target.
-example-Geodesic-small: examples/CMakeFiles/example-Geodesic-small.dir/rule
-
-.PHONY : example-Geodesic-small
-
-# fast build rule for target.
-example-Geodesic-small/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic-small.dir/build.make examples/CMakeFiles/example-Geodesic-small.dir/build
-.PHONY : example-Geodesic-small/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GeoCoords.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GeoCoords.dir/rule
-.PHONY : examples/CMakeFiles/example-GeoCoords.dir/rule
-
-# Convenience name for target.
-example-GeoCoords: examples/CMakeFiles/example-GeoCoords.dir/rule
-
-.PHONY : example-GeoCoords
-
-# fast build rule for target.
-example-GeoCoords/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeoCoords.dir/build.make examples/CMakeFiles/example-GeoCoords.dir/build
-.PHONY : example-GeoCoords/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-EllipticFunction.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-EllipticFunction.dir/rule
-.PHONY : examples/CMakeFiles/example-EllipticFunction.dir/rule
-
-# Convenience name for target.
-example-EllipticFunction: examples/CMakeFiles/example-EllipticFunction.dir/rule
-
-.PHONY : example-EllipticFunction
-
-# fast build rule for target.
-example-EllipticFunction/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-EllipticFunction.dir/build.make examples/CMakeFiles/example-EllipticFunction.dir/build
-.PHONY : example-EllipticFunction/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GravityCircle.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GravityCircle.dir/rule
-.PHONY : examples/CMakeFiles/example-GravityCircle.dir/rule
-
-# Convenience name for target.
-example-GravityCircle: examples/CMakeFiles/example-GravityCircle.dir/rule
-
-.PHONY : example-GravityCircle
-
-# fast build rule for target.
-example-GravityCircle/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityCircle.dir/build.make examples/CMakeFiles/example-GravityCircle.dir/build
-.PHONY : example-GravityCircle/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-MGRS.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-MGRS.dir/rule
-.PHONY : examples/CMakeFiles/example-MGRS.dir/rule
-
-# Convenience name for target.
-example-MGRS: examples/CMakeFiles/example-MGRS.dir/rule
-
-.PHONY : example-MGRS
-
-# fast build rule for target.
-example-MGRS/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MGRS.dir/build.make examples/CMakeFiles/example-MGRS.dir/build
-.PHONY : example-MGRS/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Ellipsoid.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Ellipsoid.dir/rule
-.PHONY : examples/CMakeFiles/example-Ellipsoid.dir/rule
-
-# Convenience name for target.
-example-Ellipsoid: examples/CMakeFiles/example-Ellipsoid.dir/rule
-
-.PHONY : example-Ellipsoid
-
-# fast build rule for target.
-example-Ellipsoid/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Ellipsoid.dir/build.make examples/CMakeFiles/example-Ellipsoid.dir/build
-.PHONY : example-Ellipsoid/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-DMS.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-DMS.dir/rule
-.PHONY : examples/CMakeFiles/example-DMS.dir/rule
-
-# Convenience name for target.
-example-DMS: examples/CMakeFiles/example-DMS.dir/rule
-
-.PHONY : example-DMS
-
-# fast build rule for target.
-example-DMS/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-DMS.dir/build.make examples/CMakeFiles/example-DMS.dir/build
-.PHONY : example-DMS/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GeodesicExact.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GeodesicExact.dir/rule
-.PHONY : examples/CMakeFiles/example-GeodesicExact.dir/rule
-
-# Convenience name for target.
-example-GeodesicExact: examples/CMakeFiles/example-GeodesicExact.dir/rule
-
-.PHONY : example-GeodesicExact
-
-# fast build rule for target.
-example-GeodesicExact/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicExact.dir/build.make examples/CMakeFiles/example-GeodesicExact.dir/build
-.PHONY : example-GeodesicExact/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-SphericalHarmonic.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-SphericalHarmonic.dir/rule
-.PHONY : examples/CMakeFiles/example-SphericalHarmonic.dir/rule
-
-# Convenience name for target.
-example-SphericalHarmonic: examples/CMakeFiles/example-SphericalHarmonic.dir/rule
-
-.PHONY : example-SphericalHarmonic
-
-# fast build rule for target.
-example-SphericalHarmonic/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic.dir/build.make examples/CMakeFiles/example-SphericalHarmonic.dir/build
-.PHONY : example-SphericalHarmonic/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-AlbersEqualArea.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-AlbersEqualArea.dir/rule
-.PHONY : examples/CMakeFiles/example-AlbersEqualArea.dir/rule
-
-# Convenience name for target.
-example-AlbersEqualArea: examples/CMakeFiles/example-AlbersEqualArea.dir/rule
-
-.PHONY : example-AlbersEqualArea
-
-# fast build rule for target.
-example-AlbersEqualArea/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AlbersEqualArea.dir/build.make examples/CMakeFiles/example-AlbersEqualArea.dir/build
-.PHONY : example-AlbersEqualArea/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GARS.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GARS.dir/rule
-.PHONY : examples/CMakeFiles/example-GARS.dir/rule
-
-# Convenience name for target.
-example-GARS: examples/CMakeFiles/example-GARS.dir/rule
-
-.PHONY : example-GARS
-
-# fast build rule for target.
-example-GARS/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GARS.dir/build.make examples/CMakeFiles/example-GARS.dir/build
-.PHONY : example-GARS/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Geohash.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Geohash.dir/rule
-.PHONY : examples/CMakeFiles/example-Geohash.dir/rule
-
-# Convenience name for target.
-example-Geohash: examples/CMakeFiles/example-Geohash.dir/rule
-
-.PHONY : example-Geohash
-
-# fast build rule for target.
-example-Geohash/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geohash.dir/build.make examples/CMakeFiles/example-Geohash.dir/build
-.PHONY : example-Geohash/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-CircularEngine.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-CircularEngine.dir/rule
-.PHONY : examples/CMakeFiles/example-CircularEngine.dir/rule
-
-# Convenience name for target.
-example-CircularEngine: examples/CMakeFiles/example-CircularEngine.dir/rule
-
-.PHONY : example-CircularEngine
-
-# fast build rule for target.
-example-CircularEngine/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CircularEngine.dir/build.make examples/CMakeFiles/example-CircularEngine.dir/build
-.PHONY : example-CircularEngine/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-AzimuthalEquidistant.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-AzimuthalEquidistant.dir/rule
-.PHONY : examples/CMakeFiles/example-AzimuthalEquidistant.dir/rule
-
-# Convenience name for target.
-example-AzimuthalEquidistant: examples/CMakeFiles/example-AzimuthalEquidistant.dir/rule
-
-.PHONY : example-AzimuthalEquidistant
-
-# fast build rule for target.
-example-AzimuthalEquidistant/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AzimuthalEquidistant.dir/build.make examples/CMakeFiles/example-AzimuthalEquidistant.dir/build
-.PHONY : example-AzimuthalEquidistant/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-UTMUPS.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-UTMUPS.dir/rule
-.PHONY : examples/CMakeFiles/example-UTMUPS.dir/rule
-
-# Convenience name for target.
-example-UTMUPS: examples/CMakeFiles/example-UTMUPS.dir/rule
-
-.PHONY : example-UTMUPS
-
-# fast build rule for target.
-example-UTMUPS/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-UTMUPS.dir/build.make examples/CMakeFiles/example-UTMUPS.dir/build
-.PHONY : example-UTMUPS/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Geodesic.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Geodesic.dir/rule
-.PHONY : examples/CMakeFiles/example-Geodesic.dir/rule
-
-# Convenience name for target.
-example-Geodesic: examples/CMakeFiles/example-Geodesic.dir/rule
-
-.PHONY : example-Geodesic
-
-# fast build rule for target.
-example-Geodesic/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic.dir/build.make examples/CMakeFiles/example-Geodesic.dir/build
-.PHONY : example-Geodesic/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Geocentric.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Geocentric.dir/rule
-.PHONY : examples/CMakeFiles/example-Geocentric.dir/rule
-
-# Convenience name for target.
-example-Geocentric: examples/CMakeFiles/example-Geocentric.dir/rule
-
-.PHONY : example-Geocentric
-
-# fast build rule for target.
-example-Geocentric/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geocentric.dir/build.make examples/CMakeFiles/example-Geocentric.dir/build
-.PHONY : example-Geocentric/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-TransverseMercatorExact.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-TransverseMercatorExact.dir/rule
-.PHONY : examples/CMakeFiles/example-TransverseMercatorExact.dir/rule
-
-# Convenience name for target.
-example-TransverseMercatorExact: examples/CMakeFiles/example-TransverseMercatorExact.dir/rule
-
-.PHONY : example-TransverseMercatorExact
-
-# fast build rule for target.
-example-TransverseMercatorExact/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercatorExact.dir/build.make examples/CMakeFiles/example-TransverseMercatorExact.dir/build
-.PHONY : example-TransverseMercatorExact/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Math.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Math.dir/rule
-.PHONY : examples/CMakeFiles/example-Math.dir/rule
-
-# Convenience name for target.
-example-Math: examples/CMakeFiles/example-Math.dir/rule
-
-.PHONY : example-Math
-
-# fast build rule for target.
-example-Math/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Math.dir/build.make examples/CMakeFiles/example-Math.dir/build
-.PHONY : example-Math/fast
-
-# Convenience name for target.
-examples/CMakeFiles/exampleprograms.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/exampleprograms.dir/rule
-.PHONY : examples/CMakeFiles/exampleprograms.dir/rule
-
-# Convenience name for target.
-exampleprograms: examples/CMakeFiles/exampleprograms.dir/rule
-
-.PHONY : exampleprograms
-
-# fast build rule for target.
-exampleprograms/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/exampleprograms.dir/build.make examples/CMakeFiles/exampleprograms.dir/build
-.PHONY : exampleprograms/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-PolygonArea.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-PolygonArea.dir/rule
-.PHONY : examples/CMakeFiles/example-PolygonArea.dir/rule
-
-# Convenience name for target.
-example-PolygonArea: examples/CMakeFiles/example-PolygonArea.dir/rule
-
-.PHONY : example-PolygonArea
-
-# fast build rule for target.
-example-PolygonArea/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolygonArea.dir/build.make examples/CMakeFiles/example-PolygonArea.dir/build
-.PHONY : example-PolygonArea/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GeodesicLineExact.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GeodesicLineExact.dir/rule
-.PHONY : examples/CMakeFiles/example-GeodesicLineExact.dir/rule
-
-# Convenience name for target.
-example-GeodesicLineExact: examples/CMakeFiles/example-GeodesicLineExact.dir/rule
-
-.PHONY : example-GeodesicLineExact
-
-# fast build rule for target.
-example-GeodesicLineExact/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLineExact.dir/build.make examples/CMakeFiles/example-GeodesicLineExact.dir/build
-.PHONY : example-GeodesicLineExact/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Accumulator.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Accumulator.dir/rule
-.PHONY : examples/CMakeFiles/example-Accumulator.dir/rule
-
-# Convenience name for target.
-example-Accumulator: examples/CMakeFiles/example-Accumulator.dir/rule
-
-.PHONY : example-Accumulator
-
-# fast build rule for target.
-example-Accumulator/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Accumulator.dir/build.make examples/CMakeFiles/example-Accumulator.dir/build
-.PHONY : example-Accumulator/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-MagneticModel.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-MagneticModel.dir/rule
-.PHONY : examples/CMakeFiles/example-MagneticModel.dir/rule
-
-# Convenience name for target.
-example-MagneticModel: examples/CMakeFiles/example-MagneticModel.dir/rule
-
-.PHONY : example-MagneticModel
-
-# fast build rule for target.
-example-MagneticModel/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticModel.dir/build.make examples/CMakeFiles/example-MagneticModel.dir/build
-.PHONY : example-MagneticModel/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GeographicErr.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GeographicErr.dir/rule
-.PHONY : examples/CMakeFiles/example-GeographicErr.dir/rule
-
-# Convenience name for target.
-example-GeographicErr: examples/CMakeFiles/example-GeographicErr.dir/rule
-
-.PHONY : example-GeographicErr
-
-# fast build rule for target.
-example-GeographicErr/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeographicErr.dir/build.make examples/CMakeFiles/example-GeographicErr.dir/build
-.PHONY : example-GeographicErr/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Georef.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Georef.dir/rule
-.PHONY : examples/CMakeFiles/example-Georef.dir/rule
-
-# Convenience name for target.
-example-Georef: examples/CMakeFiles/example-Georef.dir/rule
-
-.PHONY : example-Georef
-
-# fast build rule for target.
-example-Georef/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Georef.dir/build.make examples/CMakeFiles/example-Georef.dir/build
-.PHONY : example-Georef/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-NormalGravity.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-NormalGravity.dir/rule
-.PHONY : examples/CMakeFiles/example-NormalGravity.dir/rule
-
-# Convenience name for target.
-example-NormalGravity: examples/CMakeFiles/example-NormalGravity.dir/rule
-
-.PHONY : example-NormalGravity
-
-# fast build rule for target.
-example-NormalGravity/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NormalGravity.dir/build.make examples/CMakeFiles/example-NormalGravity.dir/build
-.PHONY : example-NormalGravity/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Gnomonic.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Gnomonic.dir/rule
-.PHONY : examples/CMakeFiles/example-Gnomonic.dir/rule
-
-# Convenience name for target.
-example-Gnomonic: examples/CMakeFiles/example-Gnomonic.dir/rule
-
-.PHONY : example-Gnomonic
-
-# fast build rule for target.
-example-Gnomonic/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Gnomonic.dir/build.make examples/CMakeFiles/example-Gnomonic.dir/build
-.PHONY : example-Gnomonic/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-CassiniSoldner.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-CassiniSoldner.dir/rule
-.PHONY : examples/CMakeFiles/example-CassiniSoldner.dir/rule
-
-# Convenience name for target.
-example-CassiniSoldner: examples/CMakeFiles/example-CassiniSoldner.dir/rule
-
-.PHONY : example-CassiniSoldner
-
-# fast build rule for target.
-example-CassiniSoldner/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CassiniSoldner.dir/build.make examples/CMakeFiles/example-CassiniSoldner.dir/build
-.PHONY : example-CassiniSoldner/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GravityModel.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GravityModel.dir/rule
-.PHONY : examples/CMakeFiles/example-GravityModel.dir/rule
-
-# Convenience name for target.
-example-GravityModel: examples/CMakeFiles/example-GravityModel.dir/rule
-
-.PHONY : example-GravityModel
-
-# fast build rule for target.
-example-GravityModel/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityModel.dir/build.make examples/CMakeFiles/example-GravityModel.dir/build
-.PHONY : example-GravityModel/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-LambertConformalConic.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-LambertConformalConic.dir/rule
-.PHONY : examples/CMakeFiles/example-LambertConformalConic.dir/rule
-
-# Convenience name for target.
-example-LambertConformalConic: examples/CMakeFiles/example-LambertConformalConic.dir/rule
-
-.PHONY : example-LambertConformalConic
-
-# fast build rule for target.
-example-LambertConformalConic/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LambertConformalConic.dir/build.make examples/CMakeFiles/example-LambertConformalConic.dir/build
-.PHONY : example-LambertConformalConic/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Constants.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Constants.dir/rule
-.PHONY : examples/CMakeFiles/example-Constants.dir/rule
-
-# Convenience name for target.
-example-Constants: examples/CMakeFiles/example-Constants.dir/rule
-
-.PHONY : example-Constants
-
-# fast build rule for target.
-example-Constants/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Constants.dir/build.make examples/CMakeFiles/example-Constants.dir/build
-.PHONY : example-Constants/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Geoid.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Geoid.dir/rule
-.PHONY : examples/CMakeFiles/example-Geoid.dir/rule
-
-# Convenience name for target.
-example-Geoid: examples/CMakeFiles/example-Geoid.dir/rule
-
-.PHONY : example-Geoid
-
-# fast build rule for target.
-example-Geoid/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geoid.dir/build.make examples/CMakeFiles/example-Geoid.dir/build
-.PHONY : example-Geoid/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-PolarStereographic.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-PolarStereographic.dir/rule
-.PHONY : examples/CMakeFiles/example-PolarStereographic.dir/rule
-
-# Convenience name for target.
-example-PolarStereographic: examples/CMakeFiles/example-PolarStereographic.dir/rule
-
-.PHONY : example-PolarStereographic
-
-# fast build rule for target.
-example-PolarStereographic/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolarStereographic.dir/build.make examples/CMakeFiles/example-PolarStereographic.dir/build
-.PHONY : example-PolarStereographic/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-LocalCartesian.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-LocalCartesian.dir/rule
-.PHONY : examples/CMakeFiles/example-LocalCartesian.dir/rule
-
-# Convenience name for target.
-example-LocalCartesian: examples/CMakeFiles/example-LocalCartesian.dir/rule
-
-.PHONY : example-LocalCartesian
-
-# fast build rule for target.
-example-LocalCartesian/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LocalCartesian.dir/build.make examples/CMakeFiles/example-LocalCartesian.dir/build
-.PHONY : example-LocalCartesian/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-MagneticCircle.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-MagneticCircle.dir/rule
-.PHONY : examples/CMakeFiles/example-MagneticCircle.dir/rule
-
-# Convenience name for target.
-example-MagneticCircle: examples/CMakeFiles/example-MagneticCircle.dir/rule
-
-.PHONY : example-MagneticCircle
-
-# fast build rule for target.
-example-MagneticCircle/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticCircle.dir/build.make examples/CMakeFiles/example-MagneticCircle.dir/build
-.PHONY : example-MagneticCircle/fast
-
-# Convenience name for target.
-examples/CMakeFiles/JacobiConformal.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/JacobiConformal.dir/rule
-.PHONY : examples/CMakeFiles/JacobiConformal.dir/rule
-
-# Convenience name for target.
-JacobiConformal: examples/CMakeFiles/JacobiConformal.dir/rule
-
-.PHONY : JacobiConformal
-
-# fast build rule for target.
-JacobiConformal/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/JacobiConformal.dir/build.make examples/CMakeFiles/JacobiConformal.dir/build
-.PHONY : JacobiConformal/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-GeodesicLine.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-GeodesicLine.dir/rule
-.PHONY : examples/CMakeFiles/example-GeodesicLine.dir/rule
-
-# Convenience name for target.
-example-GeodesicLine: examples/CMakeFiles/example-GeodesicLine.dir/rule
-
-.PHONY : example-GeodesicLine
-
-# fast build rule for target.
-example-GeodesicLine/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLine.dir/build.make examples/CMakeFiles/example-GeodesicLine.dir/build
-.PHONY : example-GeodesicLine/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-NearestNeighbor.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-NearestNeighbor.dir/rule
-.PHONY : examples/CMakeFiles/example-NearestNeighbor.dir/rule
-
-# Convenience name for target.
-example-NearestNeighbor: examples/CMakeFiles/example-NearestNeighbor.dir/rule
-
-.PHONY : example-NearestNeighbor
-
-# fast build rule for target.
-example-NearestNeighbor/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NearestNeighbor.dir/build.make examples/CMakeFiles/example-NearestNeighbor.dir/build
-.PHONY : example-NearestNeighbor/fast
-
-# Convenience name for target.
-examples/CMakeFiles/make-egmcof.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/make-egmcof.dir/rule
-.PHONY : examples/CMakeFiles/make-egmcof.dir/rule
-
-# Convenience name for target.
-make-egmcof: examples/CMakeFiles/make-egmcof.dir/rule
-
-.PHONY : make-egmcof
-
-# fast build rule for target.
-make-egmcof/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/make-egmcof.dir/build.make examples/CMakeFiles/make-egmcof.dir/build
-.PHONY : make-egmcof/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-OSGB.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-OSGB.dir/rule
-.PHONY : examples/CMakeFiles/example-OSGB.dir/rule
-
-# Convenience name for target.
-example-OSGB: examples/CMakeFiles/example-OSGB.dir/rule
-
-.PHONY : example-OSGB
-
-# fast build rule for target.
-example-OSGB/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-OSGB.dir/build.make examples/CMakeFiles/example-OSGB.dir/build
-.PHONY : example-OSGB/fast
-
-# Convenience name for target.
-examples/CMakeFiles/example-Rhumb.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 examples/CMakeFiles/example-Rhumb.dir/rule
-.PHONY : examples/CMakeFiles/example-Rhumb.dir/rule
-
-# Convenience name for target.
-example-Rhumb: examples/CMakeFiles/example-Rhumb.dir/rule
-
-.PHONY : example-Rhumb
-
-# fast build rule for target.
-example-Rhumb/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Rhumb.dir/build.make examples/CMakeFiles/example-Rhumb.dir/build
-.PHONY : example-Rhumb/fast
-
-GeoidToGTX.o: GeoidToGTX.cpp.o
-
-.PHONY : GeoidToGTX.o
-
-# target to build an object file
-GeoidToGTX.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/GeoidToGTX.dir/build.make examples/CMakeFiles/GeoidToGTX.dir/GeoidToGTX.cpp.o
-.PHONY : GeoidToGTX.cpp.o
-
-GeoidToGTX.i: GeoidToGTX.cpp.i
-
-.PHONY : GeoidToGTX.i
-
-# target to preprocess a source file
-GeoidToGTX.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/GeoidToGTX.dir/build.make examples/CMakeFiles/GeoidToGTX.dir/GeoidToGTX.cpp.i
-.PHONY : GeoidToGTX.cpp.i
-
-GeoidToGTX.s: GeoidToGTX.cpp.s
-
-.PHONY : GeoidToGTX.s
-
-# target to generate assembly for a file
-GeoidToGTX.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/GeoidToGTX.dir/build.make examples/CMakeFiles/GeoidToGTX.dir/GeoidToGTX.cpp.s
-.PHONY : GeoidToGTX.cpp.s
-
-JacobiConformal.o: JacobiConformal.cpp.o
-
-.PHONY : JacobiConformal.o
-
-# target to build an object file
-JacobiConformal.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/JacobiConformal.dir/build.make examples/CMakeFiles/JacobiConformal.dir/JacobiConformal.cpp.o
-.PHONY : JacobiConformal.cpp.o
-
-JacobiConformal.i: JacobiConformal.cpp.i
-
-.PHONY : JacobiConformal.i
-
-# target to preprocess a source file
-JacobiConformal.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/JacobiConformal.dir/build.make examples/CMakeFiles/JacobiConformal.dir/JacobiConformal.cpp.i
-.PHONY : JacobiConformal.cpp.i
-
-JacobiConformal.s: JacobiConformal.cpp.s
-
-.PHONY : JacobiConformal.s
-
-# target to generate assembly for a file
-JacobiConformal.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/JacobiConformal.dir/build.make examples/CMakeFiles/JacobiConformal.dir/JacobiConformal.cpp.s
-.PHONY : JacobiConformal.cpp.s
-
-example-Accumulator.o: example-Accumulator.cpp.o
-
-.PHONY : example-Accumulator.o
-
-# target to build an object file
-example-Accumulator.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Accumulator.dir/build.make examples/CMakeFiles/example-Accumulator.dir/example-Accumulator.cpp.o
-.PHONY : example-Accumulator.cpp.o
-
-example-Accumulator.i: example-Accumulator.cpp.i
-
-.PHONY : example-Accumulator.i
-
-# target to preprocess a source file
-example-Accumulator.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Accumulator.dir/build.make examples/CMakeFiles/example-Accumulator.dir/example-Accumulator.cpp.i
-.PHONY : example-Accumulator.cpp.i
-
-example-Accumulator.s: example-Accumulator.cpp.s
-
-.PHONY : example-Accumulator.s
-
-# target to generate assembly for a file
-example-Accumulator.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Accumulator.dir/build.make examples/CMakeFiles/example-Accumulator.dir/example-Accumulator.cpp.s
-.PHONY : example-Accumulator.cpp.s
-
-example-AlbersEqualArea.o: example-AlbersEqualArea.cpp.o
-
-.PHONY : example-AlbersEqualArea.o
-
-# target to build an object file
-example-AlbersEqualArea.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AlbersEqualArea.dir/build.make examples/CMakeFiles/example-AlbersEqualArea.dir/example-AlbersEqualArea.cpp.o
-.PHONY : example-AlbersEqualArea.cpp.o
-
-example-AlbersEqualArea.i: example-AlbersEqualArea.cpp.i
-
-.PHONY : example-AlbersEqualArea.i
-
-# target to preprocess a source file
-example-AlbersEqualArea.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AlbersEqualArea.dir/build.make examples/CMakeFiles/example-AlbersEqualArea.dir/example-AlbersEqualArea.cpp.i
-.PHONY : example-AlbersEqualArea.cpp.i
-
-example-AlbersEqualArea.s: example-AlbersEqualArea.cpp.s
-
-.PHONY : example-AlbersEqualArea.s
-
-# target to generate assembly for a file
-example-AlbersEqualArea.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AlbersEqualArea.dir/build.make examples/CMakeFiles/example-AlbersEqualArea.dir/example-AlbersEqualArea.cpp.s
-.PHONY : example-AlbersEqualArea.cpp.s
-
-example-AzimuthalEquidistant.o: example-AzimuthalEquidistant.cpp.o
-
-.PHONY : example-AzimuthalEquidistant.o
-
-# target to build an object file
-example-AzimuthalEquidistant.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AzimuthalEquidistant.dir/build.make examples/CMakeFiles/example-AzimuthalEquidistant.dir/example-AzimuthalEquidistant.cpp.o
-.PHONY : example-AzimuthalEquidistant.cpp.o
-
-example-AzimuthalEquidistant.i: example-AzimuthalEquidistant.cpp.i
-
-.PHONY : example-AzimuthalEquidistant.i
-
-# target to preprocess a source file
-example-AzimuthalEquidistant.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AzimuthalEquidistant.dir/build.make examples/CMakeFiles/example-AzimuthalEquidistant.dir/example-AzimuthalEquidistant.cpp.i
-.PHONY : example-AzimuthalEquidistant.cpp.i
-
-example-AzimuthalEquidistant.s: example-AzimuthalEquidistant.cpp.s
-
-.PHONY : example-AzimuthalEquidistant.s
-
-# target to generate assembly for a file
-example-AzimuthalEquidistant.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-AzimuthalEquidistant.dir/build.make examples/CMakeFiles/example-AzimuthalEquidistant.dir/example-AzimuthalEquidistant.cpp.s
-.PHONY : example-AzimuthalEquidistant.cpp.s
-
-example-CassiniSoldner.o: example-CassiniSoldner.cpp.o
-
-.PHONY : example-CassiniSoldner.o
-
-# target to build an object file
-example-CassiniSoldner.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CassiniSoldner.dir/build.make examples/CMakeFiles/example-CassiniSoldner.dir/example-CassiniSoldner.cpp.o
-.PHONY : example-CassiniSoldner.cpp.o
-
-example-CassiniSoldner.i: example-CassiniSoldner.cpp.i
-
-.PHONY : example-CassiniSoldner.i
-
-# target to preprocess a source file
-example-CassiniSoldner.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CassiniSoldner.dir/build.make examples/CMakeFiles/example-CassiniSoldner.dir/example-CassiniSoldner.cpp.i
-.PHONY : example-CassiniSoldner.cpp.i
-
-example-CassiniSoldner.s: example-CassiniSoldner.cpp.s
-
-.PHONY : example-CassiniSoldner.s
-
-# target to generate assembly for a file
-example-CassiniSoldner.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CassiniSoldner.dir/build.make examples/CMakeFiles/example-CassiniSoldner.dir/example-CassiniSoldner.cpp.s
-.PHONY : example-CassiniSoldner.cpp.s
-
-example-CircularEngine.o: example-CircularEngine.cpp.o
-
-.PHONY : example-CircularEngine.o
-
-# target to build an object file
-example-CircularEngine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CircularEngine.dir/build.make examples/CMakeFiles/example-CircularEngine.dir/example-CircularEngine.cpp.o
-.PHONY : example-CircularEngine.cpp.o
-
-example-CircularEngine.i: example-CircularEngine.cpp.i
-
-.PHONY : example-CircularEngine.i
-
-# target to preprocess a source file
-example-CircularEngine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CircularEngine.dir/build.make examples/CMakeFiles/example-CircularEngine.dir/example-CircularEngine.cpp.i
-.PHONY : example-CircularEngine.cpp.i
-
-example-CircularEngine.s: example-CircularEngine.cpp.s
-
-.PHONY : example-CircularEngine.s
-
-# target to generate assembly for a file
-example-CircularEngine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-CircularEngine.dir/build.make examples/CMakeFiles/example-CircularEngine.dir/example-CircularEngine.cpp.s
-.PHONY : example-CircularEngine.cpp.s
-
-example-Constants.o: example-Constants.cpp.o
-
-.PHONY : example-Constants.o
-
-# target to build an object file
-example-Constants.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Constants.dir/build.make examples/CMakeFiles/example-Constants.dir/example-Constants.cpp.o
-.PHONY : example-Constants.cpp.o
-
-example-Constants.i: example-Constants.cpp.i
-
-.PHONY : example-Constants.i
-
-# target to preprocess a source file
-example-Constants.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Constants.dir/build.make examples/CMakeFiles/example-Constants.dir/example-Constants.cpp.i
-.PHONY : example-Constants.cpp.i
-
-example-Constants.s: example-Constants.cpp.s
-
-.PHONY : example-Constants.s
-
-# target to generate assembly for a file
-example-Constants.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Constants.dir/build.make examples/CMakeFiles/example-Constants.dir/example-Constants.cpp.s
-.PHONY : example-Constants.cpp.s
-
-example-DMS.o: example-DMS.cpp.o
-
-.PHONY : example-DMS.o
-
-# target to build an object file
-example-DMS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-DMS.dir/build.make examples/CMakeFiles/example-DMS.dir/example-DMS.cpp.o
-.PHONY : example-DMS.cpp.o
-
-example-DMS.i: example-DMS.cpp.i
-
-.PHONY : example-DMS.i
-
-# target to preprocess a source file
-example-DMS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-DMS.dir/build.make examples/CMakeFiles/example-DMS.dir/example-DMS.cpp.i
-.PHONY : example-DMS.cpp.i
-
-example-DMS.s: example-DMS.cpp.s
-
-.PHONY : example-DMS.s
-
-# target to generate assembly for a file
-example-DMS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-DMS.dir/build.make examples/CMakeFiles/example-DMS.dir/example-DMS.cpp.s
-.PHONY : example-DMS.cpp.s
-
-example-Ellipsoid.o: example-Ellipsoid.cpp.o
-
-.PHONY : example-Ellipsoid.o
-
-# target to build an object file
-example-Ellipsoid.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Ellipsoid.dir/build.make examples/CMakeFiles/example-Ellipsoid.dir/example-Ellipsoid.cpp.o
-.PHONY : example-Ellipsoid.cpp.o
-
-example-Ellipsoid.i: example-Ellipsoid.cpp.i
-
-.PHONY : example-Ellipsoid.i
-
-# target to preprocess a source file
-example-Ellipsoid.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Ellipsoid.dir/build.make examples/CMakeFiles/example-Ellipsoid.dir/example-Ellipsoid.cpp.i
-.PHONY : example-Ellipsoid.cpp.i
-
-example-Ellipsoid.s: example-Ellipsoid.cpp.s
-
-.PHONY : example-Ellipsoid.s
-
-# target to generate assembly for a file
-example-Ellipsoid.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Ellipsoid.dir/build.make examples/CMakeFiles/example-Ellipsoid.dir/example-Ellipsoid.cpp.s
-.PHONY : example-Ellipsoid.cpp.s
-
-example-EllipticFunction.o: example-EllipticFunction.cpp.o
-
-.PHONY : example-EllipticFunction.o
-
-# target to build an object file
-example-EllipticFunction.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-EllipticFunction.dir/build.make examples/CMakeFiles/example-EllipticFunction.dir/example-EllipticFunction.cpp.o
-.PHONY : example-EllipticFunction.cpp.o
-
-example-EllipticFunction.i: example-EllipticFunction.cpp.i
-
-.PHONY : example-EllipticFunction.i
-
-# target to preprocess a source file
-example-EllipticFunction.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-EllipticFunction.dir/build.make examples/CMakeFiles/example-EllipticFunction.dir/example-EllipticFunction.cpp.i
-.PHONY : example-EllipticFunction.cpp.i
-
-example-EllipticFunction.s: example-EllipticFunction.cpp.s
-
-.PHONY : example-EllipticFunction.s
-
-# target to generate assembly for a file
-example-EllipticFunction.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-EllipticFunction.dir/build.make examples/CMakeFiles/example-EllipticFunction.dir/example-EllipticFunction.cpp.s
-.PHONY : example-EllipticFunction.cpp.s
-
-example-GARS.o: example-GARS.cpp.o
-
-.PHONY : example-GARS.o
-
-# target to build an object file
-example-GARS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GARS.dir/build.make examples/CMakeFiles/example-GARS.dir/example-GARS.cpp.o
-.PHONY : example-GARS.cpp.o
-
-example-GARS.i: example-GARS.cpp.i
-
-.PHONY : example-GARS.i
-
-# target to preprocess a source file
-example-GARS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GARS.dir/build.make examples/CMakeFiles/example-GARS.dir/example-GARS.cpp.i
-.PHONY : example-GARS.cpp.i
-
-example-GARS.s: example-GARS.cpp.s
-
-.PHONY : example-GARS.s
-
-# target to generate assembly for a file
-example-GARS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GARS.dir/build.make examples/CMakeFiles/example-GARS.dir/example-GARS.cpp.s
-.PHONY : example-GARS.cpp.s
-
-example-GeoCoords.o: example-GeoCoords.cpp.o
-
-.PHONY : example-GeoCoords.o
-
-# target to build an object file
-example-GeoCoords.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeoCoords.dir/build.make examples/CMakeFiles/example-GeoCoords.dir/example-GeoCoords.cpp.o
-.PHONY : example-GeoCoords.cpp.o
-
-example-GeoCoords.i: example-GeoCoords.cpp.i
-
-.PHONY : example-GeoCoords.i
-
-# target to preprocess a source file
-example-GeoCoords.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeoCoords.dir/build.make examples/CMakeFiles/example-GeoCoords.dir/example-GeoCoords.cpp.i
-.PHONY : example-GeoCoords.cpp.i
-
-example-GeoCoords.s: example-GeoCoords.cpp.s
-
-.PHONY : example-GeoCoords.s
-
-# target to generate assembly for a file
-example-GeoCoords.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeoCoords.dir/build.make examples/CMakeFiles/example-GeoCoords.dir/example-GeoCoords.cpp.s
-.PHONY : example-GeoCoords.cpp.s
-
-example-Geocentric.o: example-Geocentric.cpp.o
-
-.PHONY : example-Geocentric.o
-
-# target to build an object file
-example-Geocentric.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geocentric.dir/build.make examples/CMakeFiles/example-Geocentric.dir/example-Geocentric.cpp.o
-.PHONY : example-Geocentric.cpp.o
-
-example-Geocentric.i: example-Geocentric.cpp.i
-
-.PHONY : example-Geocentric.i
-
-# target to preprocess a source file
-example-Geocentric.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geocentric.dir/build.make examples/CMakeFiles/example-Geocentric.dir/example-Geocentric.cpp.i
-.PHONY : example-Geocentric.cpp.i
-
-example-Geocentric.s: example-Geocentric.cpp.s
-
-.PHONY : example-Geocentric.s
-
-# target to generate assembly for a file
-example-Geocentric.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geocentric.dir/build.make examples/CMakeFiles/example-Geocentric.dir/example-Geocentric.cpp.s
-.PHONY : example-Geocentric.cpp.s
-
-example-Geodesic-small.o: example-Geodesic-small.cpp.o
-
-.PHONY : example-Geodesic-small.o
-
-# target to build an object file
-example-Geodesic-small.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic-small.dir/build.make examples/CMakeFiles/example-Geodesic-small.dir/example-Geodesic-small.cpp.o
-.PHONY : example-Geodesic-small.cpp.o
-
-example-Geodesic-small.i: example-Geodesic-small.cpp.i
-
-.PHONY : example-Geodesic-small.i
-
-# target to preprocess a source file
-example-Geodesic-small.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic-small.dir/build.make examples/CMakeFiles/example-Geodesic-small.dir/example-Geodesic-small.cpp.i
-.PHONY : example-Geodesic-small.cpp.i
-
-example-Geodesic-small.s: example-Geodesic-small.cpp.s
-
-.PHONY : example-Geodesic-small.s
-
-# target to generate assembly for a file
-example-Geodesic-small.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic-small.dir/build.make examples/CMakeFiles/example-Geodesic-small.dir/example-Geodesic-small.cpp.s
-.PHONY : example-Geodesic-small.cpp.s
-
-example-Geodesic.o: example-Geodesic.cpp.o
-
-.PHONY : example-Geodesic.o
-
-# target to build an object file
-example-Geodesic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic.dir/build.make examples/CMakeFiles/example-Geodesic.dir/example-Geodesic.cpp.o
-.PHONY : example-Geodesic.cpp.o
-
-example-Geodesic.i: example-Geodesic.cpp.i
-
-.PHONY : example-Geodesic.i
-
-# target to preprocess a source file
-example-Geodesic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic.dir/build.make examples/CMakeFiles/example-Geodesic.dir/example-Geodesic.cpp.i
-.PHONY : example-Geodesic.cpp.i
-
-example-Geodesic.s: example-Geodesic.cpp.s
-
-.PHONY : example-Geodesic.s
-
-# target to generate assembly for a file
-example-Geodesic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geodesic.dir/build.make examples/CMakeFiles/example-Geodesic.dir/example-Geodesic.cpp.s
-.PHONY : example-Geodesic.cpp.s
-
-example-GeodesicExact.o: example-GeodesicExact.cpp.o
-
-.PHONY : example-GeodesicExact.o
-
-# target to build an object file
-example-GeodesicExact.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicExact.dir/build.make examples/CMakeFiles/example-GeodesicExact.dir/example-GeodesicExact.cpp.o
-.PHONY : example-GeodesicExact.cpp.o
-
-example-GeodesicExact.i: example-GeodesicExact.cpp.i
-
-.PHONY : example-GeodesicExact.i
-
-# target to preprocess a source file
-example-GeodesicExact.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicExact.dir/build.make examples/CMakeFiles/example-GeodesicExact.dir/example-GeodesicExact.cpp.i
-.PHONY : example-GeodesicExact.cpp.i
-
-example-GeodesicExact.s: example-GeodesicExact.cpp.s
-
-.PHONY : example-GeodesicExact.s
-
-# target to generate assembly for a file
-example-GeodesicExact.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicExact.dir/build.make examples/CMakeFiles/example-GeodesicExact.dir/example-GeodesicExact.cpp.s
-.PHONY : example-GeodesicExact.cpp.s
-
-example-GeodesicLine.o: example-GeodesicLine.cpp.o
-
-.PHONY : example-GeodesicLine.o
-
-# target to build an object file
-example-GeodesicLine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLine.dir/build.make examples/CMakeFiles/example-GeodesicLine.dir/example-GeodesicLine.cpp.o
-.PHONY : example-GeodesicLine.cpp.o
-
-example-GeodesicLine.i: example-GeodesicLine.cpp.i
-
-.PHONY : example-GeodesicLine.i
-
-# target to preprocess a source file
-example-GeodesicLine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLine.dir/build.make examples/CMakeFiles/example-GeodesicLine.dir/example-GeodesicLine.cpp.i
-.PHONY : example-GeodesicLine.cpp.i
-
-example-GeodesicLine.s: example-GeodesicLine.cpp.s
-
-.PHONY : example-GeodesicLine.s
-
-# target to generate assembly for a file
-example-GeodesicLine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLine.dir/build.make examples/CMakeFiles/example-GeodesicLine.dir/example-GeodesicLine.cpp.s
-.PHONY : example-GeodesicLine.cpp.s
-
-example-GeodesicLineExact.o: example-GeodesicLineExact.cpp.o
-
-.PHONY : example-GeodesicLineExact.o
-
-# target to build an object file
-example-GeodesicLineExact.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLineExact.dir/build.make examples/CMakeFiles/example-GeodesicLineExact.dir/example-GeodesicLineExact.cpp.o
-.PHONY : example-GeodesicLineExact.cpp.o
-
-example-GeodesicLineExact.i: example-GeodesicLineExact.cpp.i
-
-.PHONY : example-GeodesicLineExact.i
-
-# target to preprocess a source file
-example-GeodesicLineExact.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLineExact.dir/build.make examples/CMakeFiles/example-GeodesicLineExact.dir/example-GeodesicLineExact.cpp.i
-.PHONY : example-GeodesicLineExact.cpp.i
-
-example-GeodesicLineExact.s: example-GeodesicLineExact.cpp.s
-
-.PHONY : example-GeodesicLineExact.s
-
-# target to generate assembly for a file
-example-GeodesicLineExact.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeodesicLineExact.dir/build.make examples/CMakeFiles/example-GeodesicLineExact.dir/example-GeodesicLineExact.cpp.s
-.PHONY : example-GeodesicLineExact.cpp.s
-
-example-GeographicErr.o: example-GeographicErr.cpp.o
-
-.PHONY : example-GeographicErr.o
-
-# target to build an object file
-example-GeographicErr.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeographicErr.dir/build.make examples/CMakeFiles/example-GeographicErr.dir/example-GeographicErr.cpp.o
-.PHONY : example-GeographicErr.cpp.o
-
-example-GeographicErr.i: example-GeographicErr.cpp.i
-
-.PHONY : example-GeographicErr.i
-
-# target to preprocess a source file
-example-GeographicErr.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeographicErr.dir/build.make examples/CMakeFiles/example-GeographicErr.dir/example-GeographicErr.cpp.i
-.PHONY : example-GeographicErr.cpp.i
-
-example-GeographicErr.s: example-GeographicErr.cpp.s
-
-.PHONY : example-GeographicErr.s
-
-# target to generate assembly for a file
-example-GeographicErr.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GeographicErr.dir/build.make examples/CMakeFiles/example-GeographicErr.dir/example-GeographicErr.cpp.s
-.PHONY : example-GeographicErr.cpp.s
-
-example-Geohash.o: example-Geohash.cpp.o
-
-.PHONY : example-Geohash.o
-
-# target to build an object file
-example-Geohash.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geohash.dir/build.make examples/CMakeFiles/example-Geohash.dir/example-Geohash.cpp.o
-.PHONY : example-Geohash.cpp.o
-
-example-Geohash.i: example-Geohash.cpp.i
-
-.PHONY : example-Geohash.i
-
-# target to preprocess a source file
-example-Geohash.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geohash.dir/build.make examples/CMakeFiles/example-Geohash.dir/example-Geohash.cpp.i
-.PHONY : example-Geohash.cpp.i
-
-example-Geohash.s: example-Geohash.cpp.s
-
-.PHONY : example-Geohash.s
-
-# target to generate assembly for a file
-example-Geohash.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geohash.dir/build.make examples/CMakeFiles/example-Geohash.dir/example-Geohash.cpp.s
-.PHONY : example-Geohash.cpp.s
-
-example-Geoid.o: example-Geoid.cpp.o
-
-.PHONY : example-Geoid.o
-
-# target to build an object file
-example-Geoid.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geoid.dir/build.make examples/CMakeFiles/example-Geoid.dir/example-Geoid.cpp.o
-.PHONY : example-Geoid.cpp.o
-
-example-Geoid.i: example-Geoid.cpp.i
-
-.PHONY : example-Geoid.i
-
-# target to preprocess a source file
-example-Geoid.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geoid.dir/build.make examples/CMakeFiles/example-Geoid.dir/example-Geoid.cpp.i
-.PHONY : example-Geoid.cpp.i
-
-example-Geoid.s: example-Geoid.cpp.s
-
-.PHONY : example-Geoid.s
-
-# target to generate assembly for a file
-example-Geoid.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Geoid.dir/build.make examples/CMakeFiles/example-Geoid.dir/example-Geoid.cpp.s
-.PHONY : example-Geoid.cpp.s
-
-example-Georef.o: example-Georef.cpp.o
-
-.PHONY : example-Georef.o
-
-# target to build an object file
-example-Georef.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Georef.dir/build.make examples/CMakeFiles/example-Georef.dir/example-Georef.cpp.o
-.PHONY : example-Georef.cpp.o
-
-example-Georef.i: example-Georef.cpp.i
-
-.PHONY : example-Georef.i
-
-# target to preprocess a source file
-example-Georef.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Georef.dir/build.make examples/CMakeFiles/example-Georef.dir/example-Georef.cpp.i
-.PHONY : example-Georef.cpp.i
-
-example-Georef.s: example-Georef.cpp.s
-
-.PHONY : example-Georef.s
-
-# target to generate assembly for a file
-example-Georef.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Georef.dir/build.make examples/CMakeFiles/example-Georef.dir/example-Georef.cpp.s
-.PHONY : example-Georef.cpp.s
-
-example-Gnomonic.o: example-Gnomonic.cpp.o
-
-.PHONY : example-Gnomonic.o
-
-# target to build an object file
-example-Gnomonic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Gnomonic.dir/build.make examples/CMakeFiles/example-Gnomonic.dir/example-Gnomonic.cpp.o
-.PHONY : example-Gnomonic.cpp.o
-
-example-Gnomonic.i: example-Gnomonic.cpp.i
-
-.PHONY : example-Gnomonic.i
-
-# target to preprocess a source file
-example-Gnomonic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Gnomonic.dir/build.make examples/CMakeFiles/example-Gnomonic.dir/example-Gnomonic.cpp.i
-.PHONY : example-Gnomonic.cpp.i
-
-example-Gnomonic.s: example-Gnomonic.cpp.s
-
-.PHONY : example-Gnomonic.s
-
-# target to generate assembly for a file
-example-Gnomonic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Gnomonic.dir/build.make examples/CMakeFiles/example-Gnomonic.dir/example-Gnomonic.cpp.s
-.PHONY : example-Gnomonic.cpp.s
-
-example-GravityCircle.o: example-GravityCircle.cpp.o
-
-.PHONY : example-GravityCircle.o
-
-# target to build an object file
-example-GravityCircle.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityCircle.dir/build.make examples/CMakeFiles/example-GravityCircle.dir/example-GravityCircle.cpp.o
-.PHONY : example-GravityCircle.cpp.o
-
-example-GravityCircle.i: example-GravityCircle.cpp.i
-
-.PHONY : example-GravityCircle.i
-
-# target to preprocess a source file
-example-GravityCircle.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityCircle.dir/build.make examples/CMakeFiles/example-GravityCircle.dir/example-GravityCircle.cpp.i
-.PHONY : example-GravityCircle.cpp.i
-
-example-GravityCircle.s: example-GravityCircle.cpp.s
-
-.PHONY : example-GravityCircle.s
-
-# target to generate assembly for a file
-example-GravityCircle.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityCircle.dir/build.make examples/CMakeFiles/example-GravityCircle.dir/example-GravityCircle.cpp.s
-.PHONY : example-GravityCircle.cpp.s
-
-example-GravityModel.o: example-GravityModel.cpp.o
-
-.PHONY : example-GravityModel.o
-
-# target to build an object file
-example-GravityModel.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityModel.dir/build.make examples/CMakeFiles/example-GravityModel.dir/example-GravityModel.cpp.o
-.PHONY : example-GravityModel.cpp.o
-
-example-GravityModel.i: example-GravityModel.cpp.i
-
-.PHONY : example-GravityModel.i
-
-# target to preprocess a source file
-example-GravityModel.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityModel.dir/build.make examples/CMakeFiles/example-GravityModel.dir/example-GravityModel.cpp.i
-.PHONY : example-GravityModel.cpp.i
-
-example-GravityModel.s: example-GravityModel.cpp.s
-
-.PHONY : example-GravityModel.s
-
-# target to generate assembly for a file
-example-GravityModel.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-GravityModel.dir/build.make examples/CMakeFiles/example-GravityModel.dir/example-GravityModel.cpp.s
-.PHONY : example-GravityModel.cpp.s
-
-example-LambertConformalConic.o: example-LambertConformalConic.cpp.o
-
-.PHONY : example-LambertConformalConic.o
-
-# target to build an object file
-example-LambertConformalConic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LambertConformalConic.dir/build.make examples/CMakeFiles/example-LambertConformalConic.dir/example-LambertConformalConic.cpp.o
-.PHONY : example-LambertConformalConic.cpp.o
-
-example-LambertConformalConic.i: example-LambertConformalConic.cpp.i
-
-.PHONY : example-LambertConformalConic.i
-
-# target to preprocess a source file
-example-LambertConformalConic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LambertConformalConic.dir/build.make examples/CMakeFiles/example-LambertConformalConic.dir/example-LambertConformalConic.cpp.i
-.PHONY : example-LambertConformalConic.cpp.i
-
-example-LambertConformalConic.s: example-LambertConformalConic.cpp.s
-
-.PHONY : example-LambertConformalConic.s
-
-# target to generate assembly for a file
-example-LambertConformalConic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LambertConformalConic.dir/build.make examples/CMakeFiles/example-LambertConformalConic.dir/example-LambertConformalConic.cpp.s
-.PHONY : example-LambertConformalConic.cpp.s
-
-example-LocalCartesian.o: example-LocalCartesian.cpp.o
-
-.PHONY : example-LocalCartesian.o
-
-# target to build an object file
-example-LocalCartesian.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LocalCartesian.dir/build.make examples/CMakeFiles/example-LocalCartesian.dir/example-LocalCartesian.cpp.o
-.PHONY : example-LocalCartesian.cpp.o
-
-example-LocalCartesian.i: example-LocalCartesian.cpp.i
-
-.PHONY : example-LocalCartesian.i
-
-# target to preprocess a source file
-example-LocalCartesian.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LocalCartesian.dir/build.make examples/CMakeFiles/example-LocalCartesian.dir/example-LocalCartesian.cpp.i
-.PHONY : example-LocalCartesian.cpp.i
-
-example-LocalCartesian.s: example-LocalCartesian.cpp.s
-
-.PHONY : example-LocalCartesian.s
-
-# target to generate assembly for a file
-example-LocalCartesian.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-LocalCartesian.dir/build.make examples/CMakeFiles/example-LocalCartesian.dir/example-LocalCartesian.cpp.s
-.PHONY : example-LocalCartesian.cpp.s
-
-example-MGRS.o: example-MGRS.cpp.o
-
-.PHONY : example-MGRS.o
-
-# target to build an object file
-example-MGRS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MGRS.dir/build.make examples/CMakeFiles/example-MGRS.dir/example-MGRS.cpp.o
-.PHONY : example-MGRS.cpp.o
-
-example-MGRS.i: example-MGRS.cpp.i
-
-.PHONY : example-MGRS.i
-
-# target to preprocess a source file
-example-MGRS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MGRS.dir/build.make examples/CMakeFiles/example-MGRS.dir/example-MGRS.cpp.i
-.PHONY : example-MGRS.cpp.i
-
-example-MGRS.s: example-MGRS.cpp.s
-
-.PHONY : example-MGRS.s
-
-# target to generate assembly for a file
-example-MGRS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MGRS.dir/build.make examples/CMakeFiles/example-MGRS.dir/example-MGRS.cpp.s
-.PHONY : example-MGRS.cpp.s
-
-example-MagneticCircle.o: example-MagneticCircle.cpp.o
-
-.PHONY : example-MagneticCircle.o
-
-# target to build an object file
-example-MagneticCircle.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticCircle.dir/build.make examples/CMakeFiles/example-MagneticCircle.dir/example-MagneticCircle.cpp.o
-.PHONY : example-MagneticCircle.cpp.o
-
-example-MagneticCircle.i: example-MagneticCircle.cpp.i
-
-.PHONY : example-MagneticCircle.i
-
-# target to preprocess a source file
-example-MagneticCircle.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticCircle.dir/build.make examples/CMakeFiles/example-MagneticCircle.dir/example-MagneticCircle.cpp.i
-.PHONY : example-MagneticCircle.cpp.i
-
-example-MagneticCircle.s: example-MagneticCircle.cpp.s
-
-.PHONY : example-MagneticCircle.s
-
-# target to generate assembly for a file
-example-MagneticCircle.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticCircle.dir/build.make examples/CMakeFiles/example-MagneticCircle.dir/example-MagneticCircle.cpp.s
-.PHONY : example-MagneticCircle.cpp.s
-
-example-MagneticModel.o: example-MagneticModel.cpp.o
-
-.PHONY : example-MagneticModel.o
-
-# target to build an object file
-example-MagneticModel.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticModel.dir/build.make examples/CMakeFiles/example-MagneticModel.dir/example-MagneticModel.cpp.o
-.PHONY : example-MagneticModel.cpp.o
-
-example-MagneticModel.i: example-MagneticModel.cpp.i
-
-.PHONY : example-MagneticModel.i
-
-# target to preprocess a source file
-example-MagneticModel.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticModel.dir/build.make examples/CMakeFiles/example-MagneticModel.dir/example-MagneticModel.cpp.i
-.PHONY : example-MagneticModel.cpp.i
-
-example-MagneticModel.s: example-MagneticModel.cpp.s
-
-.PHONY : example-MagneticModel.s
-
-# target to generate assembly for a file
-example-MagneticModel.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-MagneticModel.dir/build.make examples/CMakeFiles/example-MagneticModel.dir/example-MagneticModel.cpp.s
-.PHONY : example-MagneticModel.cpp.s
-
-example-Math.o: example-Math.cpp.o
-
-.PHONY : example-Math.o
-
-# target to build an object file
-example-Math.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Math.dir/build.make examples/CMakeFiles/example-Math.dir/example-Math.cpp.o
-.PHONY : example-Math.cpp.o
-
-example-Math.i: example-Math.cpp.i
-
-.PHONY : example-Math.i
-
-# target to preprocess a source file
-example-Math.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Math.dir/build.make examples/CMakeFiles/example-Math.dir/example-Math.cpp.i
-.PHONY : example-Math.cpp.i
-
-example-Math.s: example-Math.cpp.s
-
-.PHONY : example-Math.s
-
-# target to generate assembly for a file
-example-Math.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Math.dir/build.make examples/CMakeFiles/example-Math.dir/example-Math.cpp.s
-.PHONY : example-Math.cpp.s
-
-example-NearestNeighbor.o: example-NearestNeighbor.cpp.o
-
-.PHONY : example-NearestNeighbor.o
-
-# target to build an object file
-example-NearestNeighbor.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NearestNeighbor.dir/build.make examples/CMakeFiles/example-NearestNeighbor.dir/example-NearestNeighbor.cpp.o
-.PHONY : example-NearestNeighbor.cpp.o
-
-example-NearestNeighbor.i: example-NearestNeighbor.cpp.i
-
-.PHONY : example-NearestNeighbor.i
-
-# target to preprocess a source file
-example-NearestNeighbor.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NearestNeighbor.dir/build.make examples/CMakeFiles/example-NearestNeighbor.dir/example-NearestNeighbor.cpp.i
-.PHONY : example-NearestNeighbor.cpp.i
-
-example-NearestNeighbor.s: example-NearestNeighbor.cpp.s
-
-.PHONY : example-NearestNeighbor.s
-
-# target to generate assembly for a file
-example-NearestNeighbor.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NearestNeighbor.dir/build.make examples/CMakeFiles/example-NearestNeighbor.dir/example-NearestNeighbor.cpp.s
-.PHONY : example-NearestNeighbor.cpp.s
-
-example-NormalGravity.o: example-NormalGravity.cpp.o
-
-.PHONY : example-NormalGravity.o
-
-# target to build an object file
-example-NormalGravity.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NormalGravity.dir/build.make examples/CMakeFiles/example-NormalGravity.dir/example-NormalGravity.cpp.o
-.PHONY : example-NormalGravity.cpp.o
-
-example-NormalGravity.i: example-NormalGravity.cpp.i
-
-.PHONY : example-NormalGravity.i
-
-# target to preprocess a source file
-example-NormalGravity.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NormalGravity.dir/build.make examples/CMakeFiles/example-NormalGravity.dir/example-NormalGravity.cpp.i
-.PHONY : example-NormalGravity.cpp.i
-
-example-NormalGravity.s: example-NormalGravity.cpp.s
-
-.PHONY : example-NormalGravity.s
-
-# target to generate assembly for a file
-example-NormalGravity.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-NormalGravity.dir/build.make examples/CMakeFiles/example-NormalGravity.dir/example-NormalGravity.cpp.s
-.PHONY : example-NormalGravity.cpp.s
-
-example-OSGB.o: example-OSGB.cpp.o
-
-.PHONY : example-OSGB.o
-
-# target to build an object file
-example-OSGB.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-OSGB.dir/build.make examples/CMakeFiles/example-OSGB.dir/example-OSGB.cpp.o
-.PHONY : example-OSGB.cpp.o
-
-example-OSGB.i: example-OSGB.cpp.i
-
-.PHONY : example-OSGB.i
-
-# target to preprocess a source file
-example-OSGB.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-OSGB.dir/build.make examples/CMakeFiles/example-OSGB.dir/example-OSGB.cpp.i
-.PHONY : example-OSGB.cpp.i
-
-example-OSGB.s: example-OSGB.cpp.s
-
-.PHONY : example-OSGB.s
-
-# target to generate assembly for a file
-example-OSGB.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-OSGB.dir/build.make examples/CMakeFiles/example-OSGB.dir/example-OSGB.cpp.s
-.PHONY : example-OSGB.cpp.s
-
-example-PolarStereographic.o: example-PolarStereographic.cpp.o
-
-.PHONY : example-PolarStereographic.o
-
-# target to build an object file
-example-PolarStereographic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolarStereographic.dir/build.make examples/CMakeFiles/example-PolarStereographic.dir/example-PolarStereographic.cpp.o
-.PHONY : example-PolarStereographic.cpp.o
-
-example-PolarStereographic.i: example-PolarStereographic.cpp.i
-
-.PHONY : example-PolarStereographic.i
-
-# target to preprocess a source file
-example-PolarStereographic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolarStereographic.dir/build.make examples/CMakeFiles/example-PolarStereographic.dir/example-PolarStereographic.cpp.i
-.PHONY : example-PolarStereographic.cpp.i
-
-example-PolarStereographic.s: example-PolarStereographic.cpp.s
-
-.PHONY : example-PolarStereographic.s
-
-# target to generate assembly for a file
-example-PolarStereographic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolarStereographic.dir/build.make examples/CMakeFiles/example-PolarStereographic.dir/example-PolarStereographic.cpp.s
-.PHONY : example-PolarStereographic.cpp.s
-
-example-PolygonArea.o: example-PolygonArea.cpp.o
-
-.PHONY : example-PolygonArea.o
-
-# target to build an object file
-example-PolygonArea.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolygonArea.dir/build.make examples/CMakeFiles/example-PolygonArea.dir/example-PolygonArea.cpp.o
-.PHONY : example-PolygonArea.cpp.o
-
-example-PolygonArea.i: example-PolygonArea.cpp.i
-
-.PHONY : example-PolygonArea.i
-
-# target to preprocess a source file
-example-PolygonArea.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolygonArea.dir/build.make examples/CMakeFiles/example-PolygonArea.dir/example-PolygonArea.cpp.i
-.PHONY : example-PolygonArea.cpp.i
-
-example-PolygonArea.s: example-PolygonArea.cpp.s
-
-.PHONY : example-PolygonArea.s
-
-# target to generate assembly for a file
-example-PolygonArea.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-PolygonArea.dir/build.make examples/CMakeFiles/example-PolygonArea.dir/example-PolygonArea.cpp.s
-.PHONY : example-PolygonArea.cpp.s
-
-example-Rhumb.o: example-Rhumb.cpp.o
-
-.PHONY : example-Rhumb.o
-
-# target to build an object file
-example-Rhumb.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Rhumb.dir/build.make examples/CMakeFiles/example-Rhumb.dir/example-Rhumb.cpp.o
-.PHONY : example-Rhumb.cpp.o
-
-example-Rhumb.i: example-Rhumb.cpp.i
-
-.PHONY : example-Rhumb.i
-
-# target to preprocess a source file
-example-Rhumb.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Rhumb.dir/build.make examples/CMakeFiles/example-Rhumb.dir/example-Rhumb.cpp.i
-.PHONY : example-Rhumb.cpp.i
-
-example-Rhumb.s: example-Rhumb.cpp.s
-
-.PHONY : example-Rhumb.s
-
-# target to generate assembly for a file
-example-Rhumb.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Rhumb.dir/build.make examples/CMakeFiles/example-Rhumb.dir/example-Rhumb.cpp.s
-.PHONY : example-Rhumb.cpp.s
-
-example-RhumbLine.o: example-RhumbLine.cpp.o
-
-.PHONY : example-RhumbLine.o
-
-# target to build an object file
-example-RhumbLine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-RhumbLine.dir/build.make examples/CMakeFiles/example-RhumbLine.dir/example-RhumbLine.cpp.o
-.PHONY : example-RhumbLine.cpp.o
-
-example-RhumbLine.i: example-RhumbLine.cpp.i
-
-.PHONY : example-RhumbLine.i
-
-# target to preprocess a source file
-example-RhumbLine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-RhumbLine.dir/build.make examples/CMakeFiles/example-RhumbLine.dir/example-RhumbLine.cpp.i
-.PHONY : example-RhumbLine.cpp.i
-
-example-RhumbLine.s: example-RhumbLine.cpp.s
-
-.PHONY : example-RhumbLine.s
-
-# target to generate assembly for a file
-example-RhumbLine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-RhumbLine.dir/build.make examples/CMakeFiles/example-RhumbLine.dir/example-RhumbLine.cpp.s
-.PHONY : example-RhumbLine.cpp.s
-
-example-SphericalEngine.o: example-SphericalEngine.cpp.o
-
-.PHONY : example-SphericalEngine.o
-
-# target to build an object file
-example-SphericalEngine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalEngine.dir/build.make examples/CMakeFiles/example-SphericalEngine.dir/example-SphericalEngine.cpp.o
-.PHONY : example-SphericalEngine.cpp.o
-
-example-SphericalEngine.i: example-SphericalEngine.cpp.i
-
-.PHONY : example-SphericalEngine.i
-
-# target to preprocess a source file
-example-SphericalEngine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalEngine.dir/build.make examples/CMakeFiles/example-SphericalEngine.dir/example-SphericalEngine.cpp.i
-.PHONY : example-SphericalEngine.cpp.i
-
-example-SphericalEngine.s: example-SphericalEngine.cpp.s
-
-.PHONY : example-SphericalEngine.s
-
-# target to generate assembly for a file
-example-SphericalEngine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalEngine.dir/build.make examples/CMakeFiles/example-SphericalEngine.dir/example-SphericalEngine.cpp.s
-.PHONY : example-SphericalEngine.cpp.s
-
-example-SphericalHarmonic.o: example-SphericalHarmonic.cpp.o
-
-.PHONY : example-SphericalHarmonic.o
-
-# target to build an object file
-example-SphericalHarmonic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic.dir/build.make examples/CMakeFiles/example-SphericalHarmonic.dir/example-SphericalHarmonic.cpp.o
-.PHONY : example-SphericalHarmonic.cpp.o
-
-example-SphericalHarmonic.i: example-SphericalHarmonic.cpp.i
-
-.PHONY : example-SphericalHarmonic.i
-
-# target to preprocess a source file
-example-SphericalHarmonic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic.dir/build.make examples/CMakeFiles/example-SphericalHarmonic.dir/example-SphericalHarmonic.cpp.i
-.PHONY : example-SphericalHarmonic.cpp.i
-
-example-SphericalHarmonic.s: example-SphericalHarmonic.cpp.s
-
-.PHONY : example-SphericalHarmonic.s
-
-# target to generate assembly for a file
-example-SphericalHarmonic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic.dir/build.make examples/CMakeFiles/example-SphericalHarmonic.dir/example-SphericalHarmonic.cpp.s
-.PHONY : example-SphericalHarmonic.cpp.s
-
-example-SphericalHarmonic1.o: example-SphericalHarmonic1.cpp.o
-
-.PHONY : example-SphericalHarmonic1.o
-
-# target to build an object file
-example-SphericalHarmonic1.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic1.dir/build.make examples/CMakeFiles/example-SphericalHarmonic1.dir/example-SphericalHarmonic1.cpp.o
-.PHONY : example-SphericalHarmonic1.cpp.o
-
-example-SphericalHarmonic1.i: example-SphericalHarmonic1.cpp.i
-
-.PHONY : example-SphericalHarmonic1.i
-
-# target to preprocess a source file
-example-SphericalHarmonic1.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic1.dir/build.make examples/CMakeFiles/example-SphericalHarmonic1.dir/example-SphericalHarmonic1.cpp.i
-.PHONY : example-SphericalHarmonic1.cpp.i
-
-example-SphericalHarmonic1.s: example-SphericalHarmonic1.cpp.s
-
-.PHONY : example-SphericalHarmonic1.s
-
-# target to generate assembly for a file
-example-SphericalHarmonic1.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic1.dir/build.make examples/CMakeFiles/example-SphericalHarmonic1.dir/example-SphericalHarmonic1.cpp.s
-.PHONY : example-SphericalHarmonic1.cpp.s
-
-example-SphericalHarmonic2.o: example-SphericalHarmonic2.cpp.o
-
-.PHONY : example-SphericalHarmonic2.o
-
-# target to build an object file
-example-SphericalHarmonic2.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic2.dir/build.make examples/CMakeFiles/example-SphericalHarmonic2.dir/example-SphericalHarmonic2.cpp.o
-.PHONY : example-SphericalHarmonic2.cpp.o
-
-example-SphericalHarmonic2.i: example-SphericalHarmonic2.cpp.i
-
-.PHONY : example-SphericalHarmonic2.i
-
-# target to preprocess a source file
-example-SphericalHarmonic2.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic2.dir/build.make examples/CMakeFiles/example-SphericalHarmonic2.dir/example-SphericalHarmonic2.cpp.i
-.PHONY : example-SphericalHarmonic2.cpp.i
-
-example-SphericalHarmonic2.s: example-SphericalHarmonic2.cpp.s
-
-.PHONY : example-SphericalHarmonic2.s
-
-# target to generate assembly for a file
-example-SphericalHarmonic2.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-SphericalHarmonic2.dir/build.make examples/CMakeFiles/example-SphericalHarmonic2.dir/example-SphericalHarmonic2.cpp.s
-.PHONY : example-SphericalHarmonic2.cpp.s
-
-example-TransverseMercator.o: example-TransverseMercator.cpp.o
-
-.PHONY : example-TransverseMercator.o
-
-# target to build an object file
-example-TransverseMercator.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercator.dir/build.make examples/CMakeFiles/example-TransverseMercator.dir/example-TransverseMercator.cpp.o
-.PHONY : example-TransverseMercator.cpp.o
-
-example-TransverseMercator.i: example-TransverseMercator.cpp.i
-
-.PHONY : example-TransverseMercator.i
-
-# target to preprocess a source file
-example-TransverseMercator.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercator.dir/build.make examples/CMakeFiles/example-TransverseMercator.dir/example-TransverseMercator.cpp.i
-.PHONY : example-TransverseMercator.cpp.i
-
-example-TransverseMercator.s: example-TransverseMercator.cpp.s
-
-.PHONY : example-TransverseMercator.s
-
-# target to generate assembly for a file
-example-TransverseMercator.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercator.dir/build.make examples/CMakeFiles/example-TransverseMercator.dir/example-TransverseMercator.cpp.s
-.PHONY : example-TransverseMercator.cpp.s
-
-example-TransverseMercatorExact.o: example-TransverseMercatorExact.cpp.o
-
-.PHONY : example-TransverseMercatorExact.o
-
-# target to build an object file
-example-TransverseMercatorExact.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercatorExact.dir/build.make examples/CMakeFiles/example-TransverseMercatorExact.dir/example-TransverseMercatorExact.cpp.o
-.PHONY : example-TransverseMercatorExact.cpp.o
-
-example-TransverseMercatorExact.i: example-TransverseMercatorExact.cpp.i
-
-.PHONY : example-TransverseMercatorExact.i
-
-# target to preprocess a source file
-example-TransverseMercatorExact.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercatorExact.dir/build.make examples/CMakeFiles/example-TransverseMercatorExact.dir/example-TransverseMercatorExact.cpp.i
-.PHONY : example-TransverseMercatorExact.cpp.i
-
-example-TransverseMercatorExact.s: example-TransverseMercatorExact.cpp.s
-
-.PHONY : example-TransverseMercatorExact.s
-
-# target to generate assembly for a file
-example-TransverseMercatorExact.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-TransverseMercatorExact.dir/build.make examples/CMakeFiles/example-TransverseMercatorExact.dir/example-TransverseMercatorExact.cpp.s
-.PHONY : example-TransverseMercatorExact.cpp.s
-
-example-UTMUPS.o: example-UTMUPS.cpp.o
-
-.PHONY : example-UTMUPS.o
-
-# target to build an object file
-example-UTMUPS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-UTMUPS.dir/build.make examples/CMakeFiles/example-UTMUPS.dir/example-UTMUPS.cpp.o
-.PHONY : example-UTMUPS.cpp.o
-
-example-UTMUPS.i: example-UTMUPS.cpp.i
-
-.PHONY : example-UTMUPS.i
-
-# target to preprocess a source file
-example-UTMUPS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-UTMUPS.dir/build.make examples/CMakeFiles/example-UTMUPS.dir/example-UTMUPS.cpp.i
-.PHONY : example-UTMUPS.cpp.i
-
-example-UTMUPS.s: example-UTMUPS.cpp.s
-
-.PHONY : example-UTMUPS.s
-
-# target to generate assembly for a file
-example-UTMUPS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-UTMUPS.dir/build.make examples/CMakeFiles/example-UTMUPS.dir/example-UTMUPS.cpp.s
-.PHONY : example-UTMUPS.cpp.s
-
-example-Utility.o: example-Utility.cpp.o
-
-.PHONY : example-Utility.o
-
-# target to build an object file
-example-Utility.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Utility.dir/build.make examples/CMakeFiles/example-Utility.dir/example-Utility.cpp.o
-.PHONY : example-Utility.cpp.o
-
-example-Utility.i: example-Utility.cpp.i
-
-.PHONY : example-Utility.i
-
-# target to preprocess a source file
-example-Utility.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Utility.dir/build.make examples/CMakeFiles/example-Utility.dir/example-Utility.cpp.i
-.PHONY : example-Utility.cpp.i
-
-example-Utility.s: example-Utility.cpp.s
-
-.PHONY : example-Utility.s
-
-# target to generate assembly for a file
-example-Utility.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/example-Utility.dir/build.make examples/CMakeFiles/example-Utility.dir/example-Utility.cpp.s
-.PHONY : example-Utility.cpp.s
-
-make-egmcof.o: make-egmcof.cpp.o
-
-.PHONY : make-egmcof.o
-
-# target to build an object file
-make-egmcof.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/make-egmcof.dir/build.make examples/CMakeFiles/make-egmcof.dir/make-egmcof.cpp.o
-.PHONY : make-egmcof.cpp.o
-
-make-egmcof.i: make-egmcof.cpp.i
-
-.PHONY : make-egmcof.i
-
-# target to preprocess a source file
-make-egmcof.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/make-egmcof.dir/build.make examples/CMakeFiles/make-egmcof.dir/make-egmcof.cpp.i
-.PHONY : make-egmcof.cpp.i
-
-make-egmcof.s: make-egmcof.cpp.s
-
-.PHONY : make-egmcof.s
-
-# target to generate assembly for a file
-make-egmcof.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f examples/CMakeFiles/make-egmcof.dir/build.make examples/CMakeFiles/make-egmcof.dir/make-egmcof.cpp.s
-.PHONY : make-egmcof.cpp.s
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install/strip"
- @echo "... install/local"
- @echo "... install"
- @echo "... rebuild_cache"
- @echo "... edit_cache"
- @echo "... package_source"
- @echo "... package"
- @echo "... list_install_components"
- @echo "... example-Utility"
- @echo "... GeoidToGTX"
- @echo "... example-TransverseMercator"
- @echo "... example-SphericalHarmonic2"
- @echo "... example-SphericalHarmonic1"
- @echo "... example-SphericalEngine"
- @echo "... example-RhumbLine"
- @echo "... test"
- @echo "... example-Geodesic-small"
- @echo "... example-GeoCoords"
- @echo "... example-EllipticFunction"
- @echo "... example-GravityCircle"
- @echo "... example-MGRS"
- @echo "... example-Ellipsoid"
- @echo "... example-DMS"
- @echo "... example-GeodesicExact"
- @echo "... example-SphericalHarmonic"
- @echo "... example-AlbersEqualArea"
- @echo "... example-GARS"
- @echo "... example-Geohash"
- @echo "... example-CircularEngine"
- @echo "... example-AzimuthalEquidistant"
- @echo "... example-UTMUPS"
- @echo "... example-Geodesic"
- @echo "... example-Geocentric"
- @echo "... example-TransverseMercatorExact"
- @echo "... example-Math"
- @echo "... exampleprograms"
- @echo "... example-PolygonArea"
- @echo "... example-GeodesicLineExact"
- @echo "... example-Accumulator"
- @echo "... example-MagneticModel"
- @echo "... example-GeographicErr"
- @echo "... example-Georef"
- @echo "... example-NormalGravity"
- @echo "... example-Gnomonic"
- @echo "... example-CassiniSoldner"
- @echo "... example-GravityModel"
- @echo "... example-LambertConformalConic"
- @echo "... example-Constants"
- @echo "... example-Geoid"
- @echo "... example-PolarStereographic"
- @echo "... example-LocalCartesian"
- @echo "... example-MagneticCircle"
- @echo "... JacobiConformal"
- @echo "... example-GeodesicLine"
- @echo "... example-NearestNeighbor"
- @echo "... make-egmcof"
- @echo "... example-OSGB"
- @echo "... example-Rhumb"
- @echo "... GeoidToGTX.o"
- @echo "... GeoidToGTX.i"
- @echo "... GeoidToGTX.s"
- @echo "... JacobiConformal.o"
- @echo "... JacobiConformal.i"
- @echo "... JacobiConformal.s"
- @echo "... example-Accumulator.o"
- @echo "... example-Accumulator.i"
- @echo "... example-Accumulator.s"
- @echo "... example-AlbersEqualArea.o"
- @echo "... example-AlbersEqualArea.i"
- @echo "... example-AlbersEqualArea.s"
- @echo "... example-AzimuthalEquidistant.o"
- @echo "... example-AzimuthalEquidistant.i"
- @echo "... example-AzimuthalEquidistant.s"
- @echo "... example-CassiniSoldner.o"
- @echo "... example-CassiniSoldner.i"
- @echo "... example-CassiniSoldner.s"
- @echo "... example-CircularEngine.o"
- @echo "... example-CircularEngine.i"
- @echo "... example-CircularEngine.s"
- @echo "... example-Constants.o"
- @echo "... example-Constants.i"
- @echo "... example-Constants.s"
- @echo "... example-DMS.o"
- @echo "... example-DMS.i"
- @echo "... example-DMS.s"
- @echo "... example-Ellipsoid.o"
- @echo "... example-Ellipsoid.i"
- @echo "... example-Ellipsoid.s"
- @echo "... example-EllipticFunction.o"
- @echo "... example-EllipticFunction.i"
- @echo "... example-EllipticFunction.s"
- @echo "... example-GARS.o"
- @echo "... example-GARS.i"
- @echo "... example-GARS.s"
- @echo "... example-GeoCoords.o"
- @echo "... example-GeoCoords.i"
- @echo "... example-GeoCoords.s"
- @echo "... example-Geocentric.o"
- @echo "... example-Geocentric.i"
- @echo "... example-Geocentric.s"
- @echo "... example-Geodesic-small.o"
- @echo "... example-Geodesic-small.i"
- @echo "... example-Geodesic-small.s"
- @echo "... example-Geodesic.o"
- @echo "... example-Geodesic.i"
- @echo "... example-Geodesic.s"
- @echo "... example-GeodesicExact.o"
- @echo "... example-GeodesicExact.i"
- @echo "... example-GeodesicExact.s"
- @echo "... example-GeodesicLine.o"
- @echo "... example-GeodesicLine.i"
- @echo "... example-GeodesicLine.s"
- @echo "... example-GeodesicLineExact.o"
- @echo "... example-GeodesicLineExact.i"
- @echo "... example-GeodesicLineExact.s"
- @echo "... example-GeographicErr.o"
- @echo "... example-GeographicErr.i"
- @echo "... example-GeographicErr.s"
- @echo "... example-Geohash.o"
- @echo "... example-Geohash.i"
- @echo "... example-Geohash.s"
- @echo "... example-Geoid.o"
- @echo "... example-Geoid.i"
- @echo "... example-Geoid.s"
- @echo "... example-Georef.o"
- @echo "... example-Georef.i"
- @echo "... example-Georef.s"
- @echo "... example-Gnomonic.o"
- @echo "... example-Gnomonic.i"
- @echo "... example-Gnomonic.s"
- @echo "... example-GravityCircle.o"
- @echo "... example-GravityCircle.i"
- @echo "... example-GravityCircle.s"
- @echo "... example-GravityModel.o"
- @echo "... example-GravityModel.i"
- @echo "... example-GravityModel.s"
- @echo "... example-LambertConformalConic.o"
- @echo "... example-LambertConformalConic.i"
- @echo "... example-LambertConformalConic.s"
- @echo "... example-LocalCartesian.o"
- @echo "... example-LocalCartesian.i"
- @echo "... example-LocalCartesian.s"
- @echo "... example-MGRS.o"
- @echo "... example-MGRS.i"
- @echo "... example-MGRS.s"
- @echo "... example-MagneticCircle.o"
- @echo "... example-MagneticCircle.i"
- @echo "... example-MagneticCircle.s"
- @echo "... example-MagneticModel.o"
- @echo "... example-MagneticModel.i"
- @echo "... example-MagneticModel.s"
- @echo "... example-Math.o"
- @echo "... example-Math.i"
- @echo "... example-Math.s"
- @echo "... example-NearestNeighbor.o"
- @echo "... example-NearestNeighbor.i"
- @echo "... example-NearestNeighbor.s"
- @echo "... example-NormalGravity.o"
- @echo "... example-NormalGravity.i"
- @echo "... example-NormalGravity.s"
- @echo "... example-OSGB.o"
- @echo "... example-OSGB.i"
- @echo "... example-OSGB.s"
- @echo "... example-PolarStereographic.o"
- @echo "... example-PolarStereographic.i"
- @echo "... example-PolarStereographic.s"
- @echo "... example-PolygonArea.o"
- @echo "... example-PolygonArea.i"
- @echo "... example-PolygonArea.s"
- @echo "... example-Rhumb.o"
- @echo "... example-Rhumb.i"
- @echo "... example-Rhumb.s"
- @echo "... example-RhumbLine.o"
- @echo "... example-RhumbLine.i"
- @echo "... example-RhumbLine.s"
- @echo "... example-SphericalEngine.o"
- @echo "... example-SphericalEngine.i"
- @echo "... example-SphericalEngine.s"
- @echo "... example-SphericalHarmonic.o"
- @echo "... example-SphericalHarmonic.i"
- @echo "... example-SphericalHarmonic.s"
- @echo "... example-SphericalHarmonic1.o"
- @echo "... example-SphericalHarmonic1.i"
- @echo "... example-SphericalHarmonic1.s"
- @echo "... example-SphericalHarmonic2.o"
- @echo "... example-SphericalHarmonic2.i"
- @echo "... example-SphericalHarmonic2.s"
- @echo "... example-TransverseMercator.o"
- @echo "... example-TransverseMercator.i"
- @echo "... example-TransverseMercator.s"
- @echo "... example-TransverseMercatorExact.o"
- @echo "... example-TransverseMercatorExact.i"
- @echo "... example-TransverseMercatorExact.s"
- @echo "... example-UTMUPS.o"
- @echo "... example-UTMUPS.i"
- @echo "... example-UTMUPS.s"
- @echo "... example-Utility.o"
- @echo "... example-Utility.i"
- @echo "... example-Utility.s"
- @echo "... make-egmcof.o"
- @echo "... make-egmcof.i"
- @echo "... make-egmcof.s"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/examples/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/examples/cmake_install.cmake
deleted file mode 100644
index 1ec3a05337b59fb78be02549a8fb6e7b6bd43ce0..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/examples/cmake_install.cmake
+++ /dev/null
@@ -1,39 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/examples
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/geographiclib-config-version.cmake b/libs/GeographicLib-1.50.1/BUILD/geographiclib-config-version.cmake
deleted file mode 100644
index 08adf4f137251b7533d02175feb47e8c489012a2..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/geographiclib-config-version.cmake
+++ /dev/null
@@ -1,86 +0,0 @@
-# Version checking for GeographicLib
-
-set (PACKAGE_VERSION "1.50.1")
-set (PACKAGE_VERSION_MAJOR "1")
-set (PACKAGE_VERSION_MINOR "50")
-set (PACKAGE_VERSION_PATCH "1")
-
-# These variable definitions parallel those in GeographicLib's
-# cmake/CMakeLists.txt.
-if (MSVC)
- # For checking the compatibility of MSVC_TOOLSET_VERSION; see
- # https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
- # Assume major version number is obtained by dropping the last decimal
- # digit.
- math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
-endif ()
-if (CMAKE_CROSSCOMPILING)
- # Ensure that all "true" (resp. "false") settings are represented by
- # the same string.
- set (CMAKE_CROSSCOMPILING_STR "ON")
-else ()
- set (CMAKE_CROSSCOMPILING_STR "OFF")
-endif ()
-
-if (NOT PACKAGE_FIND_NAME STREQUAL "GeographicLib")
- # Check package name (in particular, because of the way cmake finds
- # package config files, the capitalization could easily be "wrong").
- # This is necessary to ensure that the automatically generated
- # variables, e.g., _FOUND, are consistently spelled.
- set (REASON "package = GeographicLib, NOT ${PACKAGE_FIND_NAME}")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
- CMAKE_SIZEOF_VOID_P EQUAL 8))
- # Reject if there's a 32-bit/64-bit mismatch (not necessary with Apple
- # since a multi-architecture library is built for that platform).
- set (REASON "sizeof(*void) = 8")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (MSVC AND NOT (
- # toolset version must be at least as great as GeographicLib's
- MSVC_TOOLSET_VERSION GREATER_EQUAL 0
- # and major versions must match
- AND MSVC_TOOLSET_MAJOR EQUAL 0 ))
- # Reject if there's a mismatch in MSVC compiler versions
- set (REASON "MSVC_TOOLSET_VERSION = 0")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (NOT CMAKE_CROSSCOMPILING_STR STREQUAL "OFF")
- # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}
- set (REASON "cross-compiling = FALSE")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (CMAKE_CROSSCOMPILING AND
- NOT (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND
- CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64"))
- # Reject if cross-compiling and there's a mismatch in the target system
- set (REASON "target = Linux-x86_64")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (PACKAGE_FIND_VERSION)
- if (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION)
- set (PACKAGE_VERSION_EXACT TRUE)
- elseif (PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION
- AND PACKAGE_FIND_VERSION_MAJOR EQUAL PACKAGE_VERSION_MAJOR)
- set (PACKAGE_VERSION_COMPATIBLE TRUE)
- endif ()
-endif ()
-
-set (GeographicLib_SHARED_FOUND ON)
-set (GeographicLib_STATIC_FOUND OFF)
-set (GeographicLib_NETGeographicLib_FOUND OFF)
-
-# Check for the components requested. The convention is that
-# GeographicLib_${comp}_FOUND should be true for all the required
-# components.
-if (GeographicLib_FIND_COMPONENTS)
- foreach (comp ${GeographicLib_FIND_COMPONENTS})
- if (GeographicLib_FIND_REQUIRED_${comp} AND
- NOT GeographicLib_${comp}_FOUND)
- set (REASON "without ${comp}")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
- endif ()
- endforeach ()
-endif ()
-
-# If unsuitable, append the reason to the package version so that it's
-# visible to the user.
-if (PACKAGE_VERSION_UNSUITABLE)
- set (PACKAGE_VERSION "${PACKAGE_VERSION} (${REASON})")
-endif ()
diff --git a/libs/GeographicLib-1.50.1/BUILD/geographiclib-config.cmake b/libs/GeographicLib-1.50.1/BUILD/geographiclib-config.cmake
deleted file mode 100644
index acc679af488b4a845c7c171c751d38fae2abdc4b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/geographiclib-config.cmake
+++ /dev/null
@@ -1,100 +0,0 @@
-# Configure GeographicLib
-#
-# Set
-# GeographicLib_FOUND = GEOGRAPHICLIB_FOUND = 1
-# GeographicLib_INCLUDE_DIRS = /usr/local/include
-# GeographicLib_SHARED_LIBRARIES = GeographicLib_SHARED (or empty)
-# GeographicLib_STATIC_LIBRARIES = GeographicLib_STATIC (or empty)
-# GeographicLib_LIBRARY_DIRS = /usr/local/lib
-# GeographicLib_BINARY_DIRS = /usr/local/bin
-# GeographicLib_VERSION = 1.34 (for example)
-# GEOGRAPHICLIB_DATA = /usr/local/share/GeographicLib (for example)
-# Depending on GeographicLib_USE_STATIC_LIBS
-# GeographicLib_LIBRARIES = ${GeographicLib_SHARED_LIBRARIES}, if OFF
-# GeographicLib_LIBRARIES = ${GeographicLib_STATIC_LIBRARIES}, if ON
-# If only one of the libraries is provided, then
-# GeographicLib_USE_STATIC_LIBS is ignored.
-#
-# Since cmake 2.8.11 or later, there's no need to include
-# include_directories (${GeographicLib_INCLUDE_DIRS})
-# The variables are retained for information.
-#
-# The following variables are only relevant if the library has been
-# compiled with a default precision different from double:
-# GEOGRAPHICLIB_PRECISION = the precision of the library (usually 2)
-# GeographicLib_HIGHPREC_LIBRARIES = the libraries need for high precision
-
-message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}")
-# GeographicLib_VERSION is set by version file
-message (STATUS
- "GeographicLib configuration, version ${GeographicLib_VERSION}")
-
-# Tell the user project where to find our headers and libraries
-get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
-if (IS_ABSOLUTE "/home/valentin/src/GeographicLib-1.50.1/BUILD")
- # This is an uninstalled package (still in the build tree)
- set (_ROOT "/home/valentin/src/GeographicLib-1.50.1/BUILD")
- set (GeographicLib_INCLUDE_DIRS "/home/valentin/src/GeographicLib-1.50.1/BUILD/include;/home/valentin/src/GeographicLib-1.50.1/include")
- set (GeographicLib_LIBRARY_DIRS "${_ROOT}/src")
- set (GeographicLib_BINARY_DIRS "${_ROOT}/tools")
-else ()
- # This is an installed package; figure out the paths relative to the
- # current directory.
- get_filename_component (_ROOT "${_DIR}//home/valentin/src/GeographicLib-1.50.1/BUILD" ABSOLUTE)
- set (GeographicLib_INCLUDE_DIRS "${_ROOT}/include")
- set (GeographicLib_LIBRARY_DIRS "${_ROOT}/lib")
- set (GeographicLib_BINARY_DIRS "${_ROOT}/bin")
-endif ()
-set (GEOGRAPHICLIB_DATA "/usr/local/share/GeographicLib")
-set (GEOGRAPHICLIB_PRECISION 2)
-set (GeographicLib_HIGHPREC_LIBRARIES "")
-
-set (GeographicLib_SHARED_LIBRARIES GeographicLib_SHARED)
-set (GeographicLib_STATIC_LIBRARIES )
-# Read in the exported definition of the library
-include ("${_DIR}/geographiclib-targets.cmake")
-include ("${_DIR}/geographiclib-namespace-targets.cmake")
-
-# For interoperability with older installations of GeographicLib and
-# with packages which depend on GeographicLib, GeographicLib_LIBRARIES
-# etc. still point to the non-namespace variables. Tentatively plan to
-# transition to namespace variables as follows:
-#
-# * namespace targets were introduced with version 1.47 (2017-02-15)
-# * switch GeographicLib_LIBRARIES to point to namespace variable after
-# 2020-02
-# * remove non-namespace variables after 2023-02
-
-unset (_ROOT)
-unset (_DIR)
-
-if ((NOT GeographicLib_SHARED_LIBRARIES) OR
- (GeographicLib_USE_STATIC_LIBS AND GeographicLib_STATIC_LIBRARIES))
- set (GeographicLib_LIBRARIES ${GeographicLib_STATIC_LIBRARIES})
- message (STATUS " \${GeographicLib_LIBRARIES} set to static library")
-else ()
- set (GeographicLib_LIBRARIES ${GeographicLib_SHARED_LIBRARIES})
- message (STATUS " \${GeographicLib_LIBRARIES} set to shared library")
-endif ()
-
-set (GeographicLib_NETGeographicLib_LIBRARIES )
-
-# Check for the components requested. This only supports components
-# STATIC, SHARED, and NETGeographicLib by checking the value of
-# GeographicLib_${comp}_LIBRARIES. No need to check if the component
-# is required or not--the version file took care of that.
-# GeographicLib_${comp}_FOUND is set appropriately for each component.
-if (GeographicLib_FIND_COMPONENTS)
- foreach (comp ${GeographicLib_FIND_COMPONENTS})
- if (GeographicLib_${comp}_LIBRARIES)
- set (GeographicLib_${comp}_FOUND 1)
- message (STATUS "GeographicLib component ${comp} found")
- else ()
- set (GeographicLib_${comp}_FOUND 0)
- message (WARNING "GeographicLib component ${comp} not found")
- endif ()
- endforeach ()
-endif ()
-
-# GeographicLib_FOUND is set to 1 automatically
-set (GEOGRAPHICLIB_FOUND 1) # for backwards compatibility
diff --git a/libs/GeographicLib-1.50.1/BUILD/geographiclib-namespace-targets.cmake b/libs/GeographicLib-1.50.1/BUILD/geographiclib-namespace-targets.cmake
deleted file mode 100644
index b0cf537564ee90548025948603e2507fa8ad0bed..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/geographiclib-namespace-targets.cmake
+++ /dev/null
@@ -1,173 +0,0 @@
-# Generated by CMake
-
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
- message(FATAL_ERROR "CMake >= 2.6.0 required")
-endif()
-cmake_policy(PUSH)
-cmake_policy(VERSION 2.6)
-#----------------------------------------------------------------
-# Generated CMake target import file.
-#----------------------------------------------------------------
-
-# Commands may need to know the format version.
-set(CMAKE_IMPORT_FILE_VERSION 1)
-
-if(CMAKE_VERSION VERSION_LESS 3.0.0)
- message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
-endif()
-
-# Protect against multiple inclusion, which would fail when already imported targets are added once more.
-set(_targetsDefined)
-set(_targetsNotDefined)
-set(_expectedTargets)
-foreach(_expectedTarget GeographicLib::GeographicLib_SHARED GeographicLib::GeographicLib GeographicLib::CartConvert GeographicLib::ConicProj GeographicLib::GeodesicProj GeographicLib::GeoConvert GeographicLib::GeodSolve GeographicLib::GeoidEval GeographicLib::Gravity GeographicLib::MagneticField GeographicLib::Planimeter GeographicLib::RhumbSolve GeographicLib::TransverseMercatorProj)
- list(APPEND _expectedTargets ${_expectedTarget})
- if(NOT TARGET ${_expectedTarget})
- list(APPEND _targetsNotDefined ${_expectedTarget})
- endif()
- if(TARGET ${_expectedTarget})
- list(APPEND _targetsDefined ${_expectedTarget})
- endif()
-endforeach()
-if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
- unset(_targetsDefined)
- unset(_targetsNotDefined)
- unset(_expectedTargets)
- set(CMAKE_IMPORT_FILE_VERSION)
- cmake_policy(POP)
- return()
-endif()
-if(NOT "${_targetsDefined}" STREQUAL "")
- message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
-endif()
-unset(_targetsDefined)
-unset(_targetsNotDefined)
-unset(_expectedTargets)
-
-
-# Create imported target GeographicLib::GeographicLib_SHARED
-add_library(GeographicLib::GeographicLib_SHARED SHARED IMPORTED)
-
-set_target_properties(GeographicLib::GeographicLib_SHARED PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "/home/valentin/src/GeographicLib-1.50.1/BUILD/include;/home/valentin/src/GeographicLib-1.50.1/include"
-)
-
-# Create imported target GeographicLib::GeographicLib
-add_library(GeographicLib::GeographicLib INTERFACE IMPORTED)
-
-set_target_properties(GeographicLib::GeographicLib PROPERTIES
- INTERFACE_LINK_LIBRARIES "GeographicLib::GeographicLib_SHARED"
-)
-
-# Create imported target GeographicLib::CartConvert
-add_executable(GeographicLib::CartConvert IMPORTED)
-
-# Create imported target GeographicLib::ConicProj
-add_executable(GeographicLib::ConicProj IMPORTED)
-
-# Create imported target GeographicLib::GeodesicProj
-add_executable(GeographicLib::GeodesicProj IMPORTED)
-
-# Create imported target GeographicLib::GeoConvert
-add_executable(GeographicLib::GeoConvert IMPORTED)
-
-# Create imported target GeographicLib::GeodSolve
-add_executable(GeographicLib::GeodSolve IMPORTED)
-
-# Create imported target GeographicLib::GeoidEval
-add_executable(GeographicLib::GeoidEval IMPORTED)
-
-# Create imported target GeographicLib::Gravity
-add_executable(GeographicLib::Gravity IMPORTED)
-
-# Create imported target GeographicLib::MagneticField
-add_executable(GeographicLib::MagneticField IMPORTED)
-
-# Create imported target GeographicLib::Planimeter
-add_executable(GeographicLib::Planimeter IMPORTED)
-
-# Create imported target GeographicLib::RhumbSolve
-add_executable(GeographicLib::RhumbSolve IMPORTED)
-
-# Create imported target GeographicLib::TransverseMercatorProj
-add_executable(GeographicLib::TransverseMercatorProj IMPORTED)
-
-# Import target "GeographicLib::GeographicLib_SHARED" for configuration "Release"
-set_property(TARGET GeographicLib::GeographicLib_SHARED APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::GeographicLib_SHARED PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/src/libGeographic.so.19.0.1"
- IMPORTED_SONAME_RELEASE "libGeographic.so.19"
- )
-
-# Import target "GeographicLib::CartConvert" for configuration "Release"
-set_property(TARGET GeographicLib::CartConvert APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::CartConvert PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/CartConvert"
- )
-
-# Import target "GeographicLib::ConicProj" for configuration "Release"
-set_property(TARGET GeographicLib::ConicProj APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::ConicProj PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/ConicProj"
- )
-
-# Import target "GeographicLib::GeodesicProj" for configuration "Release"
-set_property(TARGET GeographicLib::GeodesicProj APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::GeodesicProj PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeodesicProj"
- )
-
-# Import target "GeographicLib::GeoConvert" for configuration "Release"
-set_property(TARGET GeographicLib::GeoConvert APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::GeoConvert PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeoConvert"
- )
-
-# Import target "GeographicLib::GeodSolve" for configuration "Release"
-set_property(TARGET GeographicLib::GeodSolve APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::GeodSolve PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeodSolve"
- )
-
-# Import target "GeographicLib::GeoidEval" for configuration "Release"
-set_property(TARGET GeographicLib::GeoidEval APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::GeoidEval PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeoidEval"
- )
-
-# Import target "GeographicLib::Gravity" for configuration "Release"
-set_property(TARGET GeographicLib::Gravity APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::Gravity PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/Gravity"
- )
-
-# Import target "GeographicLib::MagneticField" for configuration "Release"
-set_property(TARGET GeographicLib::MagneticField APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::MagneticField PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/MagneticField"
- )
-
-# Import target "GeographicLib::Planimeter" for configuration "Release"
-set_property(TARGET GeographicLib::Planimeter APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::Planimeter PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/Planimeter"
- )
-
-# Import target "GeographicLib::RhumbSolve" for configuration "Release"
-set_property(TARGET GeographicLib::RhumbSolve APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::RhumbSolve PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/RhumbSolve"
- )
-
-# Import target "GeographicLib::TransverseMercatorProj" for configuration "Release"
-set_property(TARGET GeographicLib::TransverseMercatorProj APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib::TransverseMercatorProj PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/TransverseMercatorProj"
- )
-
-# This file does not depend on other imported targets which have
-# been exported from the same project but in a separate export set.
-
-# Commands beyond this point should not need to know the version.
-set(CMAKE_IMPORT_FILE_VERSION)
-cmake_policy(POP)
diff --git a/libs/GeographicLib-1.50.1/BUILD/geographiclib-targets.cmake b/libs/GeographicLib-1.50.1/BUILD/geographiclib-targets.cmake
deleted file mode 100644
index bf1ede5901e3d6ce835224df13b53976f1911675..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/geographiclib-targets.cmake
+++ /dev/null
@@ -1,173 +0,0 @@
-# Generated by CMake
-
-if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
- message(FATAL_ERROR "CMake >= 2.6.0 required")
-endif()
-cmake_policy(PUSH)
-cmake_policy(VERSION 2.6)
-#----------------------------------------------------------------
-# Generated CMake target import file.
-#----------------------------------------------------------------
-
-# Commands may need to know the format version.
-set(CMAKE_IMPORT_FILE_VERSION 1)
-
-if(CMAKE_VERSION VERSION_LESS 3.0.0)
- message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
-endif()
-
-# Protect against multiple inclusion, which would fail when already imported targets are added once more.
-set(_targetsDefined)
-set(_targetsNotDefined)
-set(_expectedTargets)
-foreach(_expectedTarget GeographicLib_SHARED GeographicLib CartConvert ConicProj GeodesicProj GeoConvert GeodSolve GeoidEval Gravity MagneticField Planimeter RhumbSolve TransverseMercatorProj)
- list(APPEND _expectedTargets ${_expectedTarget})
- if(NOT TARGET ${_expectedTarget})
- list(APPEND _targetsNotDefined ${_expectedTarget})
- endif()
- if(TARGET ${_expectedTarget})
- list(APPEND _targetsDefined ${_expectedTarget})
- endif()
-endforeach()
-if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
- unset(_targetsDefined)
- unset(_targetsNotDefined)
- unset(_expectedTargets)
- set(CMAKE_IMPORT_FILE_VERSION)
- cmake_policy(POP)
- return()
-endif()
-if(NOT "${_targetsDefined}" STREQUAL "")
- message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
-endif()
-unset(_targetsDefined)
-unset(_targetsNotDefined)
-unset(_expectedTargets)
-
-
-# Create imported target GeographicLib_SHARED
-add_library(GeographicLib_SHARED SHARED IMPORTED)
-
-set_target_properties(GeographicLib_SHARED PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "/home/valentin/src/GeographicLib-1.50.1/BUILD/include;/home/valentin/src/GeographicLib-1.50.1/include"
-)
-
-# Create imported target GeographicLib
-add_library(GeographicLib INTERFACE IMPORTED)
-
-set_target_properties(GeographicLib PROPERTIES
- INTERFACE_LINK_LIBRARIES "GeographicLib_SHARED"
-)
-
-# Create imported target CartConvert
-add_executable(CartConvert IMPORTED)
-
-# Create imported target ConicProj
-add_executable(ConicProj IMPORTED)
-
-# Create imported target GeodesicProj
-add_executable(GeodesicProj IMPORTED)
-
-# Create imported target GeoConvert
-add_executable(GeoConvert IMPORTED)
-
-# Create imported target GeodSolve
-add_executable(GeodSolve IMPORTED)
-
-# Create imported target GeoidEval
-add_executable(GeoidEval IMPORTED)
-
-# Create imported target Gravity
-add_executable(Gravity IMPORTED)
-
-# Create imported target MagneticField
-add_executable(MagneticField IMPORTED)
-
-# Create imported target Planimeter
-add_executable(Planimeter IMPORTED)
-
-# Create imported target RhumbSolve
-add_executable(RhumbSolve IMPORTED)
-
-# Create imported target TransverseMercatorProj
-add_executable(TransverseMercatorProj IMPORTED)
-
-# Import target "GeographicLib_SHARED" for configuration "Release"
-set_property(TARGET GeographicLib_SHARED APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeographicLib_SHARED PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/src/libGeographic.so.19.0.1"
- IMPORTED_SONAME_RELEASE "libGeographic.so.19"
- )
-
-# Import target "CartConvert" for configuration "Release"
-set_property(TARGET CartConvert APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(CartConvert PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/CartConvert"
- )
-
-# Import target "ConicProj" for configuration "Release"
-set_property(TARGET ConicProj APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(ConicProj PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/ConicProj"
- )
-
-# Import target "GeodesicProj" for configuration "Release"
-set_property(TARGET GeodesicProj APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeodesicProj PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeodesicProj"
- )
-
-# Import target "GeoConvert" for configuration "Release"
-set_property(TARGET GeoConvert APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeoConvert PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeoConvert"
- )
-
-# Import target "GeodSolve" for configuration "Release"
-set_property(TARGET GeodSolve APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeodSolve PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeodSolve"
- )
-
-# Import target "GeoidEval" for configuration "Release"
-set_property(TARGET GeoidEval APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(GeoidEval PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeoidEval"
- )
-
-# Import target "Gravity" for configuration "Release"
-set_property(TARGET Gravity APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(Gravity PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/Gravity"
- )
-
-# Import target "MagneticField" for configuration "Release"
-set_property(TARGET MagneticField APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(MagneticField PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/MagneticField"
- )
-
-# Import target "Planimeter" for configuration "Release"
-set_property(TARGET Planimeter APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(Planimeter PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/Planimeter"
- )
-
-# Import target "RhumbSolve" for configuration "Release"
-set_property(TARGET RhumbSolve APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(RhumbSolve PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/RhumbSolve"
- )
-
-# Import target "TransverseMercatorProj" for configuration "Release"
-set_property(TARGET TransverseMercatorProj APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
-set_target_properties(TransverseMercatorProj PROPERTIES
- IMPORTED_LOCATION_RELEASE "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/TransverseMercatorProj"
- )
-
-# This file does not depend on other imported targets which have
-# been exported from the same project but in a separate export set.
-
-# Commands beyond this point should not need to know the version.
-set(CMAKE_IMPORT_FILE_VERSION)
-cmake_policy(POP)
diff --git a/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/Config.h b/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/Config.h
deleted file mode 100644
index 135ad35f26cb61ce8e740d82ac64832d4550df05..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/Config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#define GEOGRAPHICLIB_VERSION_STRING "1.50.1"
-#define GEOGRAPHICLIB_VERSION_MAJOR 1
-#define GEOGRAPHICLIB_VERSION_MINOR 50
-#define GEOGRAPHICLIB_VERSION_PATCH 1
-#define GEOGRAPHICLIB_DATA "/usr/local/share/GeographicLib"
-
-// These are macros which affect the building of the library
-#define GEOGRAPHICLIB_HAVE_LONG_DOUBLE 1
-#define GEOGRAPHICLIB_WORDS_BIGENDIAN 0
-#define GEOGRAPHICLIB_PRECISION 2
-
-// Specify whether GeographicLib is a shared or static library. When compiling
-// under Visual Studio it is necessary to specify whether GeographicLib is a
-// shared library. This is done with the macro GEOGRAPHICLIB_SHARED_LIB, which
-// cmake will correctly define as 0 or 1 when only one type of library is in
-// the package. If both shared and static libraries are available,
-// GEOGRAPHICLIB_SHARED_LIB is set to 2 which triggers a preprocessor error in
-// Constants.hpp. In this case, the appropriate value (0 or 1) for
-// GEOGRAPHICLIB_SHARED_LIB must be specified when compiling any program that
-// includes GeographicLib headers. This is done automatically if GeographicLib
-// and the user's code were built with cmake version 2.8.11 (which introduced
-// the command target_compile_definitions) or later.
-#if !defined(GEOGRAPHICLIB_SHARED_LIB)
-#define GEOGRAPHICLIB_SHARED_LIB 1
-#endif
diff --git a/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/Makefile b/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/Makefile
deleted file mode 100644
index 4b04ce381bdc757f32fd8989286386373c6a2890..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/Makefile
+++ /dev/null
@@ -1,220 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/include/GeographicLib/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 include/GeographicLib/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 include/GeographicLib/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 include/GeographicLib/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 include/GeographicLib/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install/strip"
- @echo "... install"
- @echo "... package_source"
- @echo "... package"
- @echo "... install/local"
- @echo "... test"
- @echo "... list_install_components"
- @echo "... edit_cache"
- @echo "... rebuild_cache"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/cmake_install.cmake
deleted file mode 100644
index f077e6b3780a5c647c31ace6434183b132975df3..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/include/GeographicLib/cmake_install.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/include/GeographicLib
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/GeographicLib" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Accumulator.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/AlbersEqualArea.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/AzimuthalEquidistant.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/CassiniSoldner.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/CircularEngine.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Constants.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/DMS.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Ellipsoid.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/EllipticFunction.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GARS.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GeoCoords.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Geocentric.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Geodesic.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GeodesicExact.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GeodesicLine.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GeodesicLineExact.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Geohash.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Geoid.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Georef.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Gnomonic.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GravityCircle.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/GravityModel.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/LambertConformalConic.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/LocalCartesian.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/MGRS.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/MagneticCircle.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/MagneticModel.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Math.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/NearestNeighbor.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/NormalGravity.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/OSGB.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/PolarStereographic.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/PolygonArea.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Rhumb.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/SphericalEngine.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/SphericalHarmonic.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/SphericalHarmonic1.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/SphericalHarmonic2.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/TransverseMercator.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/TransverseMercatorExact.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/UTMUPS.hpp"
- "/home/valentin/src/GeographicLib-1.50.1/include/GeographicLib/Utility.hpp"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/GeographicLib" TYPE FILE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/include/GeographicLib/Config.h")
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/install_manifest.txt b/libs/GeographicLib-1.50.1/BUILD/install_manifest.txt
deleted file mode 100644
index 71cfa08bcf3fcff20b94f08878c7b2020ca72f2d..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/install_manifest.txt
+++ /dev/null
@@ -1,184 +0,0 @@
-/usr/local/lib/libGeographic.so.19.0.1
-/usr/local/lib/libGeographic.so.19
-/usr/local/lib/libGeographic.so
-/usr/local/include/GeographicLib/Accumulator.hpp
-/usr/local/include/GeographicLib/AlbersEqualArea.hpp
-/usr/local/include/GeographicLib/AzimuthalEquidistant.hpp
-/usr/local/include/GeographicLib/CassiniSoldner.hpp
-/usr/local/include/GeographicLib/CircularEngine.hpp
-/usr/local/include/GeographicLib/Constants.hpp
-/usr/local/include/GeographicLib/DMS.hpp
-/usr/local/include/GeographicLib/Ellipsoid.hpp
-/usr/local/include/GeographicLib/EllipticFunction.hpp
-/usr/local/include/GeographicLib/GARS.hpp
-/usr/local/include/GeographicLib/GeoCoords.hpp
-/usr/local/include/GeographicLib/Geocentric.hpp
-/usr/local/include/GeographicLib/Geodesic.hpp
-/usr/local/include/GeographicLib/GeodesicExact.hpp
-/usr/local/include/GeographicLib/GeodesicLine.hpp
-/usr/local/include/GeographicLib/GeodesicLineExact.hpp
-/usr/local/include/GeographicLib/Geohash.hpp
-/usr/local/include/GeographicLib/Geoid.hpp
-/usr/local/include/GeographicLib/Georef.hpp
-/usr/local/include/GeographicLib/Gnomonic.hpp
-/usr/local/include/GeographicLib/GravityCircle.hpp
-/usr/local/include/GeographicLib/GravityModel.hpp
-/usr/local/include/GeographicLib/LambertConformalConic.hpp
-/usr/local/include/GeographicLib/LocalCartesian.hpp
-/usr/local/include/GeographicLib/MGRS.hpp
-/usr/local/include/GeographicLib/MagneticCircle.hpp
-/usr/local/include/GeographicLib/MagneticModel.hpp
-/usr/local/include/GeographicLib/Math.hpp
-/usr/local/include/GeographicLib/NearestNeighbor.hpp
-/usr/local/include/GeographicLib/NormalGravity.hpp
-/usr/local/include/GeographicLib/OSGB.hpp
-/usr/local/include/GeographicLib/PolarStereographic.hpp
-/usr/local/include/GeographicLib/PolygonArea.hpp
-/usr/local/include/GeographicLib/Rhumb.hpp
-/usr/local/include/GeographicLib/SphericalEngine.hpp
-/usr/local/include/GeographicLib/SphericalHarmonic.hpp
-/usr/local/include/GeographicLib/SphericalHarmonic1.hpp
-/usr/local/include/GeographicLib/SphericalHarmonic2.hpp
-/usr/local/include/GeographicLib/TransverseMercator.hpp
-/usr/local/include/GeographicLib/TransverseMercatorExact.hpp
-/usr/local/include/GeographicLib/UTMUPS.hpp
-/usr/local/include/GeographicLib/Utility.hpp
-/usr/local/include/GeographicLib/Config.h
-/usr/local/bin/CartConvert
-/usr/local/bin/ConicProj
-/usr/local/bin/GeodesicProj
-/usr/local/bin/GeoConvert
-/usr/local/bin/GeodSolve
-/usr/local/bin/GeoidEval
-/usr/local/bin/Gravity
-/usr/local/bin/MagneticField
-/usr/local/bin/Planimeter
-/usr/local/bin/RhumbSolve
-/usr/local/bin/TransverseMercatorProj
-/usr/local/sbin/geographiclib-get-geoids
-/usr/local/sbin/geographiclib-get-gravity
-/usr/local/sbin/geographiclib-get-magnetic
-/usr/local/share/man/man1/CartConvert.1
-/usr/local/share/man/man1/ConicProj.1
-/usr/local/share/man/man1/GeodesicProj.1
-/usr/local/share/man/man1/GeoConvert.1
-/usr/local/share/man/man1/GeodSolve.1
-/usr/local/share/man/man1/GeoidEval.1
-/usr/local/share/man/man1/Gravity.1
-/usr/local/share/man/man1/MagneticField.1
-/usr/local/share/man/man1/Planimeter.1
-/usr/local/share/man/man1/RhumbSolve.1
-/usr/local/share/man/man1/TransverseMercatorProj.1
-/usr/local/share/man/man8/geographiclib-get-geoids.8
-/usr/local/share/man/man8/geographiclib-get-gravity.8
-/usr/local/share/man/man8/geographiclib-get-magnetic.8
-/usr/local/share/doc/GeographicLib/html/LICENSE.txt
-/usr/local/share/doc/GeographicLib/html/index.html
-/usr/local/share/doc/GeographicLib/html/utilities.html
-/usr/local/lib/node_modules/geographiclib/LICENSE.txt
-/usr/local/lib/node_modules/geographiclib/package.json
-/usr/local/lib/node_modules/geographiclib/README.md
-/usr/local/lib/node_modules/geographiclib/geographiclib.js
-/usr/local/lib/node_modules/geographiclib/geographiclib.min.js
-/usr/local/lib/node_modules/geographiclib/src/Math.js
-/usr/local/lib/node_modules/geographiclib/src/Geodesic.js
-/usr/local/lib/node_modules/geographiclib/src/GeodesicLine.js
-/usr/local/lib/node_modules/geographiclib/src/PolygonArea.js
-/usr/local/lib/node_modules/geographiclib/src/DMS.js
-/usr/local/lib/node_modules/geographiclib/test/geodesictest.js
-/usr/local/share/matlab/geographiclib/Contents.m
-/usr/local/share/matlab/geographiclib/cassini_fwd.m
-/usr/local/share/matlab/geographiclib/cassini_inv.m
-/usr/local/share/matlab/geographiclib/defaultellipsoid.m
-/usr/local/share/matlab/geographiclib/ecc2flat.m
-/usr/local/share/matlab/geographiclib/eqdazim_fwd.m
-/usr/local/share/matlab/geographiclib/eqdazim_inv.m
-/usr/local/share/matlab/geographiclib/flat2ecc.m
-/usr/local/share/matlab/geographiclib/gedistance.m
-/usr/local/share/matlab/geographiclib/gedoc.m
-/usr/local/share/matlab/geographiclib/geocent_fwd.m
-/usr/local/share/matlab/geographiclib/geocent_inv.m
-/usr/local/share/matlab/geographiclib/geodarea.m
-/usr/local/share/matlab/geographiclib/geoddistance.m
-/usr/local/share/matlab/geographiclib/geoddoc.m
-/usr/local/share/matlab/geographiclib/geodreckon.m
-/usr/local/share/matlab/geographiclib/geographiclib_test.m
-/usr/local/share/matlab/geographiclib/geoid_height.m
-/usr/local/share/matlab/geographiclib/geoid_load.m
-/usr/local/share/matlab/geographiclib/gereckon.m
-/usr/local/share/matlab/geographiclib/gnomonic_fwd.m
-/usr/local/share/matlab/geographiclib/gnomonic_inv.m
-/usr/local/share/matlab/geographiclib/loccart_fwd.m
-/usr/local/share/matlab/geographiclib/loccart_inv.m
-/usr/local/share/matlab/geographiclib/mgrs_fwd.m
-/usr/local/share/matlab/geographiclib/mgrs_inv.m
-/usr/local/share/matlab/geographiclib/polarst_fwd.m
-/usr/local/share/matlab/geographiclib/polarst_inv.m
-/usr/local/share/matlab/geographiclib/projdoc.m
-/usr/local/share/matlab/geographiclib/tranmerc_fwd.m
-/usr/local/share/matlab/geographiclib/tranmerc_inv.m
-/usr/local/share/matlab/geographiclib/utmups_fwd.m
-/usr/local/share/matlab/geographiclib/utmups_inv.m
-/usr/local/share/matlab/geographiclib/private/A1m1f.m
-/usr/local/share/matlab/geographiclib/private/A2m1f.m
-/usr/local/share/matlab/geographiclib/private/A3coeff.m
-/usr/local/share/matlab/geographiclib/private/A3f.m
-/usr/local/share/matlab/geographiclib/private/AngDiff.m
-/usr/local/share/matlab/geographiclib/private/AngNormalize.m
-/usr/local/share/matlab/geographiclib/private/AngRound.m
-/usr/local/share/matlab/geographiclib/private/C1f.m
-/usr/local/share/matlab/geographiclib/private/C1pf.m
-/usr/local/share/matlab/geographiclib/private/C2f.m
-/usr/local/share/matlab/geographiclib/private/C3coeff.m
-/usr/local/share/matlab/geographiclib/private/C3f.m
-/usr/local/share/matlab/geographiclib/private/C4coeff.m
-/usr/local/share/matlab/geographiclib/private/C4f.m
-/usr/local/share/matlab/geographiclib/private/G4coeff.m
-/usr/local/share/matlab/geographiclib/private/GeoRotation.m
-/usr/local/share/matlab/geographiclib/private/LatFix.m
-/usr/local/share/matlab/geographiclib/private/SinCosSeries.m
-/usr/local/share/matlab/geographiclib/private/atan2dx.m
-/usr/local/share/matlab/geographiclib/private/cbrtx.m
-/usr/local/share/matlab/geographiclib/private/copysignx.m
-/usr/local/share/matlab/geographiclib/private/cvmgt.m
-/usr/local/share/matlab/geographiclib/private/eatanhe.m
-/usr/local/share/matlab/geographiclib/private/geoid_file.m
-/usr/local/share/matlab/geographiclib/private/geoid_load_file.m
-/usr/local/share/matlab/geographiclib/private/norm2.m
-/usr/local/share/matlab/geographiclib/private/remx.m
-/usr/local/share/matlab/geographiclib/private/sincosdx.m
-/usr/local/share/matlab/geographiclib/private/sumx.m
-/usr/local/share/matlab/geographiclib/private/swap.m
-/usr/local/share/matlab/geographiclib/private/tauf.m
-/usr/local/share/matlab/geographiclib/private/taupf.m
-/usr/local/share/matlab/geographiclib-legacy/Contents.m
-/usr/local/share/matlab/geographiclib-legacy/geocentricforward.m
-/usr/local/share/matlab/geographiclib-legacy/geocentricreverse.m
-/usr/local/share/matlab/geographiclib-legacy/geodesicdirect.m
-/usr/local/share/matlab/geographiclib-legacy/geodesicinverse.m
-/usr/local/share/matlab/geographiclib-legacy/geodesicline.m
-/usr/local/share/matlab/geographiclib-legacy/geoidheight.m
-/usr/local/share/matlab/geographiclib-legacy/localcartesianforward.m
-/usr/local/share/matlab/geographiclib-legacy/localcartesianreverse.m
-/usr/local/share/matlab/geographiclib-legacy/mgrsforward.m
-/usr/local/share/matlab/geographiclib-legacy/mgrsreverse.m
-/usr/local/share/matlab/geographiclib-legacy/polygonarea.m
-/usr/local/share/matlab/geographiclib-legacy/utmupsforward.m
-/usr/local/share/matlab/geographiclib-legacy/utmupsreverse.m
-/usr/local/lib/python/site-packages/geographiclib/__init__.py
-/usr/local/lib/python/site-packages/geographiclib/accumulator.py
-/usr/local/lib/python/site-packages/geographiclib/constants.py
-/usr/local/lib/python/site-packages/geographiclib/geodesic.py
-/usr/local/lib/python/site-packages/geographiclib/geodesiccapability.py
-/usr/local/lib/python/site-packages/geographiclib/geodesicline.py
-/usr/local/lib/python/site-packages/geographiclib/geomath.py
-/usr/local/lib/python/site-packages/geographiclib/polygonarea.py
-/usr/local/lib/python/site-packages/geographiclib/test/__init__.py
-/usr/local/lib/python/site-packages/geographiclib/test/test_geodesic.py
-/usr/local/lib/cmake/GeographicLib/geographiclib-config.cmake
-/usr/local/lib/cmake/GeographicLib/geographiclib-config-version.cmake
-/usr/local/lib/cmake/GeographicLib/geographiclib-targets.cmake
-/usr/local/lib/cmake/GeographicLib/geographiclib-targets-release.cmake
-/usr/local/lib/cmake/GeographicLib/geographiclib-namespace-targets.cmake
-/usr/local/lib/cmake/GeographicLib/geographiclib-namespace-targets-release.cmake
-/usr/local/lib/pkgconfig/geographiclib.pc
\ No newline at end of file
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/Makefile b/libs/GeographicLib-1.50.1/BUILD/js/Makefile
deleted file mode 100644
index 79492797808c4ea73ab64c31257c799144ebe8e9..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/Makefile
+++ /dev/null
@@ -1,236 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/js/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 js/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 js/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 js/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 js/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-js/CMakeFiles/javascript.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 js/CMakeFiles/javascript.dir/rule
-.PHONY : js/CMakeFiles/javascript.dir/rule
-
-# Convenience name for target.
-javascript: js/CMakeFiles/javascript.dir/rule
-
-.PHONY : javascript
-
-# fast build rule for target.
-javascript/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f js/CMakeFiles/javascript.dir/build.make js/CMakeFiles/javascript.dir/build
-.PHONY : javascript/fast
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install/strip"
- @echo "... install"
- @echo "... list_install_components"
- @echo "... package"
- @echo "... javascript"
- @echo "... package_source"
- @echo "... install/local"
- @echo "... test"
- @echo "... edit_cache"
- @echo "... rebuild_cache"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/js/cmake_install.cmake
deleted file mode 100644
index eef8226cc6aefe4eb92d7ffd1cfce6657b01c8c4..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/cmake_install.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/js
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/node_modules/geographiclib" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/js/../LICENSE.txt"
- "/home/valentin/src/GeographicLib-1.50.1/js/package.json"
- "/home/valentin/src/GeographicLib-1.50.1/js/README.md"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/js/geographiclib.js"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/js/geographiclib.min.js"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/node_modules/geographiclib/src" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/js/src/Math.js"
- "/home/valentin/src/GeographicLib-1.50.1/js/src/Geodesic.js"
- "/home/valentin/src/GeographicLib-1.50.1/js/src/GeodesicLine.js"
- "/home/valentin/src/GeographicLib-1.50.1/js/src/PolygonArea.js"
- "/home/valentin/src/GeographicLib-1.50.1/js/src/DMS.js"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/node_modules/geographiclib/test" TYPE FILE FILES "/home/valentin/src/GeographicLib-1.50.1/js/test/geodesictest.js")
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geod-calc.html b/libs/GeographicLib-1.50.1/BUILD/js/geod-calc.html
deleted file mode 100644
index dacce1efcb2b8a762523fee84bf61af6fcadadb0..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geod-calc.html
+++ /dev/null
@@ -1,593 +0,0 @@
-
-
-
- Geodesic calculations for an ellipsoid done right
-
-
-
-
-
-
-
-
-
-
-
Geodesic calculations for an ellipsoid done right
-
-
- This page illustrates the geodesic routines available in
- JavaScript package
-
- geographiclib, the geodesic routines in GeographicLib
- (
- documentation).
- The algorithms are considerably more accurate than Vincenty's
- method, and offer more functionality (an inverse method which
- never fails to converge, differential properties of the geodesic,
- and the area under a geodesic). The algorithms are derived in
-
- This page just provides a basic interface. Enter latitudes,
- longitudes, and azimuths as degrees and distances as meters using
- spaces or commas as separators. (Angles may be entered as decimal
- degrees or as degrees, minutes, and seconds, e.g. -20.51125,
- 20°30′40.5″S, S20d30'40.5", or
- -20:30:40.5.) The results are accurate to about
- 15 nanometers (or 0.1 m2 per vertex for
- areas). A slicker page where the geodesics are incorporated into
- Google Maps is given here. Basic
- online tools which provide similar capabilities are
-
- GeodSolve
- and
-
- Planimeter;
- these call a C++ backend. This page uses version
-
- of the geodesic code.
-
- Geodesic lines, circles, envelopes in Google Maps (instructions)
-
-
- The page allows you to draw
- accurate ellipsoidal geodesics on Google Maps. You can specify the
- geodesic in one of two forms:
-
-
- The direct problem: specify a starting point, an
- azimuth and a distance as lat1 lon1 azi1 s12 as degrees
- and meters.
-
- The inverse problem: specify the two end points
- as lat1 lon1 lat2 lon2 as degrees; this finds the
- shortest path between the two points.
-
- (Angles may be entered as decimal degrees or as degrees, minutes,
- and seconds, e.g. -20.51125, 20°30′40.5″S,
- S20d30'40.5", or -20:30:40.5.) Click on the
- corresponding "compute" button. The display then shows
-
-
The requested geodesic as a blue
- line; the WGS84 ellipsoid model is used.
-
The geodesic circle as a green
- curve; this shows the locus of points a
- distance s12 from lat1, lon1.
-
The geodesic envelopes as red
- curves; all the geodesics emanating from lat1,
- lon1 are tangent to the envelopes (providing they are
- extended far enough). The number of solutions to the inverse
- problem changes depending on whether lat2, lon2 lies
- inside the envelopes. For example, there are four (resp. two)
- approximately hemispheroidal geodesics if this point lies
- inside (resp. outside) the inner envelope (only one of which
- is a shortest path).
-
-
-
- The sample data has lat1, lon1 in Wellington, New
- Zealand, lat2, lon2 in Salamanca, Spain, and s12
- about 1.5 times the earth's circumference. Try clicking on the
- "compute" button next to the "Direct:" input box when the page
- first loads. You can navigate around the map using the normal
- Google Map controls.
-
-
- The precision of output for the geodesic is 0.1" or 1 m.
- A text-only geodesic calculator based
- on the same JavaScript library is also available; this calculator
- solves the inverse and direct geodesic problems, computes
- intermediate points on a geodesic, and finds the area of a
- geodesic polygon; it allows you to specify the precision of the
- output and choose between decimal degrees and degrees, minutes,
- and seconds. Basic online tools which provide similar capabilities
- are
-
- GeodSolve
- and
-
- Planimeter;
- these call a C++ backend.
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib.js
deleted file mode 100644
index b69c60dad5a329957890e9d153d5805b8bb62ae3..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib.js
+++ /dev/null
@@ -1,3111 +0,0 @@
-/*
- * Geodesic routines from GeographicLib translated to JavaScript. See
- * https://geographiclib.sourceforge.io/html/js/
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013),
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * This file is the concatenation and compression of the JavaScript files in
- * doc/scripts/GeographicLib in the source tree for GeographicLib.
- *
- * Copyright (c) Charles Karney (2011-2015) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- *
- * Version: 1.50
- * File inventory:
- * Math.js Geodesic.js GeodesicLine.js PolygonArea.js DMS.js
- */
-
-(function(cb) {
-
-/**************** Math.js ****************/
-/*
- * Math.js
- * Transcription of Math.hpp, Constants.hpp, and Accumulator.hpp into
- * JavaScript.
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-/**
- * @namespace GeographicLib
- * @description The parent namespace for the following modules:
- * - {@link module:GeographicLib/Geodesic GeographicLib/Geodesic} The main
- * engine for solving geodesic problems via the
- * {@link module:GeographicLib/Geodesic.Geodesic Geodesic} class.
- * - {@link module:GeographicLib/GeodesicLine GeographicLib/GeodesicLine}
- * computes points along a single geodesic line via the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine GeodesicLine}
- * class.
- * - {@link module:GeographicLib/PolygonArea GeographicLib/PolygonArea}
- * computes the area of a geodesic polygon via the
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea}
- * class.
- * - {@link module:GeographicLib/DMS GeographicLib/DMS} handles the decoding
- * and encoding of angles in degree, minutes, and seconds, via static
- * functions in this module.
- * - {@link module:GeographicLib/Constants GeographicLib/Constants} defines
- * constants specifying the version numbers and the parameters for the WGS84
- * ellipsoid.
- *
- * The following modules are used internally by the package:
- * - {@link module:GeographicLib/Math GeographicLib/Math} defines various
- * mathematical functions.
- * - {@link module:GeographicLib/Accumulator GeographicLib/Accumulator}
- * interally used by
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea} (via the
- * {@link module:GeographicLib/Accumulator.Accumulator Accumulator} class)
- * for summing the contributions to the area of a polygon.
- */
-"use strict";
-var GeographicLib = {};
-GeographicLib.Constants = {};
-GeographicLib.Math = {};
-GeographicLib.Accumulator = {};
-
-(function(
- /**
- * @exports GeographicLib/Constants
- * @description Define constants defining the version and WGS84 parameters.
- */
- c) {
-
- /**
- * @constant
- * @summary WGS84 parameters.
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- */
- c.WGS84 = { a: 6378137, f: 1/298.257223563 };
- /**
- * @constant
- * @summary an array of version numbers.
- * @property {number} major the major version number.
- * @property {number} minor the minor version number.
- * @property {number} patch the patch number.
- */
- c.version = { major: 1, minor: 50, patch: 0 };
- /**
- * @constant
- * @summary version string
- */
- c.version_string = "1.50";
-})(GeographicLib.Constants);
-
-(function(
- /**
- * @exports GeographicLib/Math
- * @description Some useful mathematical constants and functions (mainly for
- * internal use).
- */
- m) {
-
- /**
- * @summary The number of digits of precision in floating-point numbers.
- * @constant {number}
- */
- m.digits = 53;
- /**
- * @summary The machine epsilon.
- * @constant {number}
- */
- m.epsilon = Math.pow(0.5, m.digits - 1);
- /**
- * @summary The factor to convert degrees to radians.
- * @constant {number}
- */
- m.degree = Math.PI/180;
-
- /**
- * @summary Square a number.
- * @param {number} x the number.
- * @returns {number} the square.
- */
- m.sq = function(x) { return x * x; };
-
- /**
- * @summary The hypotenuse function.
- * @param {number} x the first side.
- * @param {number} y the second side.
- * @returns {number} the hypotenuse.
- */
- m.hypot = Math.hypot || function(x, y) {
- var a, b;
- x = Math.abs(x);
- y = Math.abs(y);
- a = Math.max(x, y); b = Math.min(x, y) / (a ? a : 1);
- return a * Math.sqrt(1 + b * b);
- };
-
- /**
- * @summary Cube root function.
- * @param {number} x the argument.
- * @returns {number} the real cube root.
- */
- m.cbrt = Math.cbrt || function(x) {
- var y = Math.pow(Math.abs(x), 1/3);
- return x > 0 ? y : (x < 0 ? -y : x);
- };
-
- /**
- * @summary The log1p function.
- * @param {number} x the argument.
- * @returns {number} log(1 + x).
- */
- m.log1p = Math.log1p || function(x) {
- var y = 1 + x,
- z = y - 1;
- // Here's the explanation for this magic: y = 1 + z, exactly, and z
- // approx x, thus log(y)/z (which is nearly constant near z = 0) returns
- // a good approximation to the true log(1 + x)/x. The multiplication x *
- // (log(y)/z) introduces little additional error.
- return z === 0 ? x : x * Math.log(y) / z;
- };
-
- /**
- * @summary Inverse hyperbolic tangent.
- * @param {number} x the argument.
- * @returns {number} tanh−1 x.
- */
- m.atanh = Math.atanh || function(x) {
- var y = Math.abs(x); // Enforce odd parity
- y = m.log1p(2 * y/(1 - y))/2;
- return x > 0 ? y : (x < 0 ? -y : x);
- };
-
- /**
- * @summary Copy the sign.
- * @param {number} x gives the magitude of the result.
- * @param {number} y gives the sign of the result.
- * @returns {number} value with the magnitude of x and with the sign of y.
- */
- m.copysign = function(x, y) {
- return Math.abs(x) * (y < 0 || (y === 0 && 1/y < 0) ? -1 : 1);
- };
-
- /**
- * @summary An error-free sum.
- * @param {number} u
- * @param {number} v
- * @returns {object} sum with sum.s = round(u + v) and sum.t is u + v −
- * round(u + v)
- */
- m.sum = function(u, v) {
- var s = u + v,
- up = s - v,
- vpp = s - up,
- t;
- up -= u;
- vpp -= v;
- t = -(up + vpp);
- // u + v = s + t
- // = round(u + v) + t
- return {s: s, t: t};
- };
-
- /**
- * @summary Evaluate a polynomial.
- * @param {integer} N the order of the polynomial.
- * @param {array} p the coefficient array (of size N + 1) (leading
- * order coefficient first)
- * @param {number} x the variable.
- * @returns {number} the value of the polynomial.
- */
- m.polyval = function(N, p, s, x) {
- var y = N < 0 ? 0 : p[s++];
- while (--N >= 0) y = y * x + p[s++];
- return y;
- };
-
- /**
- * @summary Coarsen a value close to zero.
- * @param {number} x
- * @returns {number} the coarsened value.
- */
- m.AngRound = function(x) {
- // The makes the smallest gap in x = 1/16 - nextafter(1/16, 0) = 1/2^57 for
- // reals = 0.7 pm on the earth if x is an angle in degrees. (This is about
- // 1000 times more resolution than we get with angles around 90 degrees.)
- // We use this to avoid having to deal with near singular cases when x is
- // non-zero but tiny (e.g., 1.0e-200). This converts -0 to +0; however
- // tiny negative numbers get converted to -0.
- if (x === 0) return x;
- var z = 1/16,
- y = Math.abs(x);
- // The compiler mustn't "simplify" z - (z - y) to y
- y = y < z ? z - (z - y) : y;
- return x < 0 ? -y : y;
- };
-
- /**
- * @summary The remainder function.
- * @param {number} x the numerator of the division
- * @param {number} y the denominator of the division
- * @return {number} the remainder in the range [−y/2, y/2].
- *
- * The range of x is unrestricted; y must be positive.
- */
- m.remainder = function(x, y) {
- x = x % y;
- return x < -y/2 ? x + y : (x < y/2 ? x : x - y);
- };
-
- /**
- * @summary Normalize an angle.
- * @param {number} x the angle in degrees.
- * @returns {number} the angle reduced to the range (−180°,
- * 180°].
- */
- m.AngNormalize = function(x) {
- // Place angle in (-180, 180].
- x = m.remainder(x, 360);
- return x == -180 ? 180 : x;
- };
-
- /**
- * @summary Normalize a latitude.
- * @param {number} x the angle in degrees.
- * @returns {number} x if it is in the range [−90°, 90°],
- * otherwise return NaN.
- */
- m.LatFix = function(x) {
- // Replace angle with NaN if outside [-90, 90].
- return Math.abs(x) > 90 ? Number.NaN : x;
- };
-
- /**
- * @summary The exact difference of two angles reduced to (−180°,
- * 180°]
- * @param {number} x the first angle in degrees.
- * @param {number} y the second angle in degrees.
- * @return {object} diff the exact difference, y − x.
- *
- * This computes z = y − x exactly, reduced to (−180°,
- * 180°]; and then sets diff.s = d = round(z) and diff.t = e = z −
- * round(z). If d = −180, then e > 0; If d = 180, then e ≤ 0.
- */
- m.AngDiff = function(x, y) {
- // Compute y - x and reduce to [-180,180] accurately.
- var r = m.sum(m.AngNormalize(-x), m.AngNormalize(y)),
- d = m.AngNormalize(r.s),
- t = r.t;
- return m.sum(d === 180 && t > 0 ? -180 : d, t);
- };
-
- /**
- * @summary Evaluate the sine and cosine function with the argument in
- * degrees
- * @param {number} x in degrees.
- * @returns {object} r with r.s = sin(x) and r.c = cos(x).
- */
- m.sincosd = function(x) {
- // In order to minimize round-off errors, this function exactly reduces
- // the argument to the range [-45, 45] before converting it to radians.
- var r, q, s, c, sinx, cosx;
- r = x % 360;
- q = 0 + Math.round(r / 90); // If r is NaN this returns NaN
- r -= 90 * q;
- // now abs(r) <= 45
- r *= this.degree;
- // Possibly could call the gnu extension sincos
- s = Math.sin(r); c = Math.cos(r);
- switch (q & 3) {
- case 0: sinx = s; cosx = c; break;
- case 1: sinx = c; cosx = -s; break;
- case 2: sinx = -s; cosx = -c; break;
- default: sinx = -c; cosx = s; break; // case 3
- }
- if (x !== 0) { sinx += 0; cosx += 0; }
- return {s: sinx, c: cosx};
- };
-
- /**
- * @summary Evaluate the atan2 function with the result in degrees
- * @param {number} y
- * @param {number} x
- * @returns atan2(y, x) in degrees, in the range (−180°
- * 180°].
- */
- m.atan2d = function(y, x) {
- // In order to minimize round-off errors, this function rearranges the
- // arguments so that result of atan2 is in the range [-pi/4, pi/4] before
- // converting it to degrees and mapping the result to the correct
- // quadrant.
- var q = 0, t, ang;
- if (Math.abs(y) > Math.abs(x)) { t = x; x = y; y = t; q = 2; }
- if (x < 0) { x = -x; ++q; }
- // here x >= 0 and x >= abs(y), so angle is in [-pi/4, pi/4]
- ang = Math.atan2(y, x) / this.degree;
- switch (q) {
- // Note that atan2d(-0.0, 1.0) will return -0. However, we expect that
- // atan2d will not be called with y = -0. If need be, include
- //
- // case 0: ang = 0 + ang; break;
- //
- // and handle mpfr as in AngRound.
- case 1: ang = (y >= 0 ? 180 : -180) - ang; break;
- case 2: ang = 90 - ang; break;
- case 3: ang = -90 + ang; break;
- }
- return ang;
- };
-})(GeographicLib.Math);
-
-(function(
- /**
- * @exports GeographicLib/Accumulator
- * @description Accurate summation via the
- * {@link module:GeographicLib/Accumulator.Accumulator Accumulator} class
- * (mainly for internal use).
- */
- a, m) {
-
- /**
- * @class
- * @summary Accurate summation of many numbers.
- * @classdesc This allows many numbers to be added together with twice the
- * normal precision. In the documentation of the member functions, sum
- * stands for the value currently held in the accumulator.
- * @param {number | Accumulator} [y = 0] set sum = y.
- */
- a.Accumulator = function(y) {
- this.Set(y);
- };
-
- /**
- * @summary Set the accumulator to a number.
- * @param {number | Accumulator} [y = 0] set sum = y.
- */
- a.Accumulator.prototype.Set = function(y) {
- if (!y) y = 0;
- if (y.constructor === a.Accumulator) {
- this._s = y._s;
- this._t = y._t;
- } else {
- this._s = y;
- this._t = 0;
- }
- };
-
- /**
- * @summary Add a number to the accumulator.
- * @param {number} [y = 0] set sum += y.
- */
- a.Accumulator.prototype.Add = function(y) {
- // Here's Shewchuk's solution...
- // Accumulate starting at least significant end
- var u = m.sum(y, this._t),
- v = m.sum(u.s, this._s);
- u = u.t;
- this._s = v.s;
- this._t = v.t;
- // Start is _s, _t decreasing and non-adjacent. Sum is now (s + t + u)
- // exactly with s, t, u non-adjacent and in decreasing order (except
- // for possible zeros). The following code tries to normalize the
- // result. Ideally, we want _s = round(s+t+u) and _u = round(s+t+u -
- // _s). The follow does an approximate job (and maintains the
- // decreasing non-adjacent property). Here are two "failures" using
- // 3-bit floats:
- //
- // Case 1: _s is not equal to round(s+t+u) -- off by 1 ulp
- // [12, -1] - 8 -> [4, 0, -1] -> [4, -1] = 3 should be [3, 0] = 3
- //
- // Case 2: _s+_t is not as close to s+t+u as it shold be
- // [64, 5] + 4 -> [64, 8, 1] -> [64, 8] = 72 (off by 1)
- // should be [80, -7] = 73 (exact)
- //
- // "Fixing" these problems is probably not worth the expense. The
- // representation inevitably leads to small errors in the accumulated
- // values. The additional errors illustrated here amount to 1 ulp of
- // the less significant word during each addition to the Accumulator
- // and an additional possible error of 1 ulp in the reported sum.
- //
- // Incidentally, the "ideal" representation described above is not
- // canonical, because _s = round(_s + _t) may not be true. For
- // example, with 3-bit floats:
- //
- // [128, 16] + 1 -> [160, -16] -- 160 = round(145).
- // But [160, 0] - 16 -> [128, 16] -- 128 = round(144).
- //
- if (this._s === 0) // This implies t == 0,
- this._s = u; // so result is u
- else
- this._t += u; // otherwise just accumulate u to t.
- };
-
- /**
- * @summary Return the result of adding a number to sum (but
- * don't change sum).
- * @param {number} [y = 0] the number to be added to the sum.
- * @return sum + y.
- */
- a.Accumulator.prototype.Sum = function(y) {
- var b;
- if (!y)
- return this._s;
- else {
- b = new a.Accumulator(this);
- b.Add(y);
- return b._s;
- }
- };
-
- /**
- * @summary Set sum = −sum.
- */
- a.Accumulator.prototype.Negate = function() {
- this._s *= -1;
- this._t *= -1;
- };
-
- /**
- * @summary Take the remainder
- * @param {number} y the divisor of the remainder operation.
- * @return sum in range [−y/2, y/2].
- */
- a.Accumulator.prototype.Remainder = function(y) {
- this._s = m.remainder(this._s, y);
- this.Add(0);
- };
-})(GeographicLib.Accumulator, GeographicLib.Math);
-
-/**************** Geodesic.js ****************/
-/*
- * Geodesic.js
- * Transcription of Geodesic.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2017) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER Math.js
-
-GeographicLib.Geodesic = {};
-GeographicLib.GeodesicLine = {};
-GeographicLib.PolygonArea = {};
-
-(function(
- /**
- * @exports GeographicLib/Geodesic
- * @description Solve geodesic problems via the
- * {@link module:GeographicLib/Geodesic.Geodesic Geodesic} class.
- */
- g, l, p, m, c) {
-
- var GEOGRAPHICLIB_GEODESIC_ORDER = 6,
- nA1_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA2_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA3_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA3x_ = nA3_,
- nC3x_, nC4x_,
- maxit1_ = 20,
- maxit2_ = maxit1_ + m.digits + 10,
- tol0_ = m.epsilon,
- tol1_ = 200 * tol0_,
- tol2_ = Math.sqrt(tol0_),
- tolb_ = tol0_ * tol1_,
- xthresh_ = 1000 * tol2_,
- CAP_NONE = 0,
- CAP_ALL = 0x1F,
- CAP_MASK = CAP_ALL,
- OUT_ALL = 0x7F80,
- astroid,
- A1m1f_coeff, C1f_coeff, C1pf_coeff,
- A2m1f_coeff, C2f_coeff,
- A3_coeff, C3_coeff, C4_coeff;
-
- g.tiny_ = Math.sqrt(Number.MIN_VALUE);
- g.nC1_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC1p_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC2_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC3_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC4_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- nC3x_ = (g.nC3_ * (g.nC3_ - 1)) / 2;
- nC4x_ = (g.nC4_ * (g.nC4_ + 1)) / 2;
- g.CAP_C1 = 1<<0;
- g.CAP_C1p = 1<<1;
- g.CAP_C2 = 1<<2;
- g.CAP_C3 = 1<<3;
- g.CAP_C4 = 1<<4;
-
- g.NONE = 0;
- g.ARC = 1<<6;
- g.LATITUDE = 1<<7 | CAP_NONE;
- g.LONGITUDE = 1<<8 | g.CAP_C3;
- g.AZIMUTH = 1<<9 | CAP_NONE;
- g.DISTANCE = 1<<10 | g.CAP_C1;
- g.STANDARD = g.LATITUDE | g.LONGITUDE | g.AZIMUTH | g.DISTANCE;
- g.DISTANCE_IN = 1<<11 | g.CAP_C1 | g.CAP_C1p;
- g.REDUCEDLENGTH = 1<<12 | g.CAP_C1 | g.CAP_C2;
- g.GEODESICSCALE = 1<<13 | g.CAP_C1 | g.CAP_C2;
- g.AREA = 1<<14 | g.CAP_C4;
- g.ALL = OUT_ALL| CAP_ALL;
- g.LONG_UNROLL = 1<<15;
- g.OUT_MASK = OUT_ALL| g.LONG_UNROLL;
-
- g.SinCosSeries = function(sinp, sinx, cosx, c) {
- // Evaluate
- // y = sinp ? sum(c[i] * sin( 2*i * x), i, 1, n) :
- // sum(c[i] * cos((2*i+1) * x), i, 0, n-1)
- // using Clenshaw summation. N.B. c[0] is unused for sin series
- // Approx operation count = (n + 5) mult and (2 * n + 2) add
- var k = c.length, // Point to one beyond last element
- n = k - (sinp ? 1 : 0),
- ar = 2 * (cosx - sinx) * (cosx + sinx), // 2 * cos(2 * x)
- y0 = n & 1 ? c[--k] : 0, y1 = 0; // accumulators for sum
- // Now n is even
- n = Math.floor(n/2);
- while (n--) {
- // Unroll loop x 2, so accumulators return to their original role
- y1 = ar * y0 - y1 + c[--k];
- y0 = ar * y1 - y0 + c[--k];
- }
- return (sinp ? 2 * sinx * cosx * y0 : // sin(2 * x) * y0
- cosx * (y0 - y1)); // cos(x) * (y0 - y1)
- };
-
- astroid = function(x, y) {
- // Solve k^4+2*k^3-(x^2+y^2-1)*k^2-2*y^2*k-y^2 = 0 for positive
- // root k. This solution is adapted from Geocentric::Reverse.
- var k,
- p = m.sq(x),
- q = m.sq(y),
- r = (p + q - 1) / 6,
- S, r2, r3, disc, u, T3, T, ang, v, uv, w;
- if ( !(q === 0 && r <= 0) ) {
- // Avoid possible division by zero when r = 0 by multiplying
- // equations for s and t by r^3 and r, resp.
- S = p * q / 4; // S = r^3 * s
- r2 = m.sq(r);
- r3 = r * r2;
- // The discriminant of the quadratic equation for T3. This is
- // zero on the evolute curve p^(1/3)+q^(1/3) = 1
- disc = S * (S + 2 * r3);
- u = r;
- if (disc >= 0) {
- T3 = S + r3;
- // Pick the sign on the sqrt to maximize abs(T3). This
- // minimizes loss of precision due to cancellation. The
- // result is unchanged because of the way the T is used
- // in definition of u.
- T3 += T3 < 0 ? -Math.sqrt(disc) : Math.sqrt(disc); // T3 = (r * t)^3
- // N.B. cbrt always returns the real root. cbrt(-8) = -2.
- T = m.cbrt(T3); // T = r * t
- // T can be zero; but then r2 / T -> 0.
- u += T + (T !== 0 ? r2 / T : 0);
- } else {
- // T is complex, but the way u is defined the result is real.
- ang = Math.atan2(Math.sqrt(-disc), -(S + r3));
- // There are three possible cube roots. We choose the
- // root which avoids cancellation. Note that disc < 0
- // implies that r < 0.
- u += 2 * r * Math.cos(ang / 3);
- }
- v = Math.sqrt(m.sq(u) + q); // guaranteed positive
- // Avoid loss of accuracy when u < 0.
- uv = u < 0 ? q / (v - u) : u + v; // u+v, guaranteed positive
- w = (uv - q) / (2 * v); // positive?
- // Rearrange expression for k to avoid loss of accuracy due to
- // subtraction. Division by 0 not possible because uv > 0, w >= 0.
- k = uv / (Math.sqrt(uv + m.sq(w)) + w); // guaranteed positive
- } else { // q == 0 && r <= 0
- // y = 0 with |x| <= 1. Handle this case directly.
- // for y small, positive root is k = abs(y)/sqrt(1-x^2)
- k = 0;
- }
- return k;
- };
-
- A1m1f_coeff = [
- // (1-eps)*A1-1, polynomial in eps2 of order 3
- +1, 4, 64, 0, 256
- ];
-
- // The scale factor A1-1 = mean value of (d/dsigma)I1 - 1
- g.A1m1f = function(eps) {
- var p = Math.floor(nA1_/2),
- t = m.polyval(p, A1m1f_coeff, 0, m.sq(eps)) / A1m1f_coeff[p + 1];
- return (t + eps) / (1 - eps);
- };
-
- C1f_coeff = [
- // C1[1]/eps^1, polynomial in eps2 of order 2
- -1, 6, -16, 32,
- // C1[2]/eps^2, polynomial in eps2 of order 2
- -9, 64, -128, 2048,
- // C1[3]/eps^3, polynomial in eps2 of order 1
- +9, -16, 768,
- // C1[4]/eps^4, polynomial in eps2 of order 1
- +3, -5, 512,
- // C1[5]/eps^5, polynomial in eps2 of order 0
- -7, 1280,
- // C1[6]/eps^6, polynomial in eps2 of order 0
- -7, 2048
- ];
-
- // The coefficients C1[l] in the Fourier expansion of B1
- g.C1f = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC1_; ++l) { // l is index of C1p[l]
- p = Math.floor((g.nC1_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C1f_coeff, o, eps2) / C1f_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- C1pf_coeff = [
- // C1p[1]/eps^1, polynomial in eps2 of order 2
- +205, -432, 768, 1536,
- // C1p[2]/eps^2, polynomial in eps2 of order 2
- +4005, -4736, 3840, 12288,
- // C1p[3]/eps^3, polynomial in eps2 of order 1
- -225, 116, 384,
- // C1p[4]/eps^4, polynomial in eps2 of order 1
- -7173, 2695, 7680,
- // C1p[5]/eps^5, polynomial in eps2 of order 0
- +3467, 7680,
- // C1p[6]/eps^6, polynomial in eps2 of order 0
- +38081, 61440
- ];
-
- // The coefficients C1p[l] in the Fourier expansion of B1p
- g.C1pf = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC1p_; ++l) { // l is index of C1p[l]
- p = Math.floor((g.nC1p_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C1pf_coeff, o, eps2) / C1pf_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- A2m1f_coeff = [
- // (eps+1)*A2-1, polynomial in eps2 of order 3
- -11, -28, -192, 0, 256
- ];
-
- // The scale factor A2-1 = mean value of (d/dsigma)I2 - 1
- g.A2m1f = function(eps) {
- var p = Math.floor(nA2_/2),
- t = m.polyval(p, A2m1f_coeff, 0, m.sq(eps)) / A2m1f_coeff[p + 1];
- return (t - eps) / (1 + eps);
- };
-
- C2f_coeff = [
- // C2[1]/eps^1, polynomial in eps2 of order 2
- +1, 2, 16, 32,
- // C2[2]/eps^2, polynomial in eps2 of order 2
- +35, 64, 384, 2048,
- // C2[3]/eps^3, polynomial in eps2 of order 1
- +15, 80, 768,
- // C2[4]/eps^4, polynomial in eps2 of order 1
- +7, 35, 512,
- // C2[5]/eps^5, polynomial in eps2 of order 0
- +63, 1280,
- // C2[6]/eps^6, polynomial in eps2 of order 0
- +77, 2048
- ];
-
- // The coefficients C2[l] in the Fourier expansion of B2
- g.C2f = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC2_; ++l) { // l is index of C2[l]
- p = Math.floor((g.nC2_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C2f_coeff, o, eps2) / C2f_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @summary Initialize a Geodesic object for a specific ellipsoid.
- * @classdesc Performs geodesic calculations on an ellipsoid of revolution.
- * The routines for solving the direct and inverse problems return an
- * object with some of the following fields set: lat1, lon1, azi1, lat2,
- * lon2, azi2, s12, a12, m12, M12, M21, S12. See {@tutorial 2-interface},
- * "The results".
- * @example
- * var GeographicLib = require("geographiclib"),
- * geod = GeographicLib.Geodesic.WGS84;
- * var inv = geod.Inverse(1,2,3,4);
- * console.log("lat1 = " + inv.lat1 + ", lon1 = " + inv.lon1 +
- * ", lat2 = " + inv.lat2 + ", lon2 = " + inv.lon2 +
- * ",\nazi1 = " + inv.azi1 + ", azi2 = " + inv.azi2 +
- * ", s12 = " + inv.s12);
- * @param {number} a the equatorial radius of the ellipsoid (meters).
- * @param {number} f the flattening of the ellipsoid. Setting f = 0 gives
- * a sphere (on which geodesics are great circles). Negative f gives a
- * prolate ellipsoid.
- * @throws an error if the parameters are illegal.
- */
- g.Geodesic = function(a, f) {
- this.a = a;
- this.f = f;
- this._f1 = 1 - this.f;
- this._e2 = this.f * (2 - this.f);
- this._ep2 = this._e2 / m.sq(this._f1); // e2 / (1 - e2)
- this._n = this.f / ( 2 - this.f);
- this._b = this.a * this._f1;
- // authalic radius squared
- this._c2 = (m.sq(this.a) + m.sq(this._b) *
- (this._e2 === 0 ? 1 :
- (this._e2 > 0 ? m.atanh(Math.sqrt(this._e2)) :
- Math.atan(Math.sqrt(-this._e2))) /
- Math.sqrt(Math.abs(this._e2))))/2;
- // The sig12 threshold for "really short". Using the auxiliary sphere
- // solution with dnm computed at (bet1 + bet2) / 2, the relative error in
- // the azimuth consistency check is sig12^2 * abs(f) * min(1, 1-f/2) / 2.
- // (Error measured for 1/100 < b/a < 100 and abs(f) >= 1/1000. For a given
- // f and sig12, the max error occurs for lines near the pole. If the old
- // rule for computing dnm = (dn1 + dn2)/2 is used, then the error increases
- // by a factor of 2.) Setting this equal to epsilon gives sig12 = etol2.
- // Here 0.1 is a safety factor (error decreased by 100) and max(0.001,
- // abs(f)) stops etol2 getting too large in the nearly spherical case.
- this._etol2 = 0.1 * tol2_ /
- Math.sqrt( Math.max(0.001, Math.abs(this.f)) *
- Math.min(1.0, 1 - this.f/2) / 2 );
- if (!(isFinite(this.a) && this.a > 0))
- throw new Error("Equatorial radius is not positive");
- if (!(isFinite(this._b) && this._b > 0))
- throw new Error("Polar semi-axis is not positive");
- this._A3x = new Array(nA3x_);
- this._C3x = new Array(nC3x_);
- this._C4x = new Array(nC4x_);
- this.A3coeff();
- this.C3coeff();
- this.C4coeff();
- };
-
- A3_coeff = [
- // A3, coeff of eps^5, polynomial in n of order 0
- -3, 128,
- // A3, coeff of eps^4, polynomial in n of order 1
- -2, -3, 64,
- // A3, coeff of eps^3, polynomial in n of order 2
- -1, -3, -1, 16,
- // A3, coeff of eps^2, polynomial in n of order 2
- +3, -1, -2, 8,
- // A3, coeff of eps^1, polynomial in n of order 1
- +1, -1, 2,
- // A3, coeff of eps^0, polynomial in n of order 0
- +1, 1
- ];
-
- // The scale factor A3 = mean value of (d/dsigma)I3
- g.Geodesic.prototype.A3coeff = function() {
- var o = 0, k = 0,
- j, p;
- for (j = nA3_ - 1; j >= 0; --j) { // coeff of eps^j
- p = Math.min(nA3_ - j - 1, j); // order of polynomial in n
- this._A3x[k++] = m.polyval(p, A3_coeff, o, this._n) /
- A3_coeff[o + p + 1];
- o += p + 2;
- }
- };
-
- C3_coeff = [
- // C3[1], coeff of eps^5, polynomial in n of order 0
- +3, 128,
- // C3[1], coeff of eps^4, polynomial in n of order 1
- +2, 5, 128,
- // C3[1], coeff of eps^3, polynomial in n of order 2
- -1, 3, 3, 64,
- // C3[1], coeff of eps^2, polynomial in n of order 2
- -1, 0, 1, 8,
- // C3[1], coeff of eps^1, polynomial in n of order 1
- -1, 1, 4,
- // C3[2], coeff of eps^5, polynomial in n of order 0
- +5, 256,
- // C3[2], coeff of eps^4, polynomial in n of order 1
- +1, 3, 128,
- // C3[2], coeff of eps^3, polynomial in n of order 2
- -3, -2, 3, 64,
- // C3[2], coeff of eps^2, polynomial in n of order 2
- +1, -3, 2, 32,
- // C3[3], coeff of eps^5, polynomial in n of order 0
- +7, 512,
- // C3[3], coeff of eps^4, polynomial in n of order 1
- -10, 9, 384,
- // C3[3], coeff of eps^3, polynomial in n of order 2
- +5, -9, 5, 192,
- // C3[4], coeff of eps^5, polynomial in n of order 0
- +7, 512,
- // C3[4], coeff of eps^4, polynomial in n of order 1
- -14, 7, 512,
- // C3[5], coeff of eps^5, polynomial in n of order 0
- +21, 2560
- ];
-
- // The coefficients C3[l] in the Fourier expansion of B3
- g.Geodesic.prototype.C3coeff = function() {
- var o = 0, k = 0,
- l, j, p;
- for (l = 1; l < g.nC3_; ++l) { // l is index of C3[l]
- for (j = g.nC3_ - 1; j >= l; --j) { // coeff of eps^j
- p = Math.min(g.nC3_ - j - 1, j); // order of polynomial in n
- this._C3x[k++] = m.polyval(p, C3_coeff, o, this._n) /
- C3_coeff[o + p + 1];
- o += p + 2;
- }
- }
- };
-
- C4_coeff = [
- // C4[0], coeff of eps^5, polynomial in n of order 0
- +97, 15015,
- // C4[0], coeff of eps^4, polynomial in n of order 1
- +1088, 156, 45045,
- // C4[0], coeff of eps^3, polynomial in n of order 2
- -224, -4784, 1573, 45045,
- // C4[0], coeff of eps^2, polynomial in n of order 3
- -10656, 14144, -4576, -858, 45045,
- // C4[0], coeff of eps^1, polynomial in n of order 4
- +64, 624, -4576, 6864, -3003, 15015,
- // C4[0], coeff of eps^0, polynomial in n of order 5
- +100, 208, 572, 3432, -12012, 30030, 45045,
- // C4[1], coeff of eps^5, polynomial in n of order 0
- +1, 9009,
- // C4[1], coeff of eps^4, polynomial in n of order 1
- -2944, 468, 135135,
- // C4[1], coeff of eps^3, polynomial in n of order 2
- +5792, 1040, -1287, 135135,
- // C4[1], coeff of eps^2, polynomial in n of order 3
- +5952, -11648, 9152, -2574, 135135,
- // C4[1], coeff of eps^1, polynomial in n of order 4
- -64, -624, 4576, -6864, 3003, 135135,
- // C4[2], coeff of eps^5, polynomial in n of order 0
- +8, 10725,
- // C4[2], coeff of eps^4, polynomial in n of order 1
- +1856, -936, 225225,
- // C4[2], coeff of eps^3, polynomial in n of order 2
- -8448, 4992, -1144, 225225,
- // C4[2], coeff of eps^2, polynomial in n of order 3
- -1440, 4160, -4576, 1716, 225225,
- // C4[3], coeff of eps^5, polynomial in n of order 0
- -136, 63063,
- // C4[3], coeff of eps^4, polynomial in n of order 1
- +1024, -208, 105105,
- // C4[3], coeff of eps^3, polynomial in n of order 2
- +3584, -3328, 1144, 315315,
- // C4[4], coeff of eps^5, polynomial in n of order 0
- -128, 135135,
- // C4[4], coeff of eps^4, polynomial in n of order 1
- -2560, 832, 405405,
- // C4[5], coeff of eps^5, polynomial in n of order 0
- +128, 99099
- ];
-
- g.Geodesic.prototype.C4coeff = function() {
- var o = 0, k = 0,
- l, j, p;
- for (l = 0; l < g.nC4_; ++l) { // l is index of C4[l]
- for (j = g.nC4_ - 1; j >= l; --j) { // coeff of eps^j
- p = g.nC4_ - j - 1; // order of polynomial in n
- this._C4x[k++] = m.polyval(p, C4_coeff, o, this._n) /
- C4_coeff[o + p + 1];
- o += p + 2;
- }
- }
- };
-
- g.Geodesic.prototype.A3f = function(eps) {
- // Evaluate A3
- return m.polyval(nA3x_ - 1, this._A3x, 0, eps);
- };
-
- g.Geodesic.prototype.C3f = function(eps, c) {
- // Evaluate C3 coeffs
- // Elements c[1] thru c[nC3_ - 1] are set
- var mult = 1,
- o = 0,
- l, p;
- for (l = 1; l < g.nC3_; ++l) { // l is index of C3[l]
- p = g.nC3_ - l - 1; // order of polynomial in eps
- mult *= eps;
- c[l] = mult * m.polyval(p, this._C3x, o, eps);
- o += p + 1;
- }
- };
-
- g.Geodesic.prototype.C4f = function(eps, c) {
- // Evaluate C4 coeffs
- // Elements c[0] thru c[g.nC4_ - 1] are set
- var mult = 1,
- o = 0,
- l, p;
- for (l = 0; l < g.nC4_; ++l) { // l is index of C4[l]
- p = g.nC4_ - l - 1; // order of polynomial in eps
- c[l] = mult * m.polyval(p, this._C4x, o, eps);
- o += p + 1;
- mult *= eps;
- }
- };
-
- // return s12b, m12b, m0, M12, M21
- g.Geodesic.prototype.Lengths = function(eps, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2,
- cbet1, cbet2, outmask,
- C1a, C2a) {
- // Return m12b = (reduced length)/_b; also calculate s12b =
- // distance/_b, and m0 = coefficient of secular term in
- // expression for reduced length.
- outmask &= g.OUT_MASK;
- var vals = {},
- m0x = 0, J12 = 0, A1 = 0, A2 = 0,
- B1, B2, l, csig12, t;
- if (outmask & (g.DISTANCE | g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- A1 = g.A1m1f(eps);
- g.C1f(eps, C1a);
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- A2 = g.A2m1f(eps);
- g.C2f(eps, C2a);
- m0x = A1 - A2;
- A2 = 1 + A2;
- }
- A1 = 1 + A1;
- }
- if (outmask & g.DISTANCE) {
- B1 = g.SinCosSeries(true, ssig2, csig2, C1a) -
- g.SinCosSeries(true, ssig1, csig1, C1a);
- // Missing a factor of _b
- vals.s12b = A1 * (sig12 + B1);
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- B2 = g.SinCosSeries(true, ssig2, csig2, C2a) -
- g.SinCosSeries(true, ssig1, csig1, C2a);
- J12 = m0x * sig12 + (A1 * B1 - A2 * B2);
- }
- } else if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- // Assume here that nC1_ >= nC2_
- for (l = 1; l <= g.nC2_; ++l)
- C2a[l] = A1 * C1a[l] - A2 * C2a[l];
- J12 = m0x * sig12 + (g.SinCosSeries(true, ssig2, csig2, C2a) -
- g.SinCosSeries(true, ssig1, csig1, C2a));
- }
- if (outmask & g.REDUCEDLENGTH) {
- vals.m0 = m0x;
- // Missing a factor of _b.
- // Add parens around (csig1 * ssig2) and (ssig1 * csig2) to ensure
- // accurate cancellation in the case of coincident points.
- vals.m12b = dn2 * (csig1 * ssig2) - dn1 * (ssig1 * csig2) -
- csig1 * csig2 * J12;
- }
- if (outmask & g.GEODESICSCALE) {
- csig12 = csig1 * csig2 + ssig1 * ssig2;
- t = this._ep2 * (cbet1 - cbet2) * (cbet1 + cbet2) / (dn1 + dn2);
- vals.M12 = csig12 + (t * ssig2 - csig2 * J12) * ssig1 / dn1;
- vals.M21 = csig12 - (t * ssig1 - csig1 * J12) * ssig2 / dn2;
- }
- return vals;
- };
-
- // return sig12, salp1, calp1, salp2, calp2, dnm
- g.Geodesic.prototype.InverseStart = function(sbet1, cbet1, dn1,
- sbet2, cbet2, dn2,
- lam12, slam12, clam12,
- C1a, C2a) {
- // Return a starting point for Newton's method in salp1 and calp1
- // (function value is -1). If Newton's method doesn't need to be
- // used, return also salp2 and calp2 and function value is sig12.
- // salp2, calp2 only updated if return val >= 0.
- var vals = {},
- // bet12 = bet2 - bet1 in [0, pi); bet12a = bet2 + bet1 in (-pi, 0]
- sbet12 = sbet2 * cbet1 - cbet2 * sbet1,
- cbet12 = cbet2 * cbet1 + sbet2 * sbet1,
- sbet12a, shortline, omg12, sbetm2, somg12, comg12, t, ssig12, csig12,
- x, y, lamscale, betscale, k2, eps, cbet12a, bet12a, m12b, m0, nvals,
- k, omg12a, lam12x;
- vals.sig12 = -1; // Return value
- // Volatile declaration needed to fix inverse cases
- // 88.202499451857 0 -88.202499451857 179.981022032992859592
- // 89.262080389218 0 -89.262080389218 179.992207982775375662
- // 89.333123580033 0 -89.333123580032997687 179.99295812360148422
- // which otherwise fail with g++ 4.4.4 x86 -O3
- sbet12a = sbet2 * cbet1;
- sbet12a += cbet2 * sbet1;
-
- shortline = cbet12 >= 0 && sbet12 < 0.5 && cbet2 * lam12 < 0.5;
- if (shortline) {
- sbetm2 = m.sq(sbet1 + sbet2);
- // sin((bet1+bet2)/2)^2
- // = (sbet1 + sbet2)^2 / ((sbet1 + sbet2)^2 + (cbet1 + cbet2)^2)
- sbetm2 /= sbetm2 + m.sq(cbet1 + cbet2);
- vals.dnm = Math.sqrt(1 + this._ep2 * sbetm2);
- omg12 = lam12 / (this._f1 * vals.dnm);
- somg12 = Math.sin(omg12); comg12 = Math.cos(omg12);
- } else {
- somg12 = slam12; comg12 = clam12;
- }
-
- vals.salp1 = cbet2 * somg12;
- vals.calp1 = comg12 >= 0 ?
- sbet12 + cbet2 * sbet1 * m.sq(somg12) / (1 + comg12) :
- sbet12a - cbet2 * sbet1 * m.sq(somg12) / (1 - comg12);
-
- ssig12 = m.hypot(vals.salp1, vals.calp1);
- csig12 = sbet1 * sbet2 + cbet1 * cbet2 * comg12;
- if (shortline && ssig12 < this._etol2) {
- // really short lines
- vals.salp2 = cbet1 * somg12;
- vals.calp2 = sbet12 - cbet1 * sbet2 *
- (comg12 >= 0 ? m.sq(somg12) / (1 + comg12) : 1 - comg12);
- // norm(vals.salp2, vals.calp2);
- t = m.hypot(vals.salp2, vals.calp2); vals.salp2 /= t; vals.calp2 /= t;
- // Set return value
- vals.sig12 = Math.atan2(ssig12, csig12);
- } else if (Math.abs(this._n) > 0.1 || // Skip astroid calc if too eccentric
- csig12 >= 0 ||
- ssig12 >= 6 * Math.abs(this._n) * Math.PI * m.sq(cbet1)) {
- // Nothing to do, zeroth order spherical approximation is OK
- } else {
- // Scale lam12 and bet2 to x, y coordinate system where antipodal
- // point is at origin and singular point is at y = 0, x = -1.
- lam12x = Math.atan2(-slam12, -clam12); // lam12 - pi
- if (this.f >= 0) { // In fact f == 0 does not get here
- // x = dlong, y = dlat
- k2 = m.sq(sbet1) * this._ep2;
- eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- lamscale = this.f * cbet1 * this.A3f(eps) * Math.PI;
- betscale = lamscale * cbet1;
-
- x = lam12x / lamscale;
- y = sbet12a / betscale;
- } else { // f < 0
- // x = dlat, y = dlong
- cbet12a = cbet2 * cbet1 - sbet2 * sbet1;
- bet12a = Math.atan2(sbet12a, cbet12a);
- // In the case of lon12 = 180, this repeats a calculation made
- // in Inverse.
- nvals = this.Lengths(this._n, Math.PI + bet12a,
- sbet1, -cbet1, dn1, sbet2, cbet2, dn2,
- cbet1, cbet2, g.REDUCEDLENGTH, C1a, C2a);
- m12b = nvals.m12b; m0 = nvals.m0;
- x = -1 + m12b / (cbet1 * cbet2 * m0 * Math.PI);
- betscale = x < -0.01 ? sbet12a / x :
- -this.f * m.sq(cbet1) * Math.PI;
- lamscale = betscale / cbet1;
- y = lam12 / lamscale;
- }
-
- if (y > -tol1_ && x > -1 - xthresh_) {
- // strip near cut
- if (this.f >= 0) {
- vals.salp1 = Math.min(1, -x);
- vals.calp1 = -Math.sqrt(1 - m.sq(vals.salp1));
- } else {
- vals.calp1 = Math.max(x > -tol1_ ? 0 : -1, x);
- vals.salp1 = Math.sqrt(1 - m.sq(vals.calp1));
- }
- } else {
- // Estimate alp1, by solving the astroid problem.
- //
- // Could estimate alpha1 = theta + pi/2, directly, i.e.,
- // calp1 = y/k; salp1 = -x/(1+k); for f >= 0
- // calp1 = x/(1+k); salp1 = -y/k; for f < 0 (need to check)
- //
- // However, it's better to estimate omg12 from astroid and use
- // spherical formula to compute alp1. This reduces the mean number of
- // Newton iterations for astroid cases from 2.24 (min 0, max 6) to 2.12
- // (min 0 max 5). The changes in the number of iterations are as
- // follows:
- //
- // change percent
- // 1 5
- // 0 78
- // -1 16
- // -2 0.6
- // -3 0.04
- // -4 0.002
- //
- // The histogram of iterations is (m = number of iterations estimating
- // alp1 directly, n = number of iterations estimating via omg12, total
- // number of trials = 148605):
- //
- // iter m n
- // 0 148 186
- // 1 13046 13845
- // 2 93315 102225
- // 3 36189 32341
- // 4 5396 7
- // 5 455 1
- // 6 56 0
- //
- // Because omg12 is near pi, estimate work with omg12a = pi - omg12
- k = astroid(x, y);
- omg12a = lamscale * ( this.f >= 0 ? -x * k/(1 + k) : -y * (1 + k)/k );
- somg12 = Math.sin(omg12a); comg12 = -Math.cos(omg12a);
- // Update spherical estimate of alp1 using omg12 instead of
- // lam12
- vals.salp1 = cbet2 * somg12;
- vals.calp1 = sbet12a -
- cbet2 * sbet1 * m.sq(somg12) / (1 - comg12);
- }
- }
- // Sanity check on starting guess. Backwards check allows NaN through.
- if (!(vals.salp1 <= 0.0)) {
- // norm(vals.salp1, vals.calp1);
- t = m.hypot(vals.salp1, vals.calp1); vals.salp1 /= t; vals.calp1 /= t;
- } else {
- vals.salp1 = 1; vals.calp1 = 0;
- }
- return vals;
- };
-
- // return lam12, salp2, calp2, sig12, ssig1, csig1, ssig2, csig2, eps,
- // domg12, dlam12,
- g.Geodesic.prototype.Lambda12 = function(sbet1, cbet1, dn1,
- sbet2, cbet2, dn2,
- salp1, calp1, slam120, clam120,
- diffp, C1a, C2a, C3a) {
- var vals = {},
- t, salp0, calp0,
- somg1, comg1, somg2, comg2, somg12, comg12, B312, eta, k2, nvals;
- if (sbet1 === 0 && calp1 === 0)
- // Break degeneracy of equatorial line. This case has already been
- // handled.
- calp1 = -g.tiny_;
-
- // sin(alp1) * cos(bet1) = sin(alp0)
- salp0 = salp1 * cbet1;
- calp0 = m.hypot(calp1, salp1 * sbet1); // calp0 > 0
-
- // tan(bet1) = tan(sig1) * cos(alp1)
- // tan(omg1) = sin(alp0) * tan(sig1) = tan(omg1)=tan(alp1)*sin(bet1)
- vals.ssig1 = sbet1; somg1 = salp0 * sbet1;
- vals.csig1 = comg1 = calp1 * cbet1;
- // norm(vals.ssig1, vals.csig1);
- t = m.hypot(vals.ssig1, vals.csig1); vals.ssig1 /= t; vals.csig1 /= t;
- // norm(somg1, comg1); -- don't need to normalize!
-
- // Enforce symmetries in the case abs(bet2) = -bet1. Need to be careful
- // about this case, since this can yield singularities in the Newton
- // iteration.
- // sin(alp2) * cos(bet2) = sin(alp0)
- vals.salp2 = cbet2 !== cbet1 ? salp0 / cbet2 : salp1;
- // calp2 = sqrt(1 - sq(salp2))
- // = sqrt(sq(calp0) - sq(sbet2)) / cbet2
- // and subst for calp0 and rearrange to give (choose positive sqrt
- // to give alp2 in [0, pi/2]).
- vals.calp2 = cbet2 !== cbet1 || Math.abs(sbet2) !== -sbet1 ?
- Math.sqrt(m.sq(calp1 * cbet1) + (cbet1 < -sbet1 ?
- (cbet2 - cbet1) * (cbet1 + cbet2) :
- (sbet1 - sbet2) * (sbet1 + sbet2))) /
- cbet2 : Math.abs(calp1);
- // tan(bet2) = tan(sig2) * cos(alp2)
- // tan(omg2) = sin(alp0) * tan(sig2).
- vals.ssig2 = sbet2; somg2 = salp0 * sbet2;
- vals.csig2 = comg2 = vals.calp2 * cbet2;
- // norm(vals.ssig2, vals.csig2);
- t = m.hypot(vals.ssig2, vals.csig2); vals.ssig2 /= t; vals.csig2 /= t;
- // norm(somg2, comg2); -- don't need to normalize!
-
- // sig12 = sig2 - sig1, limit to [0, pi]
- vals.sig12 = Math.atan2(Math.max(0, vals.csig1 * vals.ssig2 -
- vals.ssig1 * vals.csig2),
- vals.csig1 * vals.csig2 +
- vals.ssig1 * vals.ssig2);
-
- // omg12 = omg2 - omg1, limit to [0, pi]
- somg12 = Math.max(0, comg1 * somg2 - somg1 * comg2);
- comg12 = comg1 * comg2 + somg1 * somg2;
- // eta = omg12 - lam120
- eta = Math.atan2(somg12 * clam120 - comg12 * slam120,
- comg12 * clam120 + somg12 * slam120);
- k2 = m.sq(calp0) * this._ep2;
- vals.eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- this.C3f(vals.eps, C3a);
- B312 = (g.SinCosSeries(true, vals.ssig2, vals.csig2, C3a) -
- g.SinCosSeries(true, vals.ssig1, vals.csig1, C3a));
- vals.domg12 = -this.f * this.A3f(vals.eps) * salp0 * (vals.sig12 + B312);
- vals.lam12 = eta + vals.domg12;
- if (diffp) {
- if (vals.calp2 === 0)
- vals.dlam12 = -2 * this._f1 * dn1 / sbet1;
- else {
- nvals = this.Lengths(vals.eps, vals.sig12,
- vals.ssig1, vals.csig1, dn1,
- vals.ssig2, vals.csig2, dn2,
- cbet1, cbet2, g.REDUCEDLENGTH, C1a, C2a);
- vals.dlam12 = nvals.m12b;
- vals.dlam12 *= this._f1 / (vals.calp2 * cbet2);
- }
- }
- return vals;
- };
-
- /**
- * @summary Solve the inverse geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} lat2 the latitude of the second point in degrees.
- * @param {number} lon2 the longitude of the second point in degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results
- * @description The lat1, lon1, lat2, lon2, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Inverse = function(lat1, lon1, lat2, lon2, outmask) {
- var r, vals;
- if (!outmask) outmask = g.STANDARD;
- if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- outmask &= g.OUT_MASK;
- r = this.InverseInt(lat1, lon1, lat2, lon2, outmask);
- vals = r.vals;
- if (outmask & g.AZIMUTH) {
- vals.azi1 = m.atan2d(r.salp1, r.calp1);
- vals.azi2 = m.atan2d(r.salp2, r.calp2);
- }
- return vals;
- };
-
- g.Geodesic.prototype.InverseInt = function(lat1, lon1, lat2, lon2, outmask) {
- var vals = {},
- lon12, lon12s, lonsign, t, swapp, latsign,
- sbet1, cbet1, sbet2, cbet2, s12x, m12x,
- dn1, dn2, lam12, slam12, clam12,
- sig12, calp1, salp1, calp2, salp2, C1a, C2a, C3a, meridian, nvals,
- ssig1, csig1, ssig2, csig2, eps, omg12, dnm,
- numit, salp1a, calp1a, salp1b, calp1b,
- tripn, tripb, v, dv, dalp1, sdalp1, cdalp1, nsalp1,
- lengthmask, salp0, calp0, alp12, k2, A4, C4a, B41, B42,
- somg12, comg12, domg12, dbet1, dbet2, salp12, calp12, sdomg12, cdomg12;
- // Compute longitude difference (AngDiff does this carefully). Result is
- // in [-180, 180] but -180 is only for west-going geodesics. 180 is for
- // east-going and meridional geodesics.
- vals.lat1 = lat1 = m.LatFix(lat1); vals.lat2 = lat2 = m.LatFix(lat2);
- // If really close to the equator, treat as on equator.
- lat1 = m.AngRound(lat1);
- lat2 = m.AngRound(lat2);
- lon12 = m.AngDiff(lon1, lon2); lon12s = lon12.t; lon12 = lon12.s;
- if (outmask & g.LONG_UNROLL) {
- vals.lon1 = lon1; vals.lon2 = (lon1 + lon12) + lon12s;
- } else {
- vals.lon1 = m.AngNormalize(lon1); vals.lon2 = m.AngNormalize(lon2);
- }
- // Make longitude difference positive.
- lonsign = lon12 >= 0 ? 1 : -1;
- // If very close to being on the same half-meridian, then make it so.
- lon12 = lonsign * m.AngRound(lon12);
- lon12s = m.AngRound((180 - lon12) - lonsign * lon12s);
- lam12 = lon12 * m.degree;
- t = m.sincosd(lon12 > 90 ? lon12s : lon12);
- slam12 = t.s; clam12 = (lon12 > 90 ? -1 : 1) * t.c;
-
- // Swap points so that point with higher (abs) latitude is point 1
- // If one latitude is a nan, then it becomes lat1.
- swapp = Math.abs(lat1) < Math.abs(lat2) ? -1 : 1;
- if (swapp < 0) {
- lonsign *= -1;
- t = lat1;
- lat1 = lat2;
- lat2 = t;
- // swap(lat1, lat2);
- }
- // Make lat1 <= 0
- latsign = lat1 < 0 ? 1 : -1;
- lat1 *= latsign;
- lat2 *= latsign;
- // Now we have
- //
- // 0 <= lon12 <= 180
- // -90 <= lat1 <= 0
- // lat1 <= lat2 <= -lat1
- //
- // longsign, swapp, latsign register the transformation to bring the
- // coordinates to this canonical form. In all cases, 1 means no change was
- // made. We make these transformations so that there are few cases to
- // check, e.g., on verifying quadrants in atan2. In addition, this
- // enforces some symmetries in the results returned.
-
- t = m.sincosd(lat1); sbet1 = this._f1 * t.s; cbet1 = t.c;
- // norm(sbet1, cbet1);
- t = m.hypot(sbet1, cbet1); sbet1 /= t; cbet1 /= t;
- // Ensure cbet1 = +epsilon at poles
- cbet1 = Math.max(g.tiny_, cbet1);
-
- t = m.sincosd(lat2); sbet2 = this._f1 * t.s; cbet2 = t.c;
- // norm(sbet2, cbet2);
- t = m.hypot(sbet2, cbet2); sbet2 /= t; cbet2 /= t;
- // Ensure cbet2 = +epsilon at poles
- cbet2 = Math.max(g.tiny_, cbet2);
-
- // If cbet1 < -sbet1, then cbet2 - cbet1 is a sensitive measure of the
- // |bet1| - |bet2|. Alternatively (cbet1 >= -sbet1), abs(sbet2) + sbet1 is
- // a better measure. This logic is used in assigning calp2 in Lambda12.
- // Sometimes these quantities vanish and in that case we force bet2 = +/-
- // bet1 exactly. An example where is is necessary is the inverse problem
- // 48.522876735459 0 -48.52287673545898293 179.599720456223079643
- // which failed with Visual Studio 10 (Release and Debug)
-
- if (cbet1 < -sbet1) {
- if (cbet2 === cbet1)
- sbet2 = sbet2 < 0 ? sbet1 : -sbet1;
- } else {
- if (Math.abs(sbet2) === -sbet1)
- cbet2 = cbet1;
- }
-
- dn1 = Math.sqrt(1 + this._ep2 * m.sq(sbet1));
- dn2 = Math.sqrt(1 + this._ep2 * m.sq(sbet2));
-
- // index zero elements of these arrays are unused
- C1a = new Array(g.nC1_ + 1);
- C2a = new Array(g.nC2_ + 1);
- C3a = new Array(g.nC3_);
-
- meridian = lat1 === -90 || slam12 === 0;
- if (meridian) {
-
- // Endpoints are on a single full meridian, so the geodesic might
- // lie on a meridian.
-
- calp1 = clam12; salp1 = slam12; // Head to the target longitude
- calp2 = 1; salp2 = 0; // At the target we're heading north
-
- // tan(bet) = tan(sig) * cos(alp)
- ssig1 = sbet1; csig1 = calp1 * cbet1;
- ssig2 = sbet2; csig2 = calp2 * cbet2;
-
- // sig12 = sig2 - sig1
- sig12 = Math.atan2(Math.max(0, csig1 * ssig2 - ssig1 * csig2),
- csig1 * csig2 + ssig1 * ssig2);
- nvals = this.Lengths(this._n, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2, cbet1, cbet2,
- outmask | g.DISTANCE | g.REDUCEDLENGTH,
- C1a, C2a);
- s12x = nvals.s12b;
- m12x = nvals.m12b;
- // Ignore m0
- if (outmask & g.GEODESICSCALE) {
- vals.M12 = nvals.M12;
- vals.M21 = nvals.M21;
- }
- // Add the check for sig12 since zero length geodesics might yield
- // m12 < 0. Test case was
- //
- // echo 20.001 0 20.001 0 | GeodSolve -i
- //
- // In fact, we will have sig12 > pi/2 for meridional geodesic
- // which is not a shortest path.
- if (sig12 < 1 || m12x >= 0) {
- // Need at least 2, to handle 90 0 90 180
- if (sig12 < 3 * g.tiny_)
- sig12 = m12x = s12x = 0;
- m12x *= this._b;
- s12x *= this._b;
- vals.a12 = sig12 / m.degree;
- } else
- // m12 < 0, i.e., prolate and too close to anti-podal
- meridian = false;
- }
-
- somg12 = 2;
- if (!meridian &&
- sbet1 === 0 && // and sbet2 == 0
- (this.f <= 0 || lon12s >= this.f * 180)) {
-
- // Geodesic runs along equator
- calp1 = calp2 = 0; salp1 = salp2 = 1;
- s12x = this.a * lam12;
- sig12 = omg12 = lam12 / this._f1;
- m12x = this._b * Math.sin(sig12);
- if (outmask & g.GEODESICSCALE)
- vals.M12 = vals.M21 = Math.cos(sig12);
- vals.a12 = lon12 / this._f1;
-
- } else if (!meridian) {
-
- // Now point1 and point2 belong within a hemisphere bounded by a
- // meridian and geodesic is neither meridional or equatorial.
-
- // Figure a starting point for Newton's method
- nvals = this.InverseStart(sbet1, cbet1, dn1, sbet2, cbet2, dn2,
- lam12, slam12, clam12, C1a, C2a);
- sig12 = nvals.sig12;
- salp1 = nvals.salp1;
- calp1 = nvals.calp1;
-
- if (sig12 >= 0) {
- salp2 = nvals.salp2;
- calp2 = nvals.calp2;
- // Short lines (InverseStart sets salp2, calp2, dnm)
-
- dnm = nvals.dnm;
- s12x = sig12 * this._b * dnm;
- m12x = m.sq(dnm) * this._b * Math.sin(sig12 / dnm);
- if (outmask & g.GEODESICSCALE)
- vals.M12 = vals.M21 = Math.cos(sig12 / dnm);
- vals.a12 = sig12 / m.degree;
- omg12 = lam12 / (this._f1 * dnm);
- } else {
-
- // Newton's method. This is a straightforward solution of f(alp1) =
- // lambda12(alp1) - lam12 = 0 with one wrinkle. f(alp) has exactly one
- // root in the interval (0, pi) and its derivative is positive at the
- // root. Thus f(alp) is positive for alp > alp1 and negative for alp <
- // alp1. During the course of the iteration, a range (alp1a, alp1b) is
- // maintained which brackets the root and with each evaluation of
- // f(alp) the range is shrunk if possible. Newton's method is
- // restarted whenever the derivative of f is negative (because the new
- // value of alp1 is then further from the solution) or if the new
- // estimate of alp1 lies outside (0,pi); in this case, the new starting
- // guess is taken to be (alp1a + alp1b) / 2.
- numit = 0;
- // Bracketing range
- salp1a = g.tiny_; calp1a = 1; salp1b = g.tiny_; calp1b = -1;
- for (tripn = false, tripb = false; numit < maxit2_; ++numit) {
- // the WGS84 test set: mean = 1.47, sd = 1.25, max = 16
- // WGS84 and random input: mean = 2.85, sd = 0.60
- nvals = this.Lambda12(sbet1, cbet1, dn1, sbet2, cbet2, dn2,
- salp1, calp1, slam12, clam12, numit < maxit1_,
- C1a, C2a, C3a);
- v = nvals.lam12;
- salp2 = nvals.salp2;
- calp2 = nvals.calp2;
- sig12 = nvals.sig12;
- ssig1 = nvals.ssig1;
- csig1 = nvals.csig1;
- ssig2 = nvals.ssig2;
- csig2 = nvals.csig2;
- eps = nvals.eps;
- domg12 = nvals.domg12;
- dv = nvals.dlam12;
-
- // 2 * tol0 is approximately 1 ulp for a number in [0, pi].
- // Reversed test to allow escape with NaNs
- if (tripb || !(Math.abs(v) >= (tripn ? 8 : 1) * tol0_))
- break;
- // Update bracketing values
- if (v > 0 && (numit < maxit1_ || calp1/salp1 > calp1b/salp1b)) {
- salp1b = salp1; calp1b = calp1;
- } else if (v < 0 &&
- (numit < maxit1_ || calp1/salp1 < calp1a/salp1a)) {
- salp1a = salp1; calp1a = calp1;
- }
- if (numit < maxit1_ && dv > 0) {
- dalp1 = -v/dv;
- sdalp1 = Math.sin(dalp1); cdalp1 = Math.cos(dalp1);
- nsalp1 = salp1 * cdalp1 + calp1 * sdalp1;
- if (nsalp1 > 0 && Math.abs(dalp1) < Math.PI) {
- calp1 = calp1 * cdalp1 - salp1 * sdalp1;
- salp1 = nsalp1;
- // norm(salp1, calp1);
- t = m.hypot(salp1, calp1); salp1 /= t; calp1 /= t;
- // In some regimes we don't get quadratic convergence because
- // slope -> 0. So use convergence conditions based on epsilon
- // instead of sqrt(epsilon).
- tripn = Math.abs(v) <= 16 * tol0_;
- continue;
- }
- }
- // Either dv was not positive or updated value was outside legal
- // range. Use the midpoint of the bracket as the next estimate.
- // This mechanism is not needed for the WGS84 ellipsoid, but it does
- // catch problems with more eccentric ellipsoids. Its efficacy is
- // such for the WGS84 test set with the starting guess set to alp1 =
- // 90deg:
- // the WGS84 test set: mean = 5.21, sd = 3.93, max = 24
- // WGS84 and random input: mean = 4.74, sd = 0.99
- salp1 = (salp1a + salp1b)/2;
- calp1 = (calp1a + calp1b)/2;
- // norm(salp1, calp1);
- t = m.hypot(salp1, calp1); salp1 /= t; calp1 /= t;
- tripn = false;
- tripb = (Math.abs(salp1a - salp1) + (calp1a - calp1) < tolb_ ||
- Math.abs(salp1 - salp1b) + (calp1 - calp1b) < tolb_);
- }
- lengthmask = outmask |
- (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE) ?
- g.DISTANCE : g.NONE);
- nvals = this.Lengths(eps, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2,
- cbet1, cbet2,
- lengthmask, C1a, C2a);
- s12x = nvals.s12b;
- m12x = nvals.m12b;
- // Ignore m0
- if (outmask & g.GEODESICSCALE) {
- vals.M12 = nvals.M12;
- vals.M21 = nvals.M21;
- }
- m12x *= this._b;
- s12x *= this._b;
- vals.a12 = sig12 / m.degree;
- if (outmask & g.AREA) {
- // omg12 = lam12 - domg12
- sdomg12 = Math.sin(domg12); cdomg12 = Math.cos(domg12);
- somg12 = slam12 * cdomg12 - clam12 * sdomg12;
- comg12 = clam12 * cdomg12 + slam12 * sdomg12;
- }
- }
- }
-
- if (outmask & g.DISTANCE)
- vals.s12 = 0 + s12x; // Convert -0 to 0
-
- if (outmask & g.REDUCEDLENGTH)
- vals.m12 = 0 + m12x; // Convert -0 to 0
-
- if (outmask & g.AREA) {
- // From Lambda12: sin(alp1) * cos(bet1) = sin(alp0)
- salp0 = salp1 * cbet1;
- calp0 = m.hypot(calp1, salp1 * sbet1); // calp0 > 0
- if (calp0 !== 0 && salp0 !== 0) {
- // From Lambda12: tan(bet) = tan(sig) * cos(alp)
- ssig1 = sbet1; csig1 = calp1 * cbet1;
- ssig2 = sbet2; csig2 = calp2 * cbet2;
- k2 = m.sq(calp0) * this._ep2;
- eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- // Multiplier = a^2 * e^2 * cos(alpha0) * sin(alpha0).
- A4 = m.sq(this.a) * calp0 * salp0 * this._e2;
- // norm(ssig1, csig1);
- t = m.hypot(ssig1, csig1); ssig1 /= t; csig1 /= t;
- // norm(ssig2, csig2);
- t = m.hypot(ssig2, csig2); ssig2 /= t; csig2 /= t;
- C4a = new Array(g.nC4_);
- this.C4f(eps, C4a);
- B41 = g.SinCosSeries(false, ssig1, csig1, C4a);
- B42 = g.SinCosSeries(false, ssig2, csig2, C4a);
- vals.S12 = A4 * (B42 - B41);
- } else
- // Avoid problems with indeterminate sig1, sig2 on equator
- vals.S12 = 0;
- if (!meridian && somg12 > 1) {
- somg12 = Math.sin(omg12); comg12 = Math.cos(omg12);
- }
- if (!meridian &&
- comg12 > -0.7071 && // Long difference not too big
- sbet2 - sbet1 < 1.75) { // Lat difference not too big
- // Use tan(Gamma/2) = tan(omg12/2)
- // * (tan(bet1/2)+tan(bet2/2))/(1+tan(bet1/2)*tan(bet2/2))
- // with tan(x/2) = sin(x)/(1+cos(x))
- domg12 = 1 + comg12; dbet1 = 1 + cbet1; dbet2 = 1 + cbet2;
- alp12 = 2 * Math.atan2( somg12 * (sbet1*dbet2 + sbet2*dbet1),
- domg12 * (sbet1*sbet2 + dbet1*dbet2) );
- } else {
- // alp12 = alp2 - alp1, used in atan2 so no need to normalize
- salp12 = salp2 * calp1 - calp2 * salp1;
- calp12 = calp2 * calp1 + salp2 * salp1;
- // The right thing appears to happen if alp1 = +/-180 and alp2 = 0, viz
- // salp12 = -0 and alp12 = -180. However this depends on the sign
- // being attached to 0 correctly. The following ensures the correct
- // behavior.
- if (salp12 === 0 && calp12 < 0) {
- salp12 = g.tiny_ * calp1;
- calp12 = -1;
- }
- alp12 = Math.atan2(salp12, calp12);
- }
- vals.S12 += this._c2 * alp12;
- vals.S12 *= swapp * lonsign * latsign;
- // Convert -0 to 0
- vals.S12 += 0;
- }
-
- // Convert calp, salp to azimuth accounting for lonsign, swapp, latsign.
- if (swapp < 0) {
- t = salp1;
- salp1 = salp2;
- salp2 = t;
- // swap(salp1, salp2);
- t = calp1;
- calp1 = calp2;
- calp2 = t;
- // swap(calp1, calp2);
- if (outmask & g.GEODESICSCALE) {
- t = vals.M12;
- vals.M12 = vals.M21;
- vals.M21 = t;
- // swap(vals.M12, vals.M21);
- }
- }
-
- salp1 *= swapp * lonsign; calp1 *= swapp * latsign;
- salp2 *= swapp * lonsign; calp2 *= swapp * latsign;
-
- return {vals: vals,
- salp1: salp1, calp1: calp1,
- salp2: salp2, calp2: calp2};
- };
-
- /**
- * @summary Solve the general direct geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {bool} arcmode is the next parameter an arc length?
- * @param {number} s12_a12 the (arcmode ? arc length : distance) from the
- * first point to the second in (arcmode ? degrees : meters).
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are always
- * set; s12 is included if arcmode is false. For details on the outmask
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.GenDirect = function(lat1, lon1, azi1,
- arcmode, s12_a12, outmask) {
- var line;
- if (!outmask) outmask = g.STANDARD;
- else if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- // Automatically supply DISTANCE_IN if necessary
- if (!arcmode) outmask |= g.DISTANCE_IN;
- line = new l.GeodesicLine(this, lat1, lon1, azi1, outmask);
- return line.GenPosition(arcmode, s12_a12, outmask);
- };
-
- /**
- * @summary Solve the direct geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {number} s12 the distance from the first point to the second in
- * meters.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, s12, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Direct = function(lat1, lon1, azi1, s12, outmask) {
- return this.GenDirect(lat1, lon1, azi1, false, s12, outmask);
- };
-
- /**
- * @summary Solve the direct geodesic problem with arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {number} a12 the arc length from the first point to the second in
- * degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.ArcDirect = function(lat1, lon1, azi1, a12, outmask) {
- return this.GenDirect(lat1, lon1, azi1, true, a12, outmask);
- };
-
- /**
- * @summary Create a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description For details on the caps parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Line = function(lat1, lon1, azi1, caps) {
- return new l.GeodesicLine(this, lat1, lon1, azi1, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of distance.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {number} s12 the distance between point 1 and point 2 (meters); it
- * can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.DirectLine = function(lat1, lon1, azi1, s12, caps) {
- return this.GenDirectLine(lat1, lon1, azi1, false, s12, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {number} a12 the arc length between point 1 and point 2 (degrees);
- * it can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.ArcDirectLine = function(lat1, lon1, azi1, a12, caps) {
- return this.GenDirectLine(lat1, lon1, azi1, true, a12, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of either distance or arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {bool} arcmode boolean flag determining the meaning of the
- * s12_a12.
- * @param {number} s12_a12 if arcmode is false, this is the distance between
- * point 1 and point 2 (meters); otherwise it is the arc length between
- * point 1 and point 2 (degrees); it can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.GenDirectLine = function(lat1, lon1, azi1,
- arcmode, s12_a12, caps) {
- var t;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
- // Automatically supply DISTANCE_IN if necessary
- if (!arcmode) caps |= g.DISTANCE_IN;
- t = new l.GeodesicLine(this, lat1, lon1, azi1, caps);
- t.GenSetDistance(arcmode, s12_a12);
- return t;
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the inverse geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} lat2 the latitude of the second point in degrees.
- * @param {number} lon2 the longitude of the second point in degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the inverse geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.InverseLine = function(lat1, lon1, lat2, lon2, caps) {
- var r, t, azi1;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
- r = this.InverseInt(lat1, lon1, lat2, lon2, g.ARC);
- azi1 = m.atan2d(r.salp1, r.calp1);
- // Ensure that a12 can be converted to a distance
- if (caps & (g.OUT_MASK & g.DISTANCE_IN)) caps |= g.DISTANCE;
- t = new l.GeodesicLine(this, lat1, lon1, azi1, caps, r.salp1, r.calp1);
- t.SetArc(r.vals.a12);
- return t;
- };
-
- /**
- * @summary Create a {@link module:GeographicLib/PolygonArea.PolygonArea
- * PolygonArea} object.
- * @param {bool} [polyline = false] if true the new PolygonArea object
- * describes a polyline instead of a polygon.
- * @returns {object} the
- * {@link module:GeographicLib/PolygonArea.PolygonArea
- * PolygonArea} object
- */
- g.Geodesic.prototype.Polygon = function(polyline) {
- return new p.PolygonArea(this, polyline);
- };
-
- /**
- * @summary a {@link module:GeographicLib/Geodesic.Geodesic Geodesic} object
- * initialized for the WGS84 ellipsoid.
- * @constant {object}
- */
- g.WGS84 = new g.Geodesic(c.WGS84.a, c.WGS84.f);
-})(GeographicLib.Geodesic, GeographicLib.GeodesicLine,
- GeographicLib.PolygonArea, GeographicLib.Math, GeographicLib.Constants);
-
-/**************** GeodesicLine.js ****************/
-/*
- * GeodesicLine.js
- * Transcription of GeodesicLine.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER GeographicLib/Math.js, GeographicLib/Geodesic.js
-
-(function(
- g,
- /**
- * @exports GeographicLib/GeodesicLine
- * @description Solve geodesic problems on a single geodesic line via the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine GeodesicLine}
- * class.
- */
- l, m) {
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @property {number} lat1 the initial latitude (degrees).
- * @property {number} lon1 the initial longitude (degrees).
- * @property {number} azi1 the initial azimuth (degrees).
- * @property {number} salp1 the sine of the azimuth at the first point.
- * @property {number} calp1 the cosine the azimuth at the first point.
- * @property {number} s13 the distance to point 3 (meters).
- * @property {number} a13 the arc length to point 3 (degrees).
- * @property {bitmask} caps the capabilities of the object.
- * @summary Initialize a GeodesicLine object. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- * @classdesc Performs geodesic calculations along a given geodesic line.
- * This object is usually instantiated by
- * {@link module:GeographicLib/Geodesic.Geodesic#Line Geodesic.Line}.
- * The methods
- * {@link module:GeographicLib/Geodesic.Geodesic#DirectLine
- * Geodesic.DirectLine} and
- * {@link module:GeographicLib/Geodesic.Geodesic#InverseLine
- * Geodesic.InverseLine} set in addition the position of a reference point
- * 3.
- * @param {object} geod a {@link module:GeographicLib/Geodesic.Geodesic
- * Geodesic} object.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include; LATITUDE | AZIMUTH are always included.
- */
- l.GeodesicLine = function(geod, lat1, lon1, azi1, caps, salp1, calp1) {
- var t, cbet1, sbet1, eps, s, c;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
-
- this.a = geod.a;
- this.f = geod.f;
- this._b = geod._b;
- this._c2 = geod._c2;
- this._f1 = geod._f1;
- this.caps = caps | g.LATITUDE | g.AZIMUTH | g.LONG_UNROLL;
-
- this.lat1 = m.LatFix(lat1);
- this.lon1 = lon1;
- if (typeof salp1 === 'undefined' || typeof calp1 === 'undefined') {
- this.azi1 = m.AngNormalize(azi1);
- t = m.sincosd(m.AngRound(this.azi1)); this.salp1 = t.s; this.calp1 = t.c;
- } else {
- this.azi1 = azi1; this.salp1 = salp1; this.calp1 = calp1;
- }
- t = m.sincosd(m.AngRound(this.lat1)); sbet1 = this._f1 * t.s; cbet1 = t.c;
- // norm(sbet1, cbet1);
- t = m.hypot(sbet1, cbet1); sbet1 /= t; cbet1 /= t;
- // Ensure cbet1 = +epsilon at poles
- cbet1 = Math.max(g.tiny_, cbet1);
- this._dn1 = Math.sqrt(1 + geod._ep2 * m.sq(sbet1));
-
- // Evaluate alp0 from sin(alp1) * cos(bet1) = sin(alp0),
- this._salp0 = this.salp1 * cbet1; // alp0 in [0, pi/2 - |bet1|]
- // Alt: calp0 = hypot(sbet1, calp1 * cbet1). The following
- // is slightly better (consider the case salp1 = 0).
- this._calp0 = m.hypot(this.calp1, this.salp1 * sbet1);
- // Evaluate sig with tan(bet1) = tan(sig1) * cos(alp1).
- // sig = 0 is nearest northward crossing of equator.
- // With bet1 = 0, alp1 = pi/2, we have sig1 = 0 (equatorial line).
- // With bet1 = pi/2, alp1 = -pi, sig1 = pi/2
- // With bet1 = -pi/2, alp1 = 0 , sig1 = -pi/2
- // Evaluate omg1 with tan(omg1) = sin(alp0) * tan(sig1).
- // With alp0 in (0, pi/2], quadrants for sig and omg coincide.
- // No atan2(0,0) ambiguity at poles since cbet1 = +epsilon.
- // With alp0 = 0, omg1 = 0 for alp1 = 0, omg1 = pi for alp1 = pi.
- this._ssig1 = sbet1; this._somg1 = this._salp0 * sbet1;
- this._csig1 = this._comg1 =
- sbet1 !== 0 || this.calp1 !== 0 ? cbet1 * this.calp1 : 1;
- // norm(this._ssig1, this._csig1); // sig1 in (-pi, pi]
- t = m.hypot(this._ssig1, this._csig1);
- this._ssig1 /= t; this._csig1 /= t;
- // norm(this._somg1, this._comg1); -- don't need to normalize!
-
- this._k2 = m.sq(this._calp0) * geod._ep2;
- eps = this._k2 / (2 * (1 + Math.sqrt(1 + this._k2)) + this._k2);
-
- if (this.caps & g.CAP_C1) {
- this._A1m1 = g.A1m1f(eps);
- this._C1a = new Array(g.nC1_ + 1);
- g.C1f(eps, this._C1a);
- this._B11 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C1a);
- s = Math.sin(this._B11); c = Math.cos(this._B11);
- // tau1 = sig1 + B11
- this._stau1 = this._ssig1 * c + this._csig1 * s;
- this._ctau1 = this._csig1 * c - this._ssig1 * s;
- // Not necessary because C1pa reverts C1a
- // _B11 = -SinCosSeries(true, _stau1, _ctau1, _C1pa);
- }
-
- if (this.caps & g.CAP_C1p) {
- this._C1pa = new Array(g.nC1p_ + 1);
- g.C1pf(eps, this._C1pa);
- }
-
- if (this.caps & g.CAP_C2) {
- this._A2m1 = g.A2m1f(eps);
- this._C2a = new Array(g.nC2_ + 1);
- g.C2f(eps, this._C2a);
- this._B21 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C2a);
- }
-
- if (this.caps & g.CAP_C3) {
- this._C3a = new Array(g.nC3_);
- geod.C3f(eps, this._C3a);
- this._A3c = -this.f * this._salp0 * geod.A3f(eps);
- this._B31 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C3a);
- }
-
- if (this.caps & g.CAP_C4) {
- this._C4a = new Array(g.nC4_); // all the elements of _C4a are used
- geod.C4f(eps, this._C4a);
- // Multiplier = a^2 * e^2 * cos(alpha0) * sin(alpha0)
- this._A4 = m.sq(this.a) * this._calp0 * this._salp0 * geod._e2;
- this._B41 = g.SinCosSeries(false, this._ssig1, this._csig1, this._C4a);
- }
-
- this.a13 = this.s13 = Number.NaN;
- };
-
- /**
- * @summary Find the position on the line (general case).
- * @param {bool} arcmode is the next parameter an arc length?
- * @param {number} s12_a12 the (arcmode ? arc length : distance) from the
- * first point to the second in (arcmode ? degrees : meters).
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set; s12 is included if arcmode is false. For details on the
- * outmask parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- l.GeodesicLine.prototype.GenPosition = function(arcmode, s12_a12,
- outmask) {
- var vals = {},
- sig12, ssig12, csig12, B12, AB1, ssig2, csig2, tau12, s, c, serr,
- omg12, lam12, lon12, E, sbet2, cbet2, somg2, comg2, salp2, calp2, dn2,
- B22, AB2, J12, t, B42, salp12, calp12;
- if (!outmask) outmask = g.STANDARD;
- else if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- outmask &= this.caps & g.OUT_MASK;
- vals.lat1 = this.lat1; vals.azi1 = this.azi1;
- vals.lon1 = outmask & g.LONG_UNROLL ?
- this.lon1 : m.AngNormalize(this.lon1);
- if (arcmode)
- vals.a12 = s12_a12;
- else
- vals.s12 = s12_a12;
- if (!( arcmode || (this.caps & g.DISTANCE_IN & g.OUT_MASK) )) {
- // Uninitialized or impossible distance calculation requested
- vals.a12 = Number.NaN;
- return vals;
- }
-
- // Avoid warning about uninitialized B12.
- B12 = 0; AB1 = 0;
- if (arcmode) {
- // Interpret s12_a12 as spherical arc length
- sig12 = s12_a12 * m.degree;
- t = m.sincosd(s12_a12); ssig12 = t.s; csig12 = t.c;
- } else {
- // Interpret s12_a12 as distance
- tau12 = s12_a12 / (this._b * (1 + this._A1m1));
- s = Math.sin(tau12);
- c = Math.cos(tau12);
- // tau2 = tau1 + tau12
- B12 = -g.SinCosSeries(true,
- this._stau1 * c + this._ctau1 * s,
- this._ctau1 * c - this._stau1 * s,
- this._C1pa);
- sig12 = tau12 - (B12 - this._B11);
- ssig12 = Math.sin(sig12); csig12 = Math.cos(sig12);
- if (Math.abs(this.f) > 0.01) {
- // Reverted distance series is inaccurate for |f| > 1/100, so correct
- // sig12 with 1 Newton iteration. The following table shows the
- // approximate maximum error for a = WGS_a() and various f relative to
- // GeodesicExact.
- // erri = the error in the inverse solution (nm)
- // errd = the error in the direct solution (series only) (nm)
- // errda = the error in the direct solution
- // (series + 1 Newton) (nm)
- //
- // f erri errd errda
- // -1/5 12e6 1.2e9 69e6
- // -1/10 123e3 12e6 765e3
- // -1/20 1110 108e3 7155
- // -1/50 18.63 200.9 27.12
- // -1/100 18.63 23.78 23.37
- // -1/150 18.63 21.05 20.26
- // 1/150 22.35 24.73 25.83
- // 1/100 22.35 25.03 25.31
- // 1/50 29.80 231.9 30.44
- // 1/20 5376 146e3 10e3
- // 1/10 829e3 22e6 1.5e6
- // 1/5 157e6 3.8e9 280e6
- ssig2 = this._ssig1 * csig12 + this._csig1 * ssig12;
- csig2 = this._csig1 * csig12 - this._ssig1 * ssig12;
- B12 = g.SinCosSeries(true, ssig2, csig2, this._C1a);
- serr = (1 + this._A1m1) * (sig12 + (B12 - this._B11)) -
- s12_a12 / this._b;
- sig12 = sig12 - serr / Math.sqrt(1 + this._k2 * m.sq(ssig2));
- ssig12 = Math.sin(sig12); csig12 = Math.cos(sig12);
- // Update B12 below
- }
- }
-
- // sig2 = sig1 + sig12
- ssig2 = this._ssig1 * csig12 + this._csig1 * ssig12;
- csig2 = this._csig1 * csig12 - this._ssig1 * ssig12;
- dn2 = Math.sqrt(1 + this._k2 * m.sq(ssig2));
- if (outmask & (g.DISTANCE | g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- if (arcmode || Math.abs(this.f) > 0.01)
- B12 = g.SinCosSeries(true, ssig2, csig2, this._C1a);
- AB1 = (1 + this._A1m1) * (B12 - this._B11);
- }
- // sin(bet2) = cos(alp0) * sin(sig2)
- sbet2 = this._calp0 * ssig2;
- // Alt: cbet2 = hypot(csig2, salp0 * ssig2);
- cbet2 = m.hypot(this._salp0, this._calp0 * csig2);
- if (cbet2 === 0)
- // I.e., salp0 = 0, csig2 = 0. Break the degeneracy in this case
- cbet2 = csig2 = g.tiny_;
- // tan(alp0) = cos(sig2)*tan(alp2)
- salp2 = this._salp0; calp2 = this._calp0 * csig2; // No need to normalize
-
- if (arcmode && (outmask & g.DISTANCE))
- vals.s12 = this._b * ((1 + this._A1m1) * sig12 + AB1);
-
- if (outmask & g.LONGITUDE) {
- // tan(omg2) = sin(alp0) * tan(sig2)
- somg2 = this._salp0 * ssig2; comg2 = csig2; // No need to normalize
- E = m.copysign(1, this._salp0);
- // omg12 = omg2 - omg1
- omg12 = outmask & g.LONG_UNROLL ?
- E * (sig12 -
- (Math.atan2(ssig2, csig2) -
- Math.atan2(this._ssig1, this._csig1)) +
- (Math.atan2(E * somg2, comg2) -
- Math.atan2(E * this._somg1, this._comg1))) :
- Math.atan2(somg2 * this._comg1 - comg2 * this._somg1,
- comg2 * this._comg1 + somg2 * this._somg1);
- lam12 = omg12 + this._A3c *
- ( sig12 + (g.SinCosSeries(true, ssig2, csig2, this._C3a) -
- this._B31));
- lon12 = lam12 / m.degree;
- vals.lon2 = outmask & g.LONG_UNROLL ? this.lon1 + lon12 :
- m.AngNormalize(m.AngNormalize(this.lon1) + m.AngNormalize(lon12));
- }
-
- if (outmask & g.LATITUDE)
- vals.lat2 = m.atan2d(sbet2, this._f1 * cbet2);
-
- if (outmask & g.AZIMUTH)
- vals.azi2 = m.atan2d(salp2, calp2);
-
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- B22 = g.SinCosSeries(true, ssig2, csig2, this._C2a);
- AB2 = (1 + this._A2m1) * (B22 - this._B21);
- J12 = (this._A1m1 - this._A2m1) * sig12 + (AB1 - AB2);
- if (outmask & g.REDUCEDLENGTH)
- // Add parens around (_csig1 * ssig2) and (_ssig1 * csig2) to ensure
- // accurate cancellation in the case of coincident points.
- vals.m12 = this._b * (( dn2 * (this._csig1 * ssig2) -
- this._dn1 * (this._ssig1 * csig2)) -
- this._csig1 * csig2 * J12);
- if (outmask & g.GEODESICSCALE) {
- t = this._k2 * (ssig2 - this._ssig1) * (ssig2 + this._ssig1) /
- (this._dn1 + dn2);
- vals.M12 = csig12 +
- (t * ssig2 - csig2 * J12) * this._ssig1 / this._dn1;
- vals.M21 = csig12 -
- (t * this._ssig1 - this._csig1 * J12) * ssig2 / dn2;
- }
- }
-
- if (outmask & g.AREA) {
- B42 = g.SinCosSeries(false, ssig2, csig2, this._C4a);
- if (this._calp0 === 0 || this._salp0 === 0) {
- // alp12 = alp2 - alp1, used in atan2 so no need to normalize
- salp12 = salp2 * this.calp1 - calp2 * this.salp1;
- calp12 = calp2 * this.calp1 + salp2 * this.salp1;
- } else {
- // tan(alp) = tan(alp0) * sec(sig)
- // tan(alp2-alp1) = (tan(alp2) -tan(alp1)) / (tan(alp2)*tan(alp1)+1)
- // = calp0 * salp0 * (csig1-csig2) / (salp0^2 + calp0^2 * csig1*csig2)
- // If csig12 > 0, write
- // csig1 - csig2 = ssig12 * (csig1 * ssig12 / (1 + csig12) + ssig1)
- // else
- // csig1 - csig2 = csig1 * (1 - csig12) + ssig12 * ssig1
- // No need to normalize
- salp12 = this._calp0 * this._salp0 *
- (csig12 <= 0 ? this._csig1 * (1 - csig12) + ssig12 * this._ssig1 :
- ssig12 * (this._csig1 * ssig12 / (1 + csig12) + this._ssig1));
- calp12 = m.sq(this._salp0) + m.sq(this._calp0) * this._csig1 * csig2;
- }
- vals.S12 = this._c2 * Math.atan2(salp12, calp12) +
- this._A4 * (B42 - this._B41);
- }
-
- if (!arcmode)
- vals.a12 = sig12 / m.degree;
- return vals;
- };
-
- /**
- * @summary Find the position on the line given s12.
- * @param {number} s12 the distance from the first point to the second in
- * meters.
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, s12, and a12 fields of the result are
- * always set; s12 is included if arcmode is false. For details on the
- * outmask parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- l.GeodesicLine.prototype.Position = function(s12, outmask) {
- return this.GenPosition(false, s12, outmask);
- };
-
- /**
- * @summary Find the position on the line given a12.
- * @param {number} a12 the arc length from the first point to the second in
- * degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- l.GeodesicLine.prototype.ArcPosition = function(a12, outmask) {
- return this.GenPosition(true, a12, outmask);
- };
-
- /**
- * @summary Specify position of point 3 in terms of either distance or arc
- * length.
- * @param {bool} arcmode boolean flag determining the meaning of the second
- * parameter; if arcmode is false, then the GeodesicLine object must have
- * been constructed with caps |= DISTANCE_IN.
- * @param {number} s13_a13 if arcmode is false, this is the distance from
- * point 1 to point 3 (meters); otherwise it is the arc length from
- * point 1 to point 3 (degrees); it can be negative.
- */
- l.GeodesicLine.prototype.GenSetDistance = function(arcmode, s13_a13) {
- if (arcmode)
- this.SetArc(s13_a13);
- else
- this.SetDistance(s13_a13);
- };
-
- /**
- * @summary Specify position of point 3 in terms distance.
- * @param {number} s13 the distance from point 1 to point 3 (meters); it
- * can be negative.
- */
- l.GeodesicLine.prototype.SetDistance = function(s13) {
- var r;
- this.s13 = s13;
- r = this.GenPosition(false, this.s13, g.ARC);
- this.a13 = 0 + r.a12; // the 0+ converts undefined into NaN
- };
-
- /**
- * @summary Specify position of point 3 in terms of arc length.
- * @param {number} a13 the arc length from point 1 to point 3 (degrees);
- * it can be negative.
- */
- l.GeodesicLine.prototype.SetArc = function(a13) {
- var r;
- this.a13 = a13;
- r = this.GenPosition(true, this.a13, g.DISTANCE);
- this.s13 = 0 + r.s12; // the 0+ converts undefined into NaN
- };
-
-})(GeographicLib.Geodesic, GeographicLib.GeodesicLine, GeographicLib.Math);
-
-/**************** PolygonArea.js ****************/
-/*
- * PolygonArea.js
- * Transcription of PolygonArea.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER GeographicLib/Math.js and GeographicLib/Geodesic.js
-
-(function(
- /**
- * @exports GeographicLib/PolygonArea
- * @description Compute the area of geodesic polygons via the
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea}
- * class.
- */
- p, g, m, a) {
-
- var transit, transitdirect, AreaReduceA, AreaReduceB;
- transit = function(lon1, lon2) {
- // Return 1 or -1 if crossing prime meridian in east or west direction.
- // Otherwise return zero.
- var lon12, cross;
- // Compute lon12 the same way as Geodesic::Inverse.
- lon1 = m.AngNormalize(lon1);
- lon2 = m.AngNormalize(lon2);
- lon12 = m.AngDiff(lon1, lon2).s;
- cross = lon1 <= 0 && lon2 > 0 && lon12 > 0 ? 1 :
- (lon2 <= 0 && lon1 > 0 && lon12 < 0 ? -1 : 0);
- return cross;
- };
-
- // an alternate version of transit to deal with longitudes in the direct
- // problem.
- transitdirect = function(lon1, lon2) {
- // We want to compute exactly
- // int(ceil(lon2 / 360)) - int(ceil(lon1 / 360))
- // Since we only need the parity of the result we can use std::remquo but
- // this is buggy with g++ 4.8.3 and requires C++11. So instead we do
- lon1 = lon1 % 720.0; lon2 = lon2 % 720.0;
- return ( ((lon2 <= 0 && lon2 > -360) || lon2 > 360 ? 1 : 0) -
- ((lon1 <= 0 && lon1 > -360) || lon1 > 360 ? 1 : 0) );
- };
-
- // Reduce Accumulator area
- AreaReduceA = function(area, area0, crossings, reverse, sign) {
- area.Remainder(area0);
- if (crossings & 1)
- area.Add( (area.Sum() < 0 ? 1 : -1) * area0/2 );
- // area is with the clockwise sense. If !reverse convert to
- // counter-clockwise convention.
- if (!reverse)
- area.Negate();
- // If sign put area in (-area0/2, area0/2], else put area in [0, area0)
- if (sign) {
- if (area.Sum() > area0/2)
- area.Add( -area0 );
- else if (area.Sum() <= -area0/2)
- area.Add( +area0 );
- } else {
- if (area.Sum() >= area0)
- area.Add( -area0 );
- else if (area.Sum() < 0)
- area.Add( +area0 );
- }
- return 0 + area.Sum();
- };
-
- // Reduce double area
- AreaReduceB = function(area, area0, crossings, reverse, sign) {
- area = m.remainder(area, area0);
- if (crossings & 1)
- area += (area < 0 ? 1 : -1) * area0/2;
- // area is with the clockwise sense. If !reverse convert to
- // counter-clockwise convention.
- if (!reverse)
- area *= -1;
- // If sign put area in (-area0/2, area0/2], else put area in [0, area0)
- if (sign) {
- if (area > area0/2)
- area -= area0;
- else if (area <= -area0/2)
- area += area0;
- } else {
- if (area >= area0)
- area -= area0;
- else if (area < 0)
- area += area0;
- }
- return 0 + area;
- };
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @property {bool} polyline whether the PolygonArea object describes a
- * polyline or a polygon.
- * @property {number} num the number of vertices so far.
- * @property {number} lat the current latitude (degrees).
- * @property {number} lon the current longitude (degrees).
- * @summary Initialize a PolygonArea object.
- * @classdesc Computes the area and perimeter of a geodesic polygon.
- * This object is usually instantiated by
- * {@link module:GeographicLib/Geodesic.Geodesic#Polygon Geodesic.Polygon}.
- * @param {object} geod a {@link module:GeographicLib/Geodesic.Geodesic
- * Geodesic} object.
- * @param {bool} [polyline = false] if true the new PolygonArea object
- * describes a polyline instead of a polygon.
- */
- p.PolygonArea = function(geod, polyline) {
- this._geod = geod;
- this.a = this._geod.a;
- this.f = this._geod.f;
- this._area0 = 4 * Math.PI * geod._c2;
- this.polyline = !polyline ? false : polyline;
- this._mask = g.LATITUDE | g.LONGITUDE | g.DISTANCE |
- (this.polyline ? g.NONE : g.AREA | g.LONG_UNROLL);
- if (!this.polyline)
- this._areasum = new a.Accumulator(0);
- this._perimetersum = new a.Accumulator(0);
- this.Clear();
- };
-
- /**
- * @summary Clear the PolygonArea object, setting the number of vertices to
- * 0.
- */
- p.PolygonArea.prototype.Clear = function() {
- this.num = 0;
- this._crossings = 0;
- if (!this.polyline)
- this._areasum.Set(0);
- this._perimetersum.Set(0);
- this._lat0 = this._lon0 = this.lat = this.lon = Number.NaN;
- };
-
- /**
- * @summary Add the next vertex to the polygon.
- * @param {number} lat the latitude of the point (degrees).
- * @param {number} lon the longitude of the point (degrees).
- * @description This adds an edge from the current vertex to the new vertex.
- */
- p.PolygonArea.prototype.AddPoint = function(lat, lon) {
- var t;
- if (this.num === 0) {
- this._lat0 = this.lat = lat;
- this._lon0 = this.lon = lon;
- } else {
- t = this._geod.Inverse(this.lat, this.lon, lat, lon, this._mask);
- this._perimetersum.Add(t.s12);
- if (!this.polyline) {
- this._areasum.Add(t.S12);
- this._crossings += transit(this.lon, lon);
- }
- this.lat = lat;
- this.lon = lon;
- }
- ++this.num;
- };
-
- /**
- * @summary Add the next edge to the polygon.
- * @param {number} azi the azimuth at the current the point (degrees).
- * @param {number} s the length of the edge (meters).
- * @description This specifies the new vertex in terms of the edge from the
- * current vertex.
- */
- p.PolygonArea.prototype.AddEdge = function(azi, s) {
- var t;
- if (this.num) {
- t = this._geod.Direct(this.lat, this.lon, azi, s, this._mask);
- this._perimetersum.Add(s);
- if (!this.polyline) {
- this._areasum.Add(t.S12);
- this._crossings += transitdirect(this.lon, t.lon2);
- }
- this.lat = t.lat2;
- this.lon = t.lon2;
- }
- ++this.num;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon.
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description Arbitrarily complex polygons are allowed. In the case of
- * self-intersecting polygons the area is accumulated "algebraically",
- * e.g., the areas of the 2 loops in a figure-8 polygon will partially
- * cancel. If the object is a polygon (and not a polyline), the perimeter
- * includes the length of a final edge connecting the current point to the
- * initial point. If the object is a polyline, then area is nan. More
- * points can be added to the polygon after this call.
- */
- p.PolygonArea.prototype.Compute = function(reverse, sign) {
- var vals = {number: this.num}, t, tempsum;
- if (this.num < 2) {
- vals.perimeter = 0;
- if (!this.polyline)
- vals.area = 0;
- return vals;
- }
- if (this.polyline) {
- vals.perimeter = this._perimetersum.Sum();
- return vals;
- }
- t = this._geod.Inverse(this.lat, this.lon, this._lat0, this._lon0,
- this._mask);
- vals.perimeter = this._perimetersum.Sum(t.s12);
- tempsum = new a.Accumulator(this._areasum);
- tempsum.Add(t.S12);
- vals.area = AreaReduceA(tempsum, this._area0,
- this._crossings + transit(this.lon, this._lon0),
- reverse, sign);
- return vals;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon with a tentative
- * new vertex.
- * @param {number} lat the latitude of the point (degrees).
- * @param {number} lon the longitude of the point (degrees).
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description A new vertex is *not* added to the polygon.
- */
- p.PolygonArea.prototype.TestPoint = function(lat, lon, reverse, sign) {
- var vals = {number: this.num + 1}, t, tempsum, crossings, i;
- if (this.num === 0) {
- vals.perimeter = 0;
- if (!this.polyline)
- vals.area = 0;
- return vals;
- }
- vals.perimeter = this._perimetersum.Sum();
- tempsum = this.polyline ? 0 : this._areasum.Sum();
- crossings = this._crossings;
- for (i = 0; i < (this.polyline ? 1 : 2); ++i) {
- t = this._geod.Inverse(
- i === 0 ? this.lat : lat, i === 0 ? this.lon : lon,
- i !== 0 ? this._lat0 : lat, i !== 0 ? this._lon0 : lon,
- this._mask);
- vals.perimeter += t.s12;
- if (!this.polyline) {
- tempsum += t.S12;
- crossings += transit(i === 0 ? this.lon : lon,
- i !== 0 ? this._lon0 : lon);
- }
- }
-
- if (this.polyline)
- return vals;
-
- vals.area = AreaReduceB(tempsum, this._area0, crossings, reverse, sign);
- return vals;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon with a tentative
- * new edge.
- * @param {number} azi the azimuth of the edge (degrees).
- * @param {number} s the length of the edge (meters).
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description A new vertex is *not* added to the polygon.
- */
- p.PolygonArea.prototype.TestEdge = function(azi, s, reverse, sign) {
- var vals = {number: this.num ? this.num + 1 : 0}, t, tempsum, crossings;
- if (this.num === 0)
- return vals;
- vals.perimeter = this._perimetersum.Sum() + s;
- if (this.polyline)
- return vals;
-
- tempsum = this._areasum.Sum();
- crossings = this._crossings;
- t = this._geod.Direct(this.lat, this.lon, azi, s, this._mask);
- tempsum += t.S12;
- crossings += transitdirect(this.lon, t.lon2);
- crossings += transit(t.lon2, this._lon0);
- t = this._geod.Inverse(t.lat2, t.lon2, this._lat0, this._lon0, this._mask);
- vals.perimeter += t.s12;
- tempsum += t.S12;
-
- vals.area = AreaReduceB(tempsum, this._area0, crossings, reverse, sign);
- return vals;
- };
-
-})(GeographicLib.PolygonArea, GeographicLib.Geodesic,
- GeographicLib.Math, GeographicLib.Accumulator);
-
-/**************** DMS.js ****************/
-/*
- * DMS.js
- * Transcription of DMS.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-GeographicLib.DMS = {};
-
-(function(
- /**
- * @exports GeographicLib/DMS
- * @description Decode/Encode angles expressed as degrees, minutes, and
- * seconds. This module defines several constants:
- * - hemisphere indicator (returned by
- * {@link module:GeographicLib/DMS.Decode Decode}) and a formatting
- * indicator (used by
- * {@link module:GeographicLib/DMS.Encode Encode})
- * - NONE = 0, no designator and format as plain angle;
- * - LATITUDE = 1, a N/S designator and format as latitude;
- * - LONGITUDE = 2, an E/W designator and format as longitude;
- * - AZIMUTH = 3, format as azimuth;
- * - the specification of the trailing component in
- * {@link module:GeographicLib/DMS.Encode Encode}
- * - DEGREE;
- * - MINUTE;
- * - SECOND.
- */
- d) {
-
- var lookup, zerofill, internalDecode, numMatch,
- hemispheres_ = "SNWE",
- signs_ = "-+",
- digits_ = "0123456789",
- dmsindicators_ = "D'\":",
- // dmsindicatorsu_ = "\u00b0\u2032\u2033"; // Unicode variants
- dmsindicatorsu_ = "\u00b0'\"", // Use degree symbol
- components_ = ["degrees", "minutes", "seconds"];
- lookup = function(s, c) {
- return s.indexOf(c.toUpperCase());
- };
- zerofill = function(s, n) {
- return String("0000").substr(0, Math.max(0, Math.min(4, n-s.length))) +
- s;
- };
- d.NONE = 0;
- d.LATITUDE = 1;
- d.LONGITUDE = 2;
- d.AZIMUTH = 3;
- d.DEGREE = 0;
- d.MINUTE = 1;
- d.SECOND = 2;
-
- /**
- * @summary Decode a DMS string.
- * @description The interpretation of the string is given in the
- * documentation of the corresponding function, Decode(string&, flag&)
- * in the {@link
- * https://geographiclib.sourceforge.io/html/classGeographicLib_1_1DMS.html
- * C++ DMS class}
- * @param {string} dms the string.
- * @returns {object} r where r.val is the decoded value (degrees) and r.ind
- * is a hemisphere designator, one of NONE, LATITUDE, LONGITUDE.
- * @throws an error if the string is illegal.
- */
- d.Decode = function(dms) {
- var dmsa = dms, end,
- v = 0, i = 0, mi, pi, vals,
- ind1 = d.NONE, ind2, p, pa, pb;
- dmsa = dmsa
- .replace(/\u2212/g, '-') // U+2212 minus sign
- .replace(/\u00b0/g, 'd') // U+00b0 degree symbol
- .replace(/\u00ba/g, 'd') // U+00ba alt symbol
- .replace(/\u2070/g, 'd') // U+2070 sup zero
- .replace(/\u02da/g, 'd') // U+02da ring above
- .replace(/\u2032/g, '\'') // U+2032 prime
- .replace(/\u00b4/g, '\'') // U+00b4 acute accent
- .replace(/\u2019/g, '\'') // U+2019 right single quote
- .replace(/\u2033/g, '"') // U+2033 double prime
- .replace(/\u201d/g, '"') // U+201d right double quote
- .replace(/\u00a0/g, '') // U+00a0 non-breaking space
- .replace(/\u202f/g, '') // U+202f narrow space
- .replace(/\u2007/g, '') // U+2007 figure space
- .replace(/''/g, '"') // '' -> "
- .trim();
-
- end = dmsa.length;
- // p is pointer to the next piece that needs decoding
- for (p = 0; p < end; p = pb, ++i) {
- pa = p;
- // Skip over initial hemisphere letter (for i == 0)
- if (i === 0 && lookup(hemispheres_, dmsa.charAt(pa)) >= 0)
- ++pa;
- // Skip over initial sign (checking for it if i == 0)
- if (i > 0 || (pa < end && lookup(signs_, dmsa.charAt(pa)) >= 0))
- ++pa;
- // Find next sign
- mi = dmsa.substr(pa, end - pa).indexOf('-');
- pi = dmsa.substr(pa, end - pa).indexOf('+');
- if (mi < 0) mi = end; else mi += pa;
- if (pi < 0) pi = end; else pi += pa;
- pb = Math.min(mi, pi);
- vals = internalDecode(dmsa.substr(p, pb - p));
- v += vals.val; ind2 = vals.ind;
- if (ind1 === d.NONE)
- ind1 = ind2;
- else if (!(ind2 === d.NONE || ind1 === ind2))
- throw new Error("Incompatible hemisphere specifies in " +
- dmsa.substr(0, pb));
- }
- if (i === 0)
- throw new Error("Empty or incomplete DMS string " + dmsa);
- return {val: v, ind: ind1};
- };
-
- internalDecode = function(dmsa) {
- var vals = {}, errormsg = "",
- sign, beg, end, ind1, k,
- ipieces, fpieces, npiece,
- icurrent, fcurrent, ncurrent, p,
- pointseen,
- digcount, intcount,
- x;
- do { // Executed once (provides the ability to break)
- sign = 1;
- beg = 0; end = dmsa.length;
- ind1 = d.NONE;
- k = -1;
- if (end > beg && (k = lookup(hemispheres_, dmsa.charAt(beg))) >= 0) {
- ind1 = (k & 2) ? d.LONGITUDE : d.LATITUDE;
- sign = (k & 1) ? 1 : -1;
- ++beg;
- }
- if (end > beg &&
- (k = lookup(hemispheres_, dmsa.charAt(end-1))) >= 0) {
- if (k >= 0) {
- if (ind1 !== d.NONE) {
- if (dmsa.charAt(beg - 1).toUpperCase() ===
- dmsa.charAt(end - 1).toUpperCase())
- errormsg = "Repeated hemisphere indicators " +
- dmsa.charAt(beg - 1) + " in " +
- dmsa.substr(beg - 1, end - beg + 1);
- else
- errormsg = "Contradictory hemisphere indicators " +
- dmsa.charAt(beg - 1) + " and " + dmsa.charAt(end - 1) + " in " +
- dmsa.substr(beg - 1, end - beg + 1);
- break;
- }
- ind1 = (k & 2) ? d.LONGITUDE : d.LATITUDE;
- sign = (k & 1) ? 1 : -1;
- --end;
- }
- }
- if (end > beg && (k = lookup(signs_, dmsa.charAt(beg))) >= 0) {
- if (k >= 0) {
- sign *= k ? 1 : -1;
- ++beg;
- }
- }
- if (end === beg) {
- errormsg = "Empty or incomplete DMS string " + dmsa;
- break;
- }
- ipieces = [0, 0, 0];
- fpieces = [0, 0, 0];
- npiece = 0;
- icurrent = 0;
- fcurrent = 0;
- ncurrent = 0;
- p = beg;
- pointseen = false;
- digcount = 0;
- intcount = 0;
- while (p < end) {
- x = dmsa.charAt(p++);
- if ((k = lookup(digits_, x)) >= 0) {
- ++ncurrent;
- if (digcount > 0) {
- ++digcount; // Count of decimal digits
- } else {
- icurrent = 10 * icurrent + k;
- ++intcount;
- }
- } else if (x === '.') {
- if (pointseen) {
- errormsg = "Multiple decimal points in " +
- dmsa.substr(beg, end - beg);
- break;
- }
- pointseen = true;
- digcount = 1;
- } else if ((k = lookup(dmsindicators_, x)) >= 0) {
- if (k >= 3) {
- if (p === end) {
- errormsg = "Illegal for colon to appear at the end of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- k = npiece;
- }
- if (k === npiece - 1) {
- errormsg = "Repeated " + components_[k] +
- " component in " + dmsa.substr(beg, end - beg);
- break;
- } else if (k < npiece) {
- errormsg = components_[k] + " component follows " +
- components_[npiece - 1] + " component in " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (ncurrent === 0) {
- errormsg = "Missing numbers in " + components_[k] +
- " component of " + dmsa.substr(beg, end - beg);
- break;
- }
- if (digcount > 0) {
- fcurrent = parseFloat(dmsa.substr(p - intcount - digcount - 1,
- intcount + digcount));
- icurrent = 0;
- }
- ipieces[k] = icurrent;
- fpieces[k] = icurrent + fcurrent;
- if (p < end) {
- npiece = k + 1;
- icurrent = fcurrent = 0;
- ncurrent = digcount = intcount = 0;
- }
- } else if (lookup(signs_, x) >= 0) {
- errormsg = "Internal sign in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- } else {
- errormsg = "Illegal character " + x + " in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- }
- }
- if (errormsg.length)
- break;
- if (lookup(dmsindicators_, dmsa.charAt(p - 1)) < 0) {
- if (npiece >= 3) {
- errormsg = "Extra text following seconds in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (ncurrent === 0) {
- errormsg = "Missing numbers in trailing component of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (digcount > 0) {
- fcurrent = parseFloat(dmsa.substr(p - intcount - digcount,
- intcount + digcount));
- icurrent = 0;
- }
- ipieces[npiece] = icurrent;
- fpieces[npiece] = icurrent + fcurrent;
- }
- if (pointseen && digcount === 0) {
- errormsg = "Decimal point in non-terminal component of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- // Note that we accept 59.999999... even though it rounds to 60.
- if (ipieces[1] >= 60 || fpieces[1] > 60) {
- errormsg = "Minutes " + fpieces[1] + " not in range [0,60)";
- break;
- }
- if (ipieces[2] >= 60 || fpieces[2] > 60) {
- errormsg = "Seconds " + fpieces[2] + " not in range [0,60)";
- break;
- }
- vals.ind = ind1;
- // Assume check on range of result is made by calling routine (which
- // might be able to offer a better diagnostic).
- vals.val = sign *
- ( fpieces[2] ? (60*(60*fpieces[0] + fpieces[1]) + fpieces[2]) / 3600 :
- ( fpieces[1] ? (60*fpieces[0] + fpieces[1]) / 60 : fpieces[0] ) );
- return vals;
- } while (false);
- vals.val = numMatch(dmsa);
- if (vals.val === 0)
- throw new Error(errormsg);
- else
- vals.ind = d.NONE;
- return vals;
- };
-
- numMatch = function(s) {
- var t, sign, p0, p1;
- if (s.length < 3)
- return 0;
- t = s.toUpperCase().replace(/0+$/, "");
- sign = t.charAt(0) === '-' ? -1 : 1;
- p0 = t.charAt(0) === '-' || t.charAt(0) === '+' ? 1 : 0;
- p1 = t.length - 1;
- if (p1 + 1 < p0 + 3)
- return 0;
- // Strip off sign and trailing 0s
- t = t.substr(p0, p1 + 1 - p0); // Length at least 3
- if (t === "NAN" || t === "1.#QNAN" || t === "1.#SNAN" || t === "1.#IND" ||
- t === "1.#R")
- return Number.NaN;
- else if (t === "INF" || t === "1.#INF")
- return sign * Number.POSITIVE_INFINITY;
- return 0;
- };
-
- /**
- * @summary Decode two DMS strings interpreting them as a latitude/longitude
- * pair.
- * @param {string} stra the first string.
- * @param {string} strb the first string.
- * @param {bool} [longfirst = false] if true assume then longitude is given
- * first (in the absence of any hemisphere indicators).
- * @returns {object} r where r.lat is the decoded latitude and r.lon is the
- * decoded longitude (both in degrees).
- * @throws an error if the strings are illegal.
- */
- d.DecodeLatLon = function(stra, strb, longfirst) {
- var vals = {},
- valsa = d.Decode(stra),
- valsb = d.Decode(strb),
- a = valsa.val, ia = valsa.ind,
- b = valsb.val, ib = valsb.ind,
- lat, lon;
- if (!longfirst) longfirst = false;
- if (ia === d.NONE && ib === d.NONE) {
- // Default to lat, long unless longfirst
- ia = longfirst ? d.LONGITUDE : d.LATITUDE;
- ib = longfirst ? d.LATITUDE : d.LONGITUDE;
- } else if (ia === d.NONE)
- ia = d.LATITUDE + d.LONGITUDE - ib;
- else if (ib === d.NONE)
- ib = d.LATITUDE + d.LONGITUDE - ia;
- if (ia === ib)
- throw new Error("Both " + stra + " and " + strb + " interpreted as " +
- (ia === d.LATITUDE ? "latitudes" : "longitudes"));
- lat = ia === d.LATITUDE ? a : b;
- lon = ia === d.LATITUDE ? b : a;
- if (Math.abs(lat) > 90)
- throw new Error("Latitude " + lat + " not in [-90,90]");
- vals.lat = lat;
- vals.lon = lon;
- return vals;
- };
-
- /**
- * @summary Decode a DMS string interpreting it as an arc length.
- * @param {string} angstr the string (this must not include a hemisphere
- * indicator).
- * @returns {number} the arc length (degrees).
- * @throws an error if the string is illegal.
- */
- d.DecodeAngle = function(angstr) {
- var vals = d.Decode(angstr),
- ang = vals.val, ind = vals.ind;
- if (ind !== d.NONE)
- throw new Error("Arc angle " + angstr +
- " includes a hemisphere N/E/W/S");
- return ang;
- };
-
- /**
- * @summary Decode a DMS string interpreting it as an azimuth.
- * @param {string} azistr the string (this may include an E/W hemisphere
- * indicator).
- * @returns {number} the azimuth (degrees).
- * @throws an error if the string is illegal.
- */
- d.DecodeAzimuth = function(azistr) {
- var vals = d.Decode(azistr),
- azi = vals.val, ind = vals.ind;
- if (ind === d.LATITUDE)
- throw new Error("Azimuth " + azistr + " has a latitude hemisphere N/S");
- return azi;
- };
-
- /**
- * @summary Convert angle (in degrees) into a DMS string (using °, ',
- * and ").
- * @param {number} angle input angle (degrees).
- * @param {number} trailing one of DEGREE, MINUTE, or SECOND to indicate
- * the trailing component of the string (this component is given as a
- * decimal number if necessary).
- * @param {number} prec the number of digits after the decimal point for
- * the trailing component.
- * @param {number} [ind = NONE] a formatting indicator, one of NONE,
- * LATITUDE, LONGITUDE, AZIMUTH.
- * @returns {string} the resulting string formatted as follows:
- * * NONE, signed result no leading zeros on degrees except in the units
- * place, e.g., -8°03'.
- * * LATITUDE, trailing N or S hemisphere designator, no sign, pad
- * degrees to 2 digits, e.g., 08°03'S.
- * * LONGITUDE, trailing E or W hemisphere designator, no sign, pad
- * degrees to 3 digits, e.g., 008°03'W.
- * * AZIMUTH, convert to the range [0, 360°), no sign, pad degrees to
- * 3 digits, e.g., 351°57'.
- */
- d.Encode = function(angle, trailing, prec, ind) {
- // Assume check on range of input angle has been made by calling
- // routine (which might be able to offer a better diagnostic).
- var scale = 1, i, sign,
- idegree, fdegree, f, pieces, ip, fp, s;
- if (!ind) ind = d.NONE;
- if (!isFinite(angle))
- return angle < 0 ? String("-inf") :
- (angle > 0 ? String("inf") : String("nan"));
-
- // 15 - 2 * trailing = ceiling(log10(2^53/90/60^trailing)).
- // This suffices to give full real precision for numbers in [-90,90]
- prec = Math.min(15 - 2 * trailing, prec);
- for (i = 0; i < trailing; ++i)
- scale *= 60;
- for (i = 0; i < prec; ++i)
- scale *= 10;
- if (ind === d.AZIMUTH)
- angle -= Math.floor(angle/360) * 360;
- sign = angle < 0 ? -1 : 1;
- angle *= sign;
-
- // Break off integer part to preserve precision in manipulation of
- // fractional part.
- idegree = Math.floor(angle);
- fdegree = (angle - idegree) * scale + 0.5;
- f = Math.floor(fdegree);
- // Implement the "round ties to even" rule
- fdegree = (f === fdegree && (f & 1) === 1) ? f - 1 : f;
- fdegree /= scale;
-
- fdegree = Math.floor((angle - idegree) * scale + 0.5) / scale;
- if (fdegree >= 1) {
- idegree += 1;
- fdegree -= 1;
- }
- pieces = [fdegree, 0, 0];
- for (i = 1; i <= trailing; ++i) {
- ip = Math.floor(pieces[i - 1]);
- fp = pieces[i - 1] - ip;
- pieces[i] = fp * 60;
- pieces[i - 1] = ip;
- }
- pieces[0] += idegree;
- s = "";
- if (ind === d.NONE && sign < 0)
- s += '-';
- switch (trailing) {
- case d.DEGREE:
- s += zerofill(pieces[0].toFixed(prec),
- ind === d.NONE ? 0 :
- 1 + Math.min(ind, 2) + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(0);
- break;
- default:
- s += zerofill(pieces[0].toFixed(0),
- ind === d.NONE ? 0 : 1 + Math.min(ind, 2)) +
- dmsindicatorsu_.charAt(0);
- switch (trailing) {
- case d.MINUTE:
- s += zerofill(pieces[1].toFixed(prec), 2 + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(1);
- break;
- case d.SECOND:
- s += zerofill(pieces[1].toFixed(0), 2) + dmsindicatorsu_.charAt(1);
- s += zerofill(pieces[2].toFixed(prec), 2 + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(2);
- break;
- default:
- break;
- }
- }
- if (ind !== d.NONE && ind !== d.AZIMUTH)
- s += hemispheres_.charAt((ind === d.LATITUDE ? 0 : 2) +
- (sign < 0 ? 0 : 1));
- return s;
- };
-})(GeographicLib.DMS);
-
-cb(GeographicLib);
-
-})(function(geo) {
- if (typeof module === 'object' && module.exports) {
- /******** support loading with node's require ********/
- module.exports = geo;
- } else if (typeof define === 'function' && define.amd) {
- /******** support loading with AMD ********/
- define('geographiclib', [], function() { return geo; });
- } else {
- /******** otherwise just pollute our global namespace ********/
- window.GeographicLib = geo;
- }
-});
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib.min.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib.min.js
deleted file mode 100644
index 1e0202b84ef5eb38e7c05efd5dfd795deb9ec4a8..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib.min.js
+++ /dev/null
@@ -1,1731 +0,0 @@
-/*
- * Geodesic routines from GeographicLib translated to JavaScript. See
- * https://geographiclib.sourceforge.io/html/js/
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013),
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * This file is the concatenation and compression of the JavaScript files in
- * doc/scripts/GeographicLib in the source tree for GeographicLib.
- *
- * Copyright (c) Charles Karney (2011-2015) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- *
- * Version: 1.50
- * File inventory:
- * Math.js Geodesic.js GeodesicLine.js PolygonArea.js DMS.js
- */
-(function(cb){
-// Math.js
-"use strict";
-var GeographicLib={};
-GeographicLib.Constants={};
-GeographicLib.Math={};
-GeographicLib.Accumulator={};
-(function(
-c){
-c.WGS84={a:6378137,f:1/298.257223563};
-c.version={major:1,minor:50,patch:0};
-c.version_string="1.50";
-})(GeographicLib.Constants);
-(function(
-m){
-m.digits=53;
-m.epsilon=Math.pow(0.5,m.digits-1);
-m.degree=Math.PI/180;
-m.sq=function(x){return x*x;};
-m.hypot=Math.hypot||function(x,y){
-var a,b;
-x=Math.abs(x);
-y=Math.abs(y);
-a=Math.max(x,y);b=Math.min(x,y)/(a?a:1);
-return a*Math.sqrt(1+b*b);
-};
-m.cbrt=Math.cbrt||function(x){
-var y=Math.pow(Math.abs(x),1/3);
-return x>0?y:(x<0?-y:x);
-};
-m.log1p=Math.log1p||function(x){
-var y=1+x,
-z=y-1;
-return z===0?x:x*Math.log(y)/z;
-};
-m.atanh=Math.atanh||function(x){
-var y=Math.abs(x);
-y=m.log1p(2*y/(1-y))/2;
-return x>0?y:(x<0?-y:x);
-};
-m.copysign=function(x,y){
-return Math.abs(x)*(y<0||(y===0&&1/y<0)?-1:1);
-};
-m.sum=function(u,v){
-var s=u+v,
-up=s-v,
-vpp=s-up,
-t;
-up-=u;
-vpp-=v;
-t=-(up+vpp);
-return{s:s,t:t};
-};
-m.polyval=function(N,p,s,x){
-var y=N<0?0:p[s++];
-while(--N>=0)y=y*x+p[s++];
-return y;
-};
-m.AngRound=function(x){
-if(x===0)return x;
-var z=1/16,
-y=Math.abs(x);
-y=y90?Number.NaN:x;
-};
-m.AngDiff=function(x,y){
-var r=m.sum(m.AngNormalize(-x),m.AngNormalize(y)),
-d=m.AngNormalize(r.s),
-t=r.t;
-return m.sum(d===180&&t>0?-180:d,t);
-};
-m.sincosd=function(x){
-var r,q,s,c,sinx,cosx;
-r=x%360;
-q=0+Math.round(r/90);
-r-=90*q;
-r*=this.degree;
-s=Math.sin(r);c=Math.cos(r);
-switch(q&3){
-case 0:sinx=s;cosx=c;break;
-case 1:sinx=c;cosx=-s;break;
-case 2:sinx=-s;cosx=-c;break;
-default:sinx=-c;cosx=s;break;
-}
-if(x!==0){sinx+=0;cosx+=0;}
-return{s:sinx,c:cosx};
-};
-m.atan2d=function(y,x){
-var q=0,t,ang;
-if(Math.abs(y)>Math.abs(x)){t=x;x=y;y=t;q=2;}
-if(x<0){x=-x;++q;}
-ang=Math.atan2(y,x)/this.degree;
-switch(q){
-case 1:ang=(y>=0?180:-180)-ang;break;
-case 2:ang=90-ang;break;
-case 3:ang=-90+ang;break;
-}
-return ang;
-};
-})(GeographicLib.Math);
-(function(
-a,m){
-a.Accumulator=function(y){
-this.Set(y);
-};
-a.Accumulator.prototype.Set=function(y){
-if(!y)y=0;
-if(y.constructor===a.Accumulator){
-this._s=y._s;
-this._t=y._t;
-}else{
-this._s=y;
-this._t=0;
-}
-};
-a.Accumulator.prototype.Add=function(y){
-var u=m.sum(y,this._t),
-v=m.sum(u.s,this._s);
-u=u.t;
-this._s=v.s;
-this._t=v.t;
-if(this._s===0)
-this._s=u;
-else
-this._t+=u;
-};
-a.Accumulator.prototype.Sum=function(y){
-var b;
-if(!y)
-return this._s;
-else{
-b=new a.Accumulator(this);
-b.Add(y);
-return b._s;
-}
-};
-a.Accumulator.prototype.Negate=function(){
-this._s*=-1;
-this._t*=-1;
-};
-a.Accumulator.prototype.Remainder=function(y){
-this._s=m.remainder(this._s,y);
-this.Add(0);
-};
-})(GeographicLib.Accumulator,GeographicLib.Math);
-// Geodesic.js
-GeographicLib.Geodesic={};
-GeographicLib.GeodesicLine={};
-GeographicLib.PolygonArea={};
-(function(
-g,l,p,m,c){
-var GEOGRAPHICLIB_GEODESIC_ORDER=6,
-nA1_=GEOGRAPHICLIB_GEODESIC_ORDER,
-nA2_=GEOGRAPHICLIB_GEODESIC_ORDER,
-nA3_=GEOGRAPHICLIB_GEODESIC_ORDER,
-nA3x_=nA3_,
-nC3x_,nC4x_,
-maxit1_=20,
-maxit2_=maxit1_+m.digits+10,
-tol0_=m.epsilon,
-tol1_=200*tol0_,
-tol2_=Math.sqrt(tol0_),
-tolb_=tol0_*tol1_,
-xthresh_=1000*tol2_,
-CAP_NONE=0,
-CAP_ALL=0x1F,
-CAP_MASK=CAP_ALL,
-OUT_ALL=0x7F80,
-astroid,
-A1m1f_coeff,C1f_coeff,C1pf_coeff,
-A2m1f_coeff,C2f_coeff,
-A3_coeff,C3_coeff,C4_coeff;
-g.tiny_=Math.sqrt(Number.MIN_VALUE);
-g.nC1_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC1p_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC2_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC3_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC4_=GEOGRAPHICLIB_GEODESIC_ORDER;
-nC3x_=(g.nC3_*(g.nC3_-1))/2;
-nC4x_=(g.nC4_*(g.nC4_+1))/2;
-g.CAP_C1=1<<0;
-g.CAP_C1p=1<<1;
-g.CAP_C2=1<<2;
-g.CAP_C3=1<<3;
-g.CAP_C4=1<<4;
-g.NONE=0;
-g.ARC=1<<6;
-g.LATITUDE=1<<7|CAP_NONE;
-g.LONGITUDE=1<<8|g.CAP_C3;
-g.AZIMUTH=1<<9|CAP_NONE;
-g.DISTANCE=1<<10|g.CAP_C1;
-g.STANDARD=g.LATITUDE|g.LONGITUDE|g.AZIMUTH|g.DISTANCE;
-g.DISTANCE_IN=1<<11|g.CAP_C1|g.CAP_C1p;
-g.REDUCEDLENGTH=1<<12|g.CAP_C1|g.CAP_C2;
-g.GEODESICSCALE=1<<13|g.CAP_C1|g.CAP_C2;
-g.AREA=1<<14|g.CAP_C4;
-g.ALL=OUT_ALL|CAP_ALL;
-g.LONG_UNROLL=1<<15;
-g.OUT_MASK=OUT_ALL|g.LONG_UNROLL;
-g.SinCosSeries=function(sinp,sinx,cosx,c){
-var k=c.length,
-n=k-(sinp?1:0),
-ar=2*(cosx-sinx)*(cosx+sinx),
-y0=n&1?c[--k]:0,y1=0;
-n=Math.floor(n/2);
-while(n--){
-y1=ar*y0-y1+c[--k];
-y0=ar*y1-y0+c[--k];
-}
-return(sinp?2*sinx*cosx*y0:
-cosx*(y0-y1));
-};
-astroid=function(x,y){
-var k,
-p=m.sq(x),
-q=m.sq(y),
-r=(p+q-1)/6,
-S,r2,r3,disc,u,T3,T,ang,v,uv,w;
-if(!(q===0&&r<=0)){
-S=p*q/4;
-r2=m.sq(r);
-r3=r*r2;
-disc=S*(S+2*r3);
-u=r;
-if(disc>=0){
-T3=S+r3;
-T3+=T3<0?-Math.sqrt(disc):Math.sqrt(disc);
-T=m.cbrt(T3);
-u+=T+(T!==0?r2/T:0);
-}else{
-ang=Math.atan2(Math.sqrt(-disc),-(S+r3));
-u+=2*r*Math.cos(ang/3);
-}
-v=Math.sqrt(m.sq(u)+q);
-uv=u<0?q/(v-u):u+v;
-w=(uv-q)/(2*v);
-k=uv/(Math.sqrt(uv+m.sq(w))+w);
-}else{
-k=0;
-}
-return k;
-};
-A1m1f_coeff=[
-+1,4,64,0,256
-];
-g.A1m1f=function(eps){
-var p=Math.floor(nA1_/2),
-t=m.polyval(p,A1m1f_coeff,0,m.sq(eps))/A1m1f_coeff[p+1];
-return(t+eps)/(1-eps);
-};
-C1f_coeff=[
--1,6,-16,32,
--9,64,-128,2048,
-+9,-16,768,
-+3,-5,512,
--7,1280,
--7,2048
-];
-g.C1f=function(eps,c){
-var eps2=m.sq(eps),
-d=eps,
-o=0,
-l,p;
-for(l=1;l<=g.nC1_;++l){
-p=Math.floor((g.nC1_-l)/2);
-c[l]=d*m.polyval(p,C1f_coeff,o,eps2)/C1f_coeff[o+p+1];
-o+=p+2;
-d*=eps;
-}
-};
-C1pf_coeff=[
-+205,-432,768,1536,
-+4005,-4736,3840,12288,
--225,116,384,
--7173,2695,7680,
-+3467,7680,
-+38081,61440
-];
-g.C1pf=function(eps,c){
-var eps2=m.sq(eps),
-d=eps,
-o=0,
-l,p;
-for(l=1;l<=g.nC1p_;++l){
-p=Math.floor((g.nC1p_-l)/2);
-c[l]=d*m.polyval(p,C1pf_coeff,o,eps2)/C1pf_coeff[o+p+1];
-o+=p+2;
-d*=eps;
-}
-};
-A2m1f_coeff=[
--11,-28,-192,0,256
-];
-g.A2m1f=function(eps){
-var p=Math.floor(nA2_/2),
-t=m.polyval(p,A2m1f_coeff,0,m.sq(eps))/A2m1f_coeff[p+1];
-return(t-eps)/(1+eps);
-};
-C2f_coeff=[
-+1,2,16,32,
-+35,64,384,2048,
-+15,80,768,
-+7,35,512,
-+63,1280,
-+77,2048
-];
-g.C2f=function(eps,c){
-var eps2=m.sq(eps),
-d=eps,
-o=0,
-l,p;
-for(l=1;l<=g.nC2_;++l){
-p=Math.floor((g.nC2_-l)/2);
-c[l]=d*m.polyval(p,C2f_coeff,o,eps2)/C2f_coeff[o+p+1];
-o+=p+2;
-d*=eps;
-}
-};
-g.Geodesic=function(a,f){
-this.a=a;
-this.f=f;
-this._f1=1-this.f;
-this._e2=this.f*(2-this.f);
-this._ep2=this._e2/m.sq(this._f1);
-this._n=this.f/(2-this.f);
-this._b=this.a*this._f1;
-this._c2=(m.sq(this.a)+m.sq(this._b)*
-(this._e2===0?1:
-(this._e2>0?m.atanh(Math.sqrt(this._e2)):
-Math.atan(Math.sqrt(-this._e2)))/
-Math.sqrt(Math.abs(this._e2))))/2;
-this._etol2=0.1*tol2_/
-Math.sqrt(Math.max(0.001,Math.abs(this.f))*
-Math.min(1.0,1-this.f/2)/2);
-if(!(isFinite(this.a)&&this.a>0))
-throw new Error("Equatorial radius is not positive");
-if(!(isFinite(this._b)&&this._b>0))
-throw new Error("Polar semi-axis is not positive");
-this._A3x=new Array(nA3x_);
-this._C3x=new Array(nC3x_);
-this._C4x=new Array(nC4x_);
-this.A3coeff();
-this.C3coeff();
-this.C4coeff();
-};
-A3_coeff=[
--3,128,
--2,-3,64,
--1,-3,-1,16,
-+3,-1,-2,8,
-+1,-1,2,
-+1,1
-];
-g.Geodesic.prototype.A3coeff=function(){
-var o=0,k=0,
-j,p;
-for(j=nA3_-1;j>=0;--j){
-p=Math.min(nA3_-j-1,j);
-this._A3x[k++]=m.polyval(p,A3_coeff,o,this._n)/
-A3_coeff[o+p+1];
-o+=p+2;
-}
-};
-C3_coeff=[
-+3,128,
-+2,5,128,
--1,3,3,64,
--1,0,1,8,
--1,1,4,
-+5,256,
-+1,3,128,
--3,-2,3,64,
-+1,-3,2,32,
-+7,512,
--10,9,384,
-+5,-9,5,192,
-+7,512,
--14,7,512,
-+21,2560
-];
-g.Geodesic.prototype.C3coeff=function(){
-var o=0,k=0,
-l,j,p;
-for(l=1;l=l;--j){
-p=Math.min(g.nC3_-j-1,j);
-this._C3x[k++]=m.polyval(p,C3_coeff,o,this._n)/
-C3_coeff[o+p+1];
-o+=p+2;
-}
-}
-};
-C4_coeff=[
-+97,15015,
-+1088,156,45045,
--224,-4784,1573,45045,
--10656,14144,-4576,-858,45045,
-+64,624,-4576,6864,-3003,15015,
-+100,208,572,3432,-12012,30030,45045,
-+1,9009,
--2944,468,135135,
-+5792,1040,-1287,135135,
-+5952,-11648,9152,-2574,135135,
--64,-624,4576,-6864,3003,135135,
-+8,10725,
-+1856,-936,225225,
--8448,4992,-1144,225225,
--1440,4160,-4576,1716,225225,
--136,63063,
-+1024,-208,105105,
-+3584,-3328,1144,315315,
--128,135135,
--2560,832,405405,
-+128,99099
-];
-g.Geodesic.prototype.C4coeff=function(){
-var o=0,k=0,
-l,j,p;
-for(l=0;l=l;--j){
-p=g.nC4_-j-1;
-this._C4x[k++]=m.polyval(p,C4_coeff,o,this._n)/
-C4_coeff[o+p+1];
-o+=p+2;
-}
-}
-};
-g.Geodesic.prototype.A3f=function(eps){
-return m.polyval(nA3x_-1,this._A3x,0,eps);
-};
-g.Geodesic.prototype.C3f=function(eps,c){
-var mult=1,
-o=0,
-l,p;
-for(l=1;l=0&&sbet12<0.5&&cbet2*lam12<0.5;
-if(shortline){
-sbetm2=m.sq(sbet1+sbet2);
-sbetm2/=sbetm2+m.sq(cbet1+cbet2);
-vals.dnm=Math.sqrt(1+this._ep2*sbetm2);
-omg12=lam12/(this._f1*vals.dnm);
-somg12=Math.sin(omg12);comg12=Math.cos(omg12);
-}else{
-somg12=slam12;comg12=clam12;
-}
-vals.salp1=cbet2*somg12;
-vals.calp1=comg12>=0?
-sbet12+cbet2*sbet1*m.sq(somg12)/(1+comg12):
-sbet12a-cbet2*sbet1*m.sq(somg12)/(1-comg12);
-ssig12=m.hypot(vals.salp1,vals.calp1);
-csig12=sbet1*sbet2+cbet1*cbet2*comg12;
-if(shortline&&ssig12=0?m.sq(somg12)/(1+comg12):1-comg12);
-t=m.hypot(vals.salp2,vals.calp2);vals.salp2/=t;vals.calp2/=t;
-vals.sig12=Math.atan2(ssig12,csig12);
-}else if(Math.abs(this._n)>0.1||
-csig12>=0||
-ssig12>=6*Math.abs(this._n)*Math.PI*m.sq(cbet1)){
-}else{
-lam12x=Math.atan2(-slam12,-clam12);
-if(this.f>=0){
-k2=m.sq(sbet1)*this._ep2;
-eps=k2/(2*(1+Math.sqrt(1+k2))+k2);
-lamscale=this.f*cbet1*this.A3f(eps)*Math.PI;
-betscale=lamscale*cbet1;
-x=lam12x/lamscale;
-y=sbet12a/betscale;
-}else{
-cbet12a=cbet2*cbet1-sbet2*sbet1;
-bet12a=Math.atan2(sbet12a,cbet12a);
-nvals=this.Lengths(this._n,Math.PI+bet12a,
-sbet1,-cbet1,dn1,sbet2,cbet2,dn2,
-cbet1,cbet2,g.REDUCEDLENGTH,C1a,C2a);
-m12b=nvals.m12b;m0=nvals.m0;
-x=-1+m12b/(cbet1*cbet2*m0*Math.PI);
-betscale=x<-0.01?sbet12a/x:
--this.f*m.sq(cbet1)*Math.PI;
-lamscale=betscale/cbet1;
-y=lam12/lamscale;
-}
-if(y>-tol1_&&x>-1-xthresh_){
-if(this.f>=0){
-vals.salp1=Math.min(1,-x);
-vals.calp1=-Math.sqrt(1-m.sq(vals.salp1));
-}else{
-vals.calp1=Math.max(x>-tol1_?0:-1,x);
-vals.salp1=Math.sqrt(1-m.sq(vals.calp1));
-}
-}else{
-k=astroid(x,y);
-omg12a=lamscale*(this.f>=0?-x*k/(1+k):-y*(1+k)/k);
-somg12=Math.sin(omg12a);comg12=-Math.cos(omg12a);
-vals.salp1=cbet2*somg12;
-vals.calp1=sbet12a-
-cbet2*sbet1*m.sq(somg12)/(1-comg12);
-}
-}
-if(!(vals.salp1<=0.0)){
-t=m.hypot(vals.salp1,vals.calp1);vals.salp1/=t;vals.calp1/=t;
-}else{
-vals.salp1=1;vals.calp1=0;
-}
-return vals;
-};
-g.Geodesic.prototype.Lambda12=function(sbet1,cbet1,dn1,
-sbet2,cbet2,dn2,
-salp1,calp1,slam120,clam120,
-diffp,C1a,C2a,C3a){
-var vals={},
-t,salp0,calp0,
-somg1,comg1,somg2,comg2,somg12,comg12,B312,eta,k2,nvals;
-if(sbet1===0&&calp1===0)
-calp1=-g.tiny_;
-salp0=salp1*cbet1;
-calp0=m.hypot(calp1,salp1*sbet1);
-vals.ssig1=sbet1;somg1=salp0*sbet1;
-vals.csig1=comg1=calp1*cbet1;
-t=m.hypot(vals.ssig1,vals.csig1);vals.ssig1/=t;vals.csig1/=t;
-vals.salp2=cbet2!==cbet1?salp0/cbet2:salp1;
-vals.calp2=cbet2!==cbet1||Math.abs(sbet2)!==-sbet1?
-Math.sqrt(m.sq(calp1*cbet1)+(cbet1<-sbet1?
-(cbet2-cbet1)*(cbet1+cbet2):
-(sbet1-sbet2)*(sbet1+sbet2)))/
-cbet2:Math.abs(calp1);
-vals.ssig2=sbet2;somg2=salp0*sbet2;
-vals.csig2=comg2=vals.calp2*cbet2;
-t=m.hypot(vals.ssig2,vals.csig2);vals.ssig2/=t;vals.csig2/=t;
-vals.sig12=Math.atan2(Math.max(0,vals.csig1*vals.ssig2-
-vals.ssig1*vals.csig2),
-vals.csig1*vals.csig2+
-vals.ssig1*vals.ssig2);
-somg12=Math.max(0,comg1*somg2-somg1*comg2);
-comg12=comg1*comg2+somg1*somg2;
-eta=Math.atan2(somg12*clam120-comg12*slam120,
-comg12*clam120+somg12*slam120);
-k2=m.sq(calp0)*this._ep2;
-vals.eps=k2/(2*(1+Math.sqrt(1+k2))+k2);
-this.C3f(vals.eps,C3a);
-B312=(g.SinCosSeries(true,vals.ssig2,vals.csig2,C3a)-
-g.SinCosSeries(true,vals.ssig1,vals.csig1,C3a));
-vals.domg12=-this.f*this.A3f(vals.eps)*salp0*(vals.sig12+B312);
-vals.lam12=eta+vals.domg12;
-if(diffp){
-if(vals.calp2===0)
-vals.dlam12=-2*this._f1*dn1/sbet1;
-else{
-nvals=this.Lengths(vals.eps,vals.sig12,
-vals.ssig1,vals.csig1,dn1,
-vals.ssig2,vals.csig2,dn2,
-cbet1,cbet2,g.REDUCEDLENGTH,C1a,C2a);
-vals.dlam12=nvals.m12b;
-vals.dlam12*=this._f1/(vals.calp2*cbet2);
-}
-}
-return vals;
-};
-g.Geodesic.prototype.Inverse=function(lat1,lon1,lat2,lon2,outmask){
-var r,vals;
-if(!outmask)outmask=g.STANDARD;
-if(outmask===g.LONG_UNROLL)outmask|=g.STANDARD;
-outmask&=g.OUT_MASK;
-r=this.InverseInt(lat1,lon1,lat2,lon2,outmask);
-vals=r.vals;
-if(outmask&g.AZIMUTH){
-vals.azi1=m.atan2d(r.salp1,r.calp1);
-vals.azi2=m.atan2d(r.salp2,r.calp2);
-}
-return vals;
-};
-g.Geodesic.prototype.InverseInt=function(lat1,lon1,lat2,lon2,outmask){
-var vals={},
-lon12,lon12s,lonsign,t,swapp,latsign,
-sbet1,cbet1,sbet2,cbet2,s12x,m12x,
-dn1,dn2,lam12,slam12,clam12,
-sig12,calp1,salp1,calp2,salp2,C1a,C2a,C3a,meridian,nvals,
-ssig1,csig1,ssig2,csig2,eps,omg12,dnm,
-numit,salp1a,calp1a,salp1b,calp1b,
-tripn,tripb,v,dv,dalp1,sdalp1,cdalp1,nsalp1,
-lengthmask,salp0,calp0,alp12,k2,A4,C4a,B41,B42,
-somg12,comg12,domg12,dbet1,dbet2,salp12,calp12,sdomg12,cdomg12;
-vals.lat1=lat1=m.LatFix(lat1);vals.lat2=lat2=m.LatFix(lat2);
-lat1=m.AngRound(lat1);
-lat2=m.AngRound(lat2);
-lon12=m.AngDiff(lon1,lon2);lon12s=lon12.t;lon12=lon12.s;
-if(outmask&g.LONG_UNROLL){
-vals.lon1=lon1;vals.lon2=(lon1+lon12)+lon12s;
-}else{
-vals.lon1=m.AngNormalize(lon1);vals.lon2=m.AngNormalize(lon2);
-}
-lonsign=lon12>=0?1:-1;
-lon12=lonsign*m.AngRound(lon12);
-lon12s=m.AngRound((180-lon12)-lonsign*lon12s);
-lam12=lon12*m.degree;
-t=m.sincosd(lon12>90?lon12s:lon12);
-slam12=t.s;clam12=(lon12>90?-1:1)*t.c;
-swapp=Math.abs(lat1)=0){
-if(sig12<3*g.tiny_)
-sig12=m12x=s12x=0;
-m12x*=this._b;
-s12x*=this._b;
-vals.a12=sig12/m.degree;
-}else
-meridian=false;
-}
-somg12=2;
-if(!meridian&&
-sbet1===0&&
-(this.f<=0||lon12s>=this.f*180)){
-calp1=calp2=0;salp1=salp2=1;
-s12x=this.a*lam12;
-sig12=omg12=lam12/this._f1;
-m12x=this._b*Math.sin(sig12);
-if(outmask&g.GEODESICSCALE)
-vals.M12=vals.M21=Math.cos(sig12);
-vals.a12=lon12/this._f1;
-}else if(!meridian){
-nvals=this.InverseStart(sbet1,cbet1,dn1,sbet2,cbet2,dn2,
-lam12,slam12,clam12,C1a,C2a);
-sig12=nvals.sig12;
-salp1=nvals.salp1;
-calp1=nvals.calp1;
-if(sig12>=0){
-salp2=nvals.salp2;
-calp2=nvals.calp2;
-dnm=nvals.dnm;
-s12x=sig12*this._b*dnm;
-m12x=m.sq(dnm)*this._b*Math.sin(sig12/dnm);
-if(outmask&g.GEODESICSCALE)
-vals.M12=vals.M21=Math.cos(sig12/dnm);
-vals.a12=sig12/m.degree;
-omg12=lam12/(this._f1*dnm);
-}else{
-numit=0;
-salp1a=g.tiny_;calp1a=1;salp1b=g.tiny_;calp1b=-1;
-for(tripn=false,tripb=false;numit=(tripn?8:1)*tol0_))
-break;
-if(v>0&&(numitcalp1b/salp1b)){
-salp1b=salp1;calp1b=calp1;
-}else if(v<0&&
-(numit0){
-dalp1=-v/dv;
-sdalp1=Math.sin(dalp1);cdalp1=Math.cos(dalp1);
-nsalp1=salp1*cdalp1+calp1*sdalp1;
-if(nsalp1>0&&Math.abs(dalp1)1){
-somg12=Math.sin(omg12);comg12=Math.cos(omg12);
-}
-if(!meridian&&
-comg12>-0.7071&&
-sbet2-sbet1<1.75){
-domg12=1+comg12;dbet1=1+cbet1;dbet2=1+cbet2;
-alp12=2*Math.atan2(somg12*(sbet1*dbet2+sbet2*dbet1),
-domg12*(sbet1*sbet2+dbet1*dbet2));
-}else{
-salp12=salp2*calp1-calp2*salp1;
-calp12=calp2*calp1+salp2*salp1;
-if(salp12===0&&calp12<0){
-salp12=g.tiny_*calp1;
-calp12=-1;
-}
-alp12=Math.atan2(salp12,calp12);
-}
-vals.S12+=this._c2*alp12;
-vals.S12*=swapp*lonsign*latsign;
-vals.S12+=0;
-}
-if(swapp<0){
-t=salp1;
-salp1=salp2;
-salp2=t;
-t=calp1;
-calp1=calp2;
-calp2=t;
-if(outmask&g.GEODESICSCALE){
-t=vals.M12;
-vals.M12=vals.M21;
-vals.M21=t;
-}
-}
-salp1*=swapp*lonsign;calp1*=swapp*latsign;
-salp2*=swapp*lonsign;calp2*=swapp*latsign;
-return{vals:vals,
-salp1:salp1,calp1:calp1,
-salp2:salp2,calp2:calp2};
-};
-g.Geodesic.prototype.GenDirect=function(lat1,lon1,azi1,
-arcmode,s12_a12,outmask){
-var line;
-if(!outmask)outmask=g.STANDARD;
-else if(outmask===g.LONG_UNROLL)outmask|=g.STANDARD;
-if(!arcmode)outmask|=g.DISTANCE_IN;
-line=new l.GeodesicLine(this,lat1,lon1,azi1,outmask);
-return line.GenPosition(arcmode,s12_a12,outmask);
-};
-g.Geodesic.prototype.Direct=function(lat1,lon1,azi1,s12,outmask){
-return this.GenDirect(lat1,lon1,azi1,false,s12,outmask);
-};
-g.Geodesic.prototype.ArcDirect=function(lat1,lon1,azi1,a12,outmask){
-return this.GenDirect(lat1,lon1,azi1,true,a12,outmask);
-};
-g.Geodesic.prototype.Line=function(lat1,lon1,azi1,caps){
-return new l.GeodesicLine(this,lat1,lon1,azi1,caps);
-};
-g.Geodesic.prototype.DirectLine=function(lat1,lon1,azi1,s12,caps){
-return this.GenDirectLine(lat1,lon1,azi1,false,s12,caps);
-};
-g.Geodesic.prototype.ArcDirectLine=function(lat1,lon1,azi1,a12,caps){
-return this.GenDirectLine(lat1,lon1,azi1,true,a12,caps);
-};
-g.Geodesic.prototype.GenDirectLine=function(lat1,lon1,azi1,
-arcmode,s12_a12,caps){
-var t;
-if(!caps)caps=g.STANDARD|g.DISTANCE_IN;
-if(!arcmode)caps|=g.DISTANCE_IN;
-t=new l.GeodesicLine(this,lat1,lon1,azi1,caps);
-t.GenSetDistance(arcmode,s12_a12);
-return t;
-};
-g.Geodesic.prototype.InverseLine=function(lat1,lon1,lat2,lon2,caps){
-var r,t,azi1;
-if(!caps)caps=g.STANDARD|g.DISTANCE_IN;
-r=this.InverseInt(lat1,lon1,lat2,lon2,g.ARC);
-azi1=m.atan2d(r.salp1,r.calp1);
-if(caps&(g.OUT_MASK&g.DISTANCE_IN))caps|=g.DISTANCE;
-t=new l.GeodesicLine(this,lat1,lon1,azi1,caps,r.salp1,r.calp1);
-t.SetArc(r.vals.a12);
-return t;
-};
-g.Geodesic.prototype.Polygon=function(polyline){
-return new p.PolygonArea(this,polyline);
-};
-g.WGS84=new g.Geodesic(c.WGS84.a,c.WGS84.f);
-})(GeographicLib.Geodesic,GeographicLib.GeodesicLine,
-GeographicLib.PolygonArea,GeographicLib.Math,GeographicLib.Constants);
-// GeodesicLine.js
-(function(
-g,
-l,m){
-l.GeodesicLine=function(geod,lat1,lon1,azi1,caps,salp1,calp1){
-var t,cbet1,sbet1,eps,s,c;
-if(!caps)caps=g.STANDARD|g.DISTANCE_IN;
-this.a=geod.a;
-this.f=geod.f;
-this._b=geod._b;
-this._c2=geod._c2;
-this._f1=geod._f1;
-this.caps=caps|g.LATITUDE|g.AZIMUTH|g.LONG_UNROLL;
-this.lat1=m.LatFix(lat1);
-this.lon1=lon1;
-if(typeof salp1==='undefined'||typeof calp1==='undefined'){
-this.azi1=m.AngNormalize(azi1);
-t=m.sincosd(m.AngRound(this.azi1));this.salp1=t.s;this.calp1=t.c;
-}else{
-this.azi1=azi1;this.salp1=salp1;this.calp1=calp1;
-}
-t=m.sincosd(m.AngRound(this.lat1));sbet1=this._f1*t.s;cbet1=t.c;
-t=m.hypot(sbet1,cbet1);sbet1/=t;cbet1/=t;
-cbet1=Math.max(g.tiny_,cbet1);
-this._dn1=Math.sqrt(1+geod._ep2*m.sq(sbet1));
-this._salp0=this.salp1*cbet1;
-this._calp0=m.hypot(this.calp1,this.salp1*sbet1);
-this._ssig1=sbet1;this._somg1=this._salp0*sbet1;
-this._csig1=this._comg1=
-sbet1!==0||this.calp1!==0?cbet1*this.calp1:1;
-t=m.hypot(this._ssig1,this._csig1);
-this._ssig1/=t;this._csig1/=t;
-this._k2=m.sq(this._calp0)*geod._ep2;
-eps=this._k2/(2*(1+Math.sqrt(1+this._k2))+this._k2);
-if(this.caps&g.CAP_C1){
-this._A1m1=g.A1m1f(eps);
-this._C1a=new Array(g.nC1_+1);
-g.C1f(eps,this._C1a);
-this._B11=g.SinCosSeries(true,this._ssig1,this._csig1,this._C1a);
-s=Math.sin(this._B11);c=Math.cos(this._B11);
-this._stau1=this._ssig1*c+this._csig1*s;
-this._ctau1=this._csig1*c-this._ssig1*s;
-}
-if(this.caps&g.CAP_C1p){
-this._C1pa=new Array(g.nC1p_+1);
-g.C1pf(eps,this._C1pa);
-}
-if(this.caps&g.CAP_C2){
-this._A2m1=g.A2m1f(eps);
-this._C2a=new Array(g.nC2_+1);
-g.C2f(eps,this._C2a);
-this._B21=g.SinCosSeries(true,this._ssig1,this._csig1,this._C2a);
-}
-if(this.caps&g.CAP_C3){
-this._C3a=new Array(g.nC3_);
-geod.C3f(eps,this._C3a);
-this._A3c=-this.f*this._salp0*geod.A3f(eps);
-this._B31=g.SinCosSeries(true,this._ssig1,this._csig1,this._C3a);
-}
-if(this.caps&g.CAP_C4){
-this._C4a=new Array(g.nC4_);
-geod.C4f(eps,this._C4a);
-this._A4=m.sq(this.a)*this._calp0*this._salp0*geod._e2;
-this._B41=g.SinCosSeries(false,this._ssig1,this._csig1,this._C4a);
-}
-this.a13=this.s13=Number.NaN;
-};
-l.GeodesicLine.prototype.GenPosition=function(arcmode,s12_a12,
-outmask){
-var vals={},
-sig12,ssig12,csig12,B12,AB1,ssig2,csig2,tau12,s,c,serr,
-omg12,lam12,lon12,E,sbet2,cbet2,somg2,comg2,salp2,calp2,dn2,
-B22,AB2,J12,t,B42,salp12,calp12;
-if(!outmask)outmask=g.STANDARD;
-else if(outmask===g.LONG_UNROLL)outmask|=g.STANDARD;
-outmask&=this.caps&g.OUT_MASK;
-vals.lat1=this.lat1;vals.azi1=this.azi1;
-vals.lon1=outmask&g.LONG_UNROLL?
-this.lon1:m.AngNormalize(this.lon1);
-if(arcmode)
-vals.a12=s12_a12;
-else
-vals.s12=s12_a12;
-if(!(arcmode||(this.caps&g.DISTANCE_IN&g.OUT_MASK))){
-vals.a12=Number.NaN;
-return vals;
-}
-B12=0;AB1=0;
-if(arcmode){
-sig12=s12_a12*m.degree;
-t=m.sincosd(s12_a12);ssig12=t.s;csig12=t.c;
-}else{
-tau12=s12_a12/(this._b*(1+this._A1m1));
-s=Math.sin(tau12);
-c=Math.cos(tau12);
-B12=-g.SinCosSeries(true,
-this._stau1*c+this._ctau1*s,
-this._ctau1*c-this._stau1*s,
-this._C1pa);
-sig12=tau12-(B12-this._B11);
-ssig12=Math.sin(sig12);csig12=Math.cos(sig12);
-if(Math.abs(this.f)>0.01){
-ssig2=this._ssig1*csig12+this._csig1*ssig12;
-csig2=this._csig1*csig12-this._ssig1*ssig12;
-B12=g.SinCosSeries(true,ssig2,csig2,this._C1a);
-serr=(1+this._A1m1)*(sig12+(B12-this._B11))-
-s12_a12/this._b;
-sig12=sig12-serr/Math.sqrt(1+this._k2*m.sq(ssig2));
-ssig12=Math.sin(sig12);csig12=Math.cos(sig12);
-}
-}
-ssig2=this._ssig1*csig12+this._csig1*ssig12;
-csig2=this._csig1*csig12-this._ssig1*ssig12;
-dn2=Math.sqrt(1+this._k2*m.sq(ssig2));
-if(outmask&(g.DISTANCE|g.REDUCEDLENGTH|g.GEODESICSCALE)){
-if(arcmode||Math.abs(this.f)>0.01)
-B12=g.SinCosSeries(true,ssig2,csig2,this._C1a);
-AB1=(1+this._A1m1)*(B12-this._B11);
-}
-sbet2=this._calp0*ssig2;
-cbet2=m.hypot(this._salp0,this._calp0*csig2);
-if(cbet2===0)
-cbet2=csig2=g.tiny_;
-salp2=this._salp0;calp2=this._calp0*csig2;
-if(arcmode&&(outmask&g.DISTANCE))
-vals.s12=this._b*((1+this._A1m1)*sig12+AB1);
-if(outmask&g.LONGITUDE){
-somg2=this._salp0*ssig2;comg2=csig2;
-E=m.copysign(1,this._salp0);
-omg12=outmask&g.LONG_UNROLL?
-E*(sig12-
-(Math.atan2(ssig2,csig2)-
-Math.atan2(this._ssig1,this._csig1))+
-(Math.atan2(E*somg2,comg2)-
-Math.atan2(E*this._somg1,this._comg1))):
-Math.atan2(somg2*this._comg1-comg2*this._somg1,
-comg2*this._comg1+somg2*this._somg1);
-lam12=omg12+this._A3c*
-(sig12+(g.SinCosSeries(true,ssig2,csig2,this._C3a)-
-this._B31));
-lon12=lam12/m.degree;
-vals.lon2=outmask&g.LONG_UNROLL?this.lon1+lon12:
-m.AngNormalize(m.AngNormalize(this.lon1)+m.AngNormalize(lon12));
-}
-if(outmask&g.LATITUDE)
-vals.lat2=m.atan2d(sbet2,this._f1*cbet2);
-if(outmask&g.AZIMUTH)
-vals.azi2=m.atan2d(salp2,calp2);
-if(outmask&(g.REDUCEDLENGTH|g.GEODESICSCALE)){
-B22=g.SinCosSeries(true,ssig2,csig2,this._C2a);
-AB2=(1+this._A2m1)*(B22-this._B21);
-J12=(this._A1m1-this._A2m1)*sig12+(AB1-AB2);
-if(outmask&g.REDUCEDLENGTH)
-vals.m12=this._b*((dn2*(this._csig1*ssig2)-
-this._dn1*(this._ssig1*csig2))-
-this._csig1*csig2*J12);
-if(outmask&g.GEODESICSCALE){
-t=this._k2*(ssig2-this._ssig1)*(ssig2+this._ssig1)/
-(this._dn1+dn2);
-vals.M12=csig12+
-(t*ssig2-csig2*J12)*this._ssig1/this._dn1;
-vals.M21=csig12-
-(t*this._ssig1-this._csig1*J12)*ssig2/dn2;
-}
-}
-if(outmask&g.AREA){
-B42=g.SinCosSeries(false,ssig2,csig2,this._C4a);
-if(this._calp0===0||this._salp0===0){
-salp12=salp2*this.calp1-calp2*this.salp1;
-calp12=calp2*this.calp1+salp2*this.salp1;
-}else{
-salp12=this._calp0*this._salp0*
-(csig12<=0?this._csig1*(1-csig12)+ssig12*this._ssig1:
-ssig12*(this._csig1*ssig12/(1+csig12)+this._ssig1));
-calp12=m.sq(this._salp0)+m.sq(this._calp0)*this._csig1*csig2;
-}
-vals.S12=this._c2*Math.atan2(salp12,calp12)+
-this._A4*(B42-this._B41);
-}
-if(!arcmode)
-vals.a12=sig12/m.degree;
-return vals;
-};
-l.GeodesicLine.prototype.Position=function(s12,outmask){
-return this.GenPosition(false,s12,outmask);
-};
-l.GeodesicLine.prototype.ArcPosition=function(a12,outmask){
-return this.GenPosition(true,a12,outmask);
-};
-l.GeodesicLine.prototype.GenSetDistance=function(arcmode,s13_a13){
-if(arcmode)
-this.SetArc(s13_a13);
-else
-this.SetDistance(s13_a13);
-};
-l.GeodesicLine.prototype.SetDistance=function(s13){
-var r;
-this.s13=s13;
-r=this.GenPosition(false,this.s13,g.ARC);
-this.a13=0+r.a12;
-};
-l.GeodesicLine.prototype.SetArc=function(a13){
-var r;
-this.a13=a13;
-r=this.GenPosition(true,this.a13,g.DISTANCE);
-this.s13=0+r.s12;
-};
-})(GeographicLib.Geodesic,GeographicLib.GeodesicLine,GeographicLib.Math);
-// PolygonArea.js
-(function(
-p,g,m,a){
-var transit,transitdirect,AreaReduceA,AreaReduceB;
-transit=function(lon1,lon2){
-var lon12,cross;
-lon1=m.AngNormalize(lon1);
-lon2=m.AngNormalize(lon2);
-lon12=m.AngDiff(lon1,lon2).s;
-cross=lon1<=0&&lon2>0&&lon12>0?1:
-(lon2<=0&&lon1>0&&lon12<0?-1:0);
-return cross;
-};
-transitdirect=function(lon1,lon2){
-lon1=lon1%720.0;lon2=lon2%720.0;
-return(((lon2<=0&&lon2>-360)||lon2>360?1:0)-
-((lon1<=0&&lon1>-360)||lon1>360?1:0));
-};
-AreaReduceA=function(area,area0,crossings,reverse,sign){
-area.Remainder(area0);
-if(crossings&1)
-area.Add((area.Sum()<0?1:-1)*area0/2);
-if(!reverse)
-area.Negate();
-if(sign){
-if(area.Sum()>area0/2)
-area.Add(-area0);
-else if(area.Sum()<=-area0/2)
-area.Add(+area0);
-}else{
-if(area.Sum()>=area0)
-area.Add(-area0);
-else if(area.Sum()<0)
-area.Add(+area0);
-}
-return 0+area.Sum();
-};
-AreaReduceB=function(area,area0,crossings,reverse,sign){
-area=m.remainder(area,area0);
-if(crossings&1)
-area+=(area<0?1:-1)*area0/2;
-if(!reverse)
-area*=-1;
-if(sign){
-if(area>area0/2)
-area-=area0;
-else if(area<=-area0/2)
-area+=area0;
-}else{
-if(area>=area0)
-area-=area0;
-else if(area<0)
-area+=area0;
-}
-return 0+area;
-};
-p.PolygonArea=function(geod,polyline){
-this._geod=geod;
-this.a=this._geod.a;
-this.f=this._geod.f;
-this._area0=4*Math.PI*geod._c2;
-this.polyline=!polyline?false:polyline;
-this._mask=g.LATITUDE|g.LONGITUDE|g.DISTANCE|
-(this.polyline?g.NONE:g.AREA|g.LONG_UNROLL);
-if(!this.polyline)
-this._areasum=new a.Accumulator(0);
-this._perimetersum=new a.Accumulator(0);
-this.Clear();
-};
-p.PolygonArea.prototype.Clear=function(){
-this.num=0;
-this._crossings=0;
-if(!this.polyline)
-this._areasum.Set(0);
-this._perimetersum.Set(0);
-this._lat0=this._lon0=this.lat=this.lon=Number.NaN;
-};
-p.PolygonArea.prototype.AddPoint=function(lat,lon){
-var t;
-if(this.num===0){
-this._lat0=this.lat=lat;
-this._lon0=this.lon=lon;
-}else{
-t=this._geod.Inverse(this.lat,this.lon,lat,lon,this._mask);
-this._perimetersum.Add(t.s12);
-if(!this.polyline){
-this._areasum.Add(t.S12);
-this._crossings+=transit(this.lon,lon);
-}
-this.lat=lat;
-this.lon=lon;
-}
-++this.num;
-};
-p.PolygonArea.prototype.AddEdge=function(azi,s){
-var t;
-if(this.num){
-t=this._geod.Direct(this.lat,this.lon,azi,s,this._mask);
-this._perimetersum.Add(s);
-if(!this.polyline){
-this._areasum.Add(t.S12);
-this._crossings+=transitdirect(this.lon,t.lon2);
-}
-this.lat=t.lat2;
-this.lon=t.lon2;
-}
-++this.num;
-};
-p.PolygonArea.prototype.Compute=function(reverse,sign){
-var vals={number:this.num},t,tempsum;
-if(this.num<2){
-vals.perimeter=0;
-if(!this.polyline)
-vals.area=0;
-return vals;
-}
-if(this.polyline){
-vals.perimeter=this._perimetersum.Sum();
-return vals;
-}
-t=this._geod.Inverse(this.lat,this.lon,this._lat0,this._lon0,
-this._mask);
-vals.perimeter=this._perimetersum.Sum(t.s12);
-tempsum=new a.Accumulator(this._areasum);
-tempsum.Add(t.S12);
-vals.area=AreaReduceA(tempsum,this._area0,
-this._crossings+transit(this.lon,this._lon0),
-reverse,sign);
-return vals;
-};
-p.PolygonArea.prototype.TestPoint=function(lat,lon,reverse,sign){
-var vals={number:this.num+1},t,tempsum,crossings,i;
-if(this.num===0){
-vals.perimeter=0;
-if(!this.polyline)
-vals.area=0;
-return vals;
-}
-vals.perimeter=this._perimetersum.Sum();
-tempsum=this.polyline?0:this._areasum.Sum();
-crossings=this._crossings;
-for(i=0;i<(this.polyline?1:2);++i){
-t=this._geod.Inverse(
-i===0?this.lat:lat,i===0?this.lon:lon,
-i!==0?this._lat0:lat,i!==0?this._lon0:lon,
-this._mask);
-vals.perimeter+=t.s12;
-if(!this.polyline){
-tempsum+=t.S12;
-crossings+=transit(i===0?this.lon:lon,
-i!==0?this._lon0:lon);
-}
-}
-if(this.polyline)
-return vals;
-vals.area=AreaReduceB(tempsum,this._area0,crossings,reverse,sign);
-return vals;
-};
-p.PolygonArea.prototype.TestEdge=function(azi,s,reverse,sign){
-var vals={number:this.num?this.num+1:0},t,tempsum,crossings;
-if(this.num===0)
-return vals;
-vals.perimeter=this._perimetersum.Sum()+s;
-if(this.polyline)
-return vals;
-tempsum=this._areasum.Sum();
-crossings=this._crossings;
-t=this._geod.Direct(this.lat,this.lon,azi,s,this._mask);
-tempsum+=t.S12;
-crossings+=transitdirect(this.lon,t.lon2);
-crossings+=transit(t.lon2,this._lon0);
-t=this._geod.Inverse(t.lat2,t.lon2,this._lat0,this._lon0,this._mask);
-vals.perimeter+=t.s12;
-tempsum+=t.S12;
-vals.area=AreaReduceB(tempsum,this._area0,crossings,reverse,sign);
-return vals;
-};
-})(GeographicLib.PolygonArea,GeographicLib.Geodesic,
-GeographicLib.Math,GeographicLib.Accumulator);
-// DMS.js
-GeographicLib.DMS={};
-(function(
-d){
-var lookup,zerofill,internalDecode,numMatch,
-hemispheres_="SNWE",
-signs_="-+",
-digits_="0123456789",
-dmsindicators_="D'\":",
-dmsindicatorsu_="\u00b0'\"",
-components_=["degrees","minutes","seconds"];
-lookup=function(s,c){
-return s.indexOf(c.toUpperCase());
-};
-zerofill=function(s,n){
-return String("0000").substr(0,Math.max(0,Math.min(4,n-s.length)))+
-s;
-};
-d.NONE=0;
-d.LATITUDE=1;
-d.LONGITUDE=2;
-d.AZIMUTH=3;
-d.DEGREE=0;
-d.MINUTE=1;
-d.SECOND=2;
-d.Decode=function(dms){
-var dmsa=dms,end,
-v=0,i=0,mi,pi,vals,
-ind1=d.NONE,ind2,p,pa,pb;
-dmsa=dmsa
-.replace(/\u2212/g,'-')
-.replace(/\u00b0/g,'d')
-.replace(/\u00ba/g,'d')
-.replace(/\u2070/g,'d')
-.replace(/\u02da/g,'d')
-.replace(/\u2032/g,'\'')
-.replace(/\u00b4/g,'\'')
-.replace(/\u2019/g,'\'')
-.replace(/\u2033/g,'"')
-.replace(/\u201d/g,'"')
-.replace(/\u00a0/g,'')
-.replace(/\u202f/g,'')
-.replace(/\u2007/g,'')
-.replace(/''/g,'"')
-.trim();
-end=dmsa.length;
-for(p=0;p=0)
-++pa;
-if(i>0||(pa=0))
-++pa;
-mi=dmsa.substr(pa,end-pa).indexOf('-');
-pi=dmsa.substr(pa,end-pa).indexOf('+');
-if(mi<0)mi=end;else mi+=pa;
-if(pi<0)pi=end;else pi+=pa;
-pb=Math.min(mi,pi);
-vals=internalDecode(dmsa.substr(p,pb-p));
-v+=vals.val;ind2=vals.ind;
-if(ind1===d.NONE)
-ind1=ind2;
-else if(!(ind2===d.NONE||ind1===ind2))
-throw new Error("Incompatible hemisphere specifies in "+
-dmsa.substr(0,pb));
-}
-if(i===0)
-throw new Error("Empty or incomplete DMS string "+dmsa);
-return{val:v,ind:ind1};
-};
-internalDecode=function(dmsa){
-var vals={},errormsg="",
-sign,beg,end,ind1,k,
-ipieces,fpieces,npiece,
-icurrent,fcurrent,ncurrent,p,
-pointseen,
-digcount,intcount,
-x;
-do{
-sign=1;
-beg=0;end=dmsa.length;
-ind1=d.NONE;
-k=-1;
-if(end>beg&&(k=lookup(hemispheres_,dmsa.charAt(beg)))>=0){
-ind1=(k&2)?d.LONGITUDE:d.LATITUDE;
-sign=(k&1)?1:-1;
-++beg;
-}
-if(end>beg&&
-(k=lookup(hemispheres_,dmsa.charAt(end-1)))>=0){
-if(k>=0){
-if(ind1!==d.NONE){
-if(dmsa.charAt(beg-1).toUpperCase()===
-dmsa.charAt(end-1).toUpperCase())
-errormsg="Repeated hemisphere indicators "+
-dmsa.charAt(beg-1)+" in "+
-dmsa.substr(beg-1,end-beg+1);
-else
-errormsg="Contradictory hemisphere indicators "+
-dmsa.charAt(beg-1)+" and "+dmsa.charAt(end-1)+" in "+
-dmsa.substr(beg-1,end-beg+1);
-break;
-}
-ind1=(k&2)?d.LONGITUDE:d.LATITUDE;
-sign=(k&1)?1:-1;
---end;
-}
-}
-if(end>beg&&(k=lookup(signs_,dmsa.charAt(beg)))>=0){
-if(k>=0){
-sign*=k?1:-1;
-++beg;
-}
-}
-if(end===beg){
-errormsg="Empty or incomplete DMS string "+dmsa;
-break;
-}
-ipieces=[0,0,0];
-fpieces=[0,0,0];
-npiece=0;
-icurrent=0;
-fcurrent=0;
-ncurrent=0;
-p=beg;
-pointseen=false;
-digcount=0;
-intcount=0;
-while(p=0){
-++ncurrent;
-if(digcount>0){
-++digcount;
-}else{
-icurrent=10*icurrent+k;
-++intcount;
-}
-}else if(x==='.'){
-if(pointseen){
-errormsg="Multiple decimal points in "+
-dmsa.substr(beg,end-beg);
-break;
-}
-pointseen=true;
-digcount=1;
-}else if((k=lookup(dmsindicators_,x))>=0){
-if(k>=3){
-if(p===end){
-errormsg="Illegal for colon to appear at the end of "+
-dmsa.substr(beg,end-beg);
-break;
-}
-k=npiece;
-}
-if(k===npiece-1){
-errormsg="Repeated "+components_[k]+
-" component in "+dmsa.substr(beg,end-beg);
-break;
-}else if(k0){
-fcurrent=parseFloat(dmsa.substr(p-intcount-digcount-1,
-intcount+digcount));
-icurrent=0;
-}
-ipieces[k]=icurrent;
-fpieces[k]=icurrent+fcurrent;
-if(p=0){
-errormsg="Internal sign in DMS string "+
-dmsa.substr(beg,end-beg);
-break;
-}else{
-errormsg="Illegal character "+x+" in DMS string "+
-dmsa.substr(beg,end-beg);
-break;
-}
-}
-if(errormsg.length)
-break;
-if(lookup(dmsindicators_,dmsa.charAt(p-1))<0){
-if(npiece>=3){
-errormsg="Extra text following seconds in DMS string "+
-dmsa.substr(beg,end-beg);
-break;
-}
-if(ncurrent===0){
-errormsg="Missing numbers in trailing component of "+
-dmsa.substr(beg,end-beg);
-break;
-}
-if(digcount>0){
-fcurrent=parseFloat(dmsa.substr(p-intcount-digcount,
-intcount+digcount));
-icurrent=0;
-}
-ipieces[npiece]=icurrent;
-fpieces[npiece]=icurrent+fcurrent;
-}
-if(pointseen&&digcount===0){
-errormsg="Decimal point in non-terminal component of "+
-dmsa.substr(beg,end-beg);
-break;
-}
-if(ipieces[1]>=60||fpieces[1]>60){
-errormsg="Minutes "+fpieces[1]+" not in range [0,60)";
-break;
-}
-if(ipieces[2]>=60||fpieces[2]>60){
-errormsg="Seconds "+fpieces[2]+" not in range [0,60)";
-break;
-}
-vals.ind=ind1;
-vals.val=sign*
-(fpieces[2]?(60*(60*fpieces[0]+fpieces[1])+fpieces[2])/3600:
-(fpieces[1]?(60*fpieces[0]+fpieces[1])/60:fpieces[0]));
-return vals;
-}while(false);
-vals.val=numMatch(dmsa);
-if(vals.val===0)
-throw new Error(errormsg);
-else
-vals.ind=d.NONE;
-return vals;
-};
-numMatch=function(s){
-var t,sign,p0,p1;
-if(s.length<3)
-return 0;
-t=s.toUpperCase().replace(/0+$/,"");
-sign=t.charAt(0)==='-'?-1:1;
-p0=t.charAt(0)==='-'||t.charAt(0)==='+'?1:0;
-p1=t.length-1;
-if(p1+190)
-throw new Error("Latitude "+lat+" not in [-90,90]");
-vals.lat=lat;
-vals.lon=lon;
-return vals;
-};
-d.DecodeAngle=function(angstr){
-var vals=d.Decode(angstr),
-ang=vals.val,ind=vals.ind;
-if(ind!==d.NONE)
-throw new Error("Arc angle "+angstr+
-" includes a hemisphere N/E/W/S");
-return ang;
-};
-d.DecodeAzimuth=function(azistr){
-var vals=d.Decode(azistr),
-azi=vals.val,ind=vals.ind;
-if(ind===d.LATITUDE)
-throw new Error("Azimuth "+azistr+" has a latitude hemisphere N/S");
-return azi;
-};
-d.Encode=function(angle,trailing,prec,ind){
-var scale=1,i,sign,
-idegree,fdegree,f,pieces,ip,fp,s;
-if(!ind)ind=d.NONE;
-if(!isFinite(angle))
-return angle<0?String("-inf"):
-(angle>0?String("inf"):String("nan"));
-prec=Math.min(15-2*trailing,prec);
-for(i=0;i=1){
-idegree+=1;
-fdegree-=1;
-}
-pieces=[fdegree,0,0];
-for(i=1;i<=trailing;++i){
-ip=Math.floor(pieces[i-1]);
-fp=pieces[i-1]-ip;
-pieces[i]=fp*60;
-pieces[i-1]=ip;
-}
-pieces[0]+=idegree;
-s="";
-if(ind===d.NONE&&sign<0)
-s+='-';
-switch(trailing){
-case d.DEGREE:
-s+=zerofill(pieces[0].toFixed(prec),
-ind===d.NONE?0:
-1+Math.min(ind,2)+prec+(prec?1:0))+
-dmsindicatorsu_.charAt(0);
-break;
-default:
-s+=zerofill(pieces[0].toFixed(0),
-ind===d.NONE?0:1+Math.min(ind,2))+
-dmsindicatorsu_.charAt(0);
-switch(trailing){
-case d.MINUTE:
-s+=zerofill(pieces[1].toFixed(prec),2+prec+(prec?1:0))+
-dmsindicatorsu_.charAt(1);
-break;
-case d.SECOND:
-s+=zerofill(pieces[1].toFixed(0),2)+dmsindicatorsu_.charAt(1);
-s+=zerofill(pieces[2].toFixed(prec),2+prec+(prec?1:0))+
-dmsindicatorsu_.charAt(2);
-break;
-default:
-break;
-}
-}
-if(ind!==d.NONE&&ind!==d.AZIMUTH)
-s+=hemispheres_.charAt((ind===d.LATITUDE?0:2)+
-(sign<0?0:1));
-return s;
-};
-})(GeographicLib.DMS);
-cb(GeographicLib);
-})(function(geo){
-if(typeof module==='object'&&module.exports){
-module.exports=geo;
-}else if(typeof define==='function'&&define.amd){
-define('geographiclib',[],function(){return geo;});
-}else{
-window.GeographicLib=geo;
-}
-});
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/LICENSE.txt b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/LICENSE.txt
deleted file mode 100644
index d1bcab1a0cf44d5c28266653ce12ab41b5cb2813..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/LICENSE.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-The MIT License (MIT); this license applies to GeographicLib,
-versions 1.12 and later.
-
-Copyright (c) 2008-2019, Charles Karney
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use, copy,
-modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/README.md b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/README.md
deleted file mode 100644
index 57cb9266df07b965888203cf18e73f257b65bdf6..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# Geodesic routines from GeographicLib
-
-This library is a JavaScript implementation of the geodesic routines
-from [GeographicLib](https://geographiclib.sourceforge.io). This solves the
-direct and inverse geodesic problems for an ellipsoid of revolution.
-
-Licensed under the MIT/X11 License; see
-[LICENSE.txt](https://geographiclib.sourceforge.io/html/LICENSE.txt).
-
-## Installation
-
-```bash
-$ npm install geographiclib
-```
-
-## Usage
-
-In [node](https://nodejs.org), do
-```javascript
-var GeographicLib = require("geographiclib");
-```
-
-## Documentation
-
-Full documentation is provided at
-[https://geographiclib.sourceforge.io/1.50/js/](https://geographiclib.sourceforge.io/1.50/js/).
-
-## Examples
-
-```javascript
-var GeographicLib = require("geographiclib"),
- geod = GeographicLib.Geodesic.WGS84, r;
-
-// Find the distance from Wellington, NZ (41.32S, 174.81E) to
-// Salamanca, Spain (40.96N, 5.50W)...
-r = geod.Inverse(-41.32, 174.81, 40.96, -5.50);
-console.log("The distance is " + r.s12.toFixed(3) + " m.");
-// This prints "The distance is 19959679.267 m."
-
-// Find the point 20000 km SW of Perth, Australia (32.06S, 115.74E)...
-r = geod.Direct(-32.06, 115.74, 225, 20000e3);
-console.log("The position is (" +
- r.lat2.toFixed(8) + ", " + r.lon2.toFixed(8) + ").");
-// This prints "The position is (32.11195529, -63.95925278)."
-```
-
-## Authors
-
-* algorithms + js code: Charles Karney (charles@karney.com)
-* node.js port: Yurij Mikhalevich (0@39.yt)
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/geographiclib.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/geographiclib.js
deleted file mode 100644
index b69c60dad5a329957890e9d153d5805b8bb62ae3..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/geographiclib.js
+++ /dev/null
@@ -1,3111 +0,0 @@
-/*
- * Geodesic routines from GeographicLib translated to JavaScript. See
- * https://geographiclib.sourceforge.io/html/js/
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013),
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * This file is the concatenation and compression of the JavaScript files in
- * doc/scripts/GeographicLib in the source tree for GeographicLib.
- *
- * Copyright (c) Charles Karney (2011-2015) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- *
- * Version: 1.50
- * File inventory:
- * Math.js Geodesic.js GeodesicLine.js PolygonArea.js DMS.js
- */
-
-(function(cb) {
-
-/**************** Math.js ****************/
-/*
- * Math.js
- * Transcription of Math.hpp, Constants.hpp, and Accumulator.hpp into
- * JavaScript.
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-/**
- * @namespace GeographicLib
- * @description The parent namespace for the following modules:
- * - {@link module:GeographicLib/Geodesic GeographicLib/Geodesic} The main
- * engine for solving geodesic problems via the
- * {@link module:GeographicLib/Geodesic.Geodesic Geodesic} class.
- * - {@link module:GeographicLib/GeodesicLine GeographicLib/GeodesicLine}
- * computes points along a single geodesic line via the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine GeodesicLine}
- * class.
- * - {@link module:GeographicLib/PolygonArea GeographicLib/PolygonArea}
- * computes the area of a geodesic polygon via the
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea}
- * class.
- * - {@link module:GeographicLib/DMS GeographicLib/DMS} handles the decoding
- * and encoding of angles in degree, minutes, and seconds, via static
- * functions in this module.
- * - {@link module:GeographicLib/Constants GeographicLib/Constants} defines
- * constants specifying the version numbers and the parameters for the WGS84
- * ellipsoid.
- *
- * The following modules are used internally by the package:
- * - {@link module:GeographicLib/Math GeographicLib/Math} defines various
- * mathematical functions.
- * - {@link module:GeographicLib/Accumulator GeographicLib/Accumulator}
- * interally used by
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea} (via the
- * {@link module:GeographicLib/Accumulator.Accumulator Accumulator} class)
- * for summing the contributions to the area of a polygon.
- */
-"use strict";
-var GeographicLib = {};
-GeographicLib.Constants = {};
-GeographicLib.Math = {};
-GeographicLib.Accumulator = {};
-
-(function(
- /**
- * @exports GeographicLib/Constants
- * @description Define constants defining the version and WGS84 parameters.
- */
- c) {
-
- /**
- * @constant
- * @summary WGS84 parameters.
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- */
- c.WGS84 = { a: 6378137, f: 1/298.257223563 };
- /**
- * @constant
- * @summary an array of version numbers.
- * @property {number} major the major version number.
- * @property {number} minor the minor version number.
- * @property {number} patch the patch number.
- */
- c.version = { major: 1, minor: 50, patch: 0 };
- /**
- * @constant
- * @summary version string
- */
- c.version_string = "1.50";
-})(GeographicLib.Constants);
-
-(function(
- /**
- * @exports GeographicLib/Math
- * @description Some useful mathematical constants and functions (mainly for
- * internal use).
- */
- m) {
-
- /**
- * @summary The number of digits of precision in floating-point numbers.
- * @constant {number}
- */
- m.digits = 53;
- /**
- * @summary The machine epsilon.
- * @constant {number}
- */
- m.epsilon = Math.pow(0.5, m.digits - 1);
- /**
- * @summary The factor to convert degrees to radians.
- * @constant {number}
- */
- m.degree = Math.PI/180;
-
- /**
- * @summary Square a number.
- * @param {number} x the number.
- * @returns {number} the square.
- */
- m.sq = function(x) { return x * x; };
-
- /**
- * @summary The hypotenuse function.
- * @param {number} x the first side.
- * @param {number} y the second side.
- * @returns {number} the hypotenuse.
- */
- m.hypot = Math.hypot || function(x, y) {
- var a, b;
- x = Math.abs(x);
- y = Math.abs(y);
- a = Math.max(x, y); b = Math.min(x, y) / (a ? a : 1);
- return a * Math.sqrt(1 + b * b);
- };
-
- /**
- * @summary Cube root function.
- * @param {number} x the argument.
- * @returns {number} the real cube root.
- */
- m.cbrt = Math.cbrt || function(x) {
- var y = Math.pow(Math.abs(x), 1/3);
- return x > 0 ? y : (x < 0 ? -y : x);
- };
-
- /**
- * @summary The log1p function.
- * @param {number} x the argument.
- * @returns {number} log(1 + x).
- */
- m.log1p = Math.log1p || function(x) {
- var y = 1 + x,
- z = y - 1;
- // Here's the explanation for this magic: y = 1 + z, exactly, and z
- // approx x, thus log(y)/z (which is nearly constant near z = 0) returns
- // a good approximation to the true log(1 + x)/x. The multiplication x *
- // (log(y)/z) introduces little additional error.
- return z === 0 ? x : x * Math.log(y) / z;
- };
-
- /**
- * @summary Inverse hyperbolic tangent.
- * @param {number} x the argument.
- * @returns {number} tanh−1 x.
- */
- m.atanh = Math.atanh || function(x) {
- var y = Math.abs(x); // Enforce odd parity
- y = m.log1p(2 * y/(1 - y))/2;
- return x > 0 ? y : (x < 0 ? -y : x);
- };
-
- /**
- * @summary Copy the sign.
- * @param {number} x gives the magitude of the result.
- * @param {number} y gives the sign of the result.
- * @returns {number} value with the magnitude of x and with the sign of y.
- */
- m.copysign = function(x, y) {
- return Math.abs(x) * (y < 0 || (y === 0 && 1/y < 0) ? -1 : 1);
- };
-
- /**
- * @summary An error-free sum.
- * @param {number} u
- * @param {number} v
- * @returns {object} sum with sum.s = round(u + v) and sum.t is u + v −
- * round(u + v)
- */
- m.sum = function(u, v) {
- var s = u + v,
- up = s - v,
- vpp = s - up,
- t;
- up -= u;
- vpp -= v;
- t = -(up + vpp);
- // u + v = s + t
- // = round(u + v) + t
- return {s: s, t: t};
- };
-
- /**
- * @summary Evaluate a polynomial.
- * @param {integer} N the order of the polynomial.
- * @param {array} p the coefficient array (of size N + 1) (leading
- * order coefficient first)
- * @param {number} x the variable.
- * @returns {number} the value of the polynomial.
- */
- m.polyval = function(N, p, s, x) {
- var y = N < 0 ? 0 : p[s++];
- while (--N >= 0) y = y * x + p[s++];
- return y;
- };
-
- /**
- * @summary Coarsen a value close to zero.
- * @param {number} x
- * @returns {number} the coarsened value.
- */
- m.AngRound = function(x) {
- // The makes the smallest gap in x = 1/16 - nextafter(1/16, 0) = 1/2^57 for
- // reals = 0.7 pm on the earth if x is an angle in degrees. (This is about
- // 1000 times more resolution than we get with angles around 90 degrees.)
- // We use this to avoid having to deal with near singular cases when x is
- // non-zero but tiny (e.g., 1.0e-200). This converts -0 to +0; however
- // tiny negative numbers get converted to -0.
- if (x === 0) return x;
- var z = 1/16,
- y = Math.abs(x);
- // The compiler mustn't "simplify" z - (z - y) to y
- y = y < z ? z - (z - y) : y;
- return x < 0 ? -y : y;
- };
-
- /**
- * @summary The remainder function.
- * @param {number} x the numerator of the division
- * @param {number} y the denominator of the division
- * @return {number} the remainder in the range [−y/2, y/2].
- *
- * The range of x is unrestricted; y must be positive.
- */
- m.remainder = function(x, y) {
- x = x % y;
- return x < -y/2 ? x + y : (x < y/2 ? x : x - y);
- };
-
- /**
- * @summary Normalize an angle.
- * @param {number} x the angle in degrees.
- * @returns {number} the angle reduced to the range (−180°,
- * 180°].
- */
- m.AngNormalize = function(x) {
- // Place angle in (-180, 180].
- x = m.remainder(x, 360);
- return x == -180 ? 180 : x;
- };
-
- /**
- * @summary Normalize a latitude.
- * @param {number} x the angle in degrees.
- * @returns {number} x if it is in the range [−90°, 90°],
- * otherwise return NaN.
- */
- m.LatFix = function(x) {
- // Replace angle with NaN if outside [-90, 90].
- return Math.abs(x) > 90 ? Number.NaN : x;
- };
-
- /**
- * @summary The exact difference of two angles reduced to (−180°,
- * 180°]
- * @param {number} x the first angle in degrees.
- * @param {number} y the second angle in degrees.
- * @return {object} diff the exact difference, y − x.
- *
- * This computes z = y − x exactly, reduced to (−180°,
- * 180°]; and then sets diff.s = d = round(z) and diff.t = e = z −
- * round(z). If d = −180, then e > 0; If d = 180, then e ≤ 0.
- */
- m.AngDiff = function(x, y) {
- // Compute y - x and reduce to [-180,180] accurately.
- var r = m.sum(m.AngNormalize(-x), m.AngNormalize(y)),
- d = m.AngNormalize(r.s),
- t = r.t;
- return m.sum(d === 180 && t > 0 ? -180 : d, t);
- };
-
- /**
- * @summary Evaluate the sine and cosine function with the argument in
- * degrees
- * @param {number} x in degrees.
- * @returns {object} r with r.s = sin(x) and r.c = cos(x).
- */
- m.sincosd = function(x) {
- // In order to minimize round-off errors, this function exactly reduces
- // the argument to the range [-45, 45] before converting it to radians.
- var r, q, s, c, sinx, cosx;
- r = x % 360;
- q = 0 + Math.round(r / 90); // If r is NaN this returns NaN
- r -= 90 * q;
- // now abs(r) <= 45
- r *= this.degree;
- // Possibly could call the gnu extension sincos
- s = Math.sin(r); c = Math.cos(r);
- switch (q & 3) {
- case 0: sinx = s; cosx = c; break;
- case 1: sinx = c; cosx = -s; break;
- case 2: sinx = -s; cosx = -c; break;
- default: sinx = -c; cosx = s; break; // case 3
- }
- if (x !== 0) { sinx += 0; cosx += 0; }
- return {s: sinx, c: cosx};
- };
-
- /**
- * @summary Evaluate the atan2 function with the result in degrees
- * @param {number} y
- * @param {number} x
- * @returns atan2(y, x) in degrees, in the range (−180°
- * 180°].
- */
- m.atan2d = function(y, x) {
- // In order to minimize round-off errors, this function rearranges the
- // arguments so that result of atan2 is in the range [-pi/4, pi/4] before
- // converting it to degrees and mapping the result to the correct
- // quadrant.
- var q = 0, t, ang;
- if (Math.abs(y) > Math.abs(x)) { t = x; x = y; y = t; q = 2; }
- if (x < 0) { x = -x; ++q; }
- // here x >= 0 and x >= abs(y), so angle is in [-pi/4, pi/4]
- ang = Math.atan2(y, x) / this.degree;
- switch (q) {
- // Note that atan2d(-0.0, 1.0) will return -0. However, we expect that
- // atan2d will not be called with y = -0. If need be, include
- //
- // case 0: ang = 0 + ang; break;
- //
- // and handle mpfr as in AngRound.
- case 1: ang = (y >= 0 ? 180 : -180) - ang; break;
- case 2: ang = 90 - ang; break;
- case 3: ang = -90 + ang; break;
- }
- return ang;
- };
-})(GeographicLib.Math);
-
-(function(
- /**
- * @exports GeographicLib/Accumulator
- * @description Accurate summation via the
- * {@link module:GeographicLib/Accumulator.Accumulator Accumulator} class
- * (mainly for internal use).
- */
- a, m) {
-
- /**
- * @class
- * @summary Accurate summation of many numbers.
- * @classdesc This allows many numbers to be added together with twice the
- * normal precision. In the documentation of the member functions, sum
- * stands for the value currently held in the accumulator.
- * @param {number | Accumulator} [y = 0] set sum = y.
- */
- a.Accumulator = function(y) {
- this.Set(y);
- };
-
- /**
- * @summary Set the accumulator to a number.
- * @param {number | Accumulator} [y = 0] set sum = y.
- */
- a.Accumulator.prototype.Set = function(y) {
- if (!y) y = 0;
- if (y.constructor === a.Accumulator) {
- this._s = y._s;
- this._t = y._t;
- } else {
- this._s = y;
- this._t = 0;
- }
- };
-
- /**
- * @summary Add a number to the accumulator.
- * @param {number} [y = 0] set sum += y.
- */
- a.Accumulator.prototype.Add = function(y) {
- // Here's Shewchuk's solution...
- // Accumulate starting at least significant end
- var u = m.sum(y, this._t),
- v = m.sum(u.s, this._s);
- u = u.t;
- this._s = v.s;
- this._t = v.t;
- // Start is _s, _t decreasing and non-adjacent. Sum is now (s + t + u)
- // exactly with s, t, u non-adjacent and in decreasing order (except
- // for possible zeros). The following code tries to normalize the
- // result. Ideally, we want _s = round(s+t+u) and _u = round(s+t+u -
- // _s). The follow does an approximate job (and maintains the
- // decreasing non-adjacent property). Here are two "failures" using
- // 3-bit floats:
- //
- // Case 1: _s is not equal to round(s+t+u) -- off by 1 ulp
- // [12, -1] - 8 -> [4, 0, -1] -> [4, -1] = 3 should be [3, 0] = 3
- //
- // Case 2: _s+_t is not as close to s+t+u as it shold be
- // [64, 5] + 4 -> [64, 8, 1] -> [64, 8] = 72 (off by 1)
- // should be [80, -7] = 73 (exact)
- //
- // "Fixing" these problems is probably not worth the expense. The
- // representation inevitably leads to small errors in the accumulated
- // values. The additional errors illustrated here amount to 1 ulp of
- // the less significant word during each addition to the Accumulator
- // and an additional possible error of 1 ulp in the reported sum.
- //
- // Incidentally, the "ideal" representation described above is not
- // canonical, because _s = round(_s + _t) may not be true. For
- // example, with 3-bit floats:
- //
- // [128, 16] + 1 -> [160, -16] -- 160 = round(145).
- // But [160, 0] - 16 -> [128, 16] -- 128 = round(144).
- //
- if (this._s === 0) // This implies t == 0,
- this._s = u; // so result is u
- else
- this._t += u; // otherwise just accumulate u to t.
- };
-
- /**
- * @summary Return the result of adding a number to sum (but
- * don't change sum).
- * @param {number} [y = 0] the number to be added to the sum.
- * @return sum + y.
- */
- a.Accumulator.prototype.Sum = function(y) {
- var b;
- if (!y)
- return this._s;
- else {
- b = new a.Accumulator(this);
- b.Add(y);
- return b._s;
- }
- };
-
- /**
- * @summary Set sum = −sum.
- */
- a.Accumulator.prototype.Negate = function() {
- this._s *= -1;
- this._t *= -1;
- };
-
- /**
- * @summary Take the remainder
- * @param {number} y the divisor of the remainder operation.
- * @return sum in range [−y/2, y/2].
- */
- a.Accumulator.prototype.Remainder = function(y) {
- this._s = m.remainder(this._s, y);
- this.Add(0);
- };
-})(GeographicLib.Accumulator, GeographicLib.Math);
-
-/**************** Geodesic.js ****************/
-/*
- * Geodesic.js
- * Transcription of Geodesic.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2017) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER Math.js
-
-GeographicLib.Geodesic = {};
-GeographicLib.GeodesicLine = {};
-GeographicLib.PolygonArea = {};
-
-(function(
- /**
- * @exports GeographicLib/Geodesic
- * @description Solve geodesic problems via the
- * {@link module:GeographicLib/Geodesic.Geodesic Geodesic} class.
- */
- g, l, p, m, c) {
-
- var GEOGRAPHICLIB_GEODESIC_ORDER = 6,
- nA1_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA2_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA3_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA3x_ = nA3_,
- nC3x_, nC4x_,
- maxit1_ = 20,
- maxit2_ = maxit1_ + m.digits + 10,
- tol0_ = m.epsilon,
- tol1_ = 200 * tol0_,
- tol2_ = Math.sqrt(tol0_),
- tolb_ = tol0_ * tol1_,
- xthresh_ = 1000 * tol2_,
- CAP_NONE = 0,
- CAP_ALL = 0x1F,
- CAP_MASK = CAP_ALL,
- OUT_ALL = 0x7F80,
- astroid,
- A1m1f_coeff, C1f_coeff, C1pf_coeff,
- A2m1f_coeff, C2f_coeff,
- A3_coeff, C3_coeff, C4_coeff;
-
- g.tiny_ = Math.sqrt(Number.MIN_VALUE);
- g.nC1_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC1p_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC2_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC3_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC4_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- nC3x_ = (g.nC3_ * (g.nC3_ - 1)) / 2;
- nC4x_ = (g.nC4_ * (g.nC4_ + 1)) / 2;
- g.CAP_C1 = 1<<0;
- g.CAP_C1p = 1<<1;
- g.CAP_C2 = 1<<2;
- g.CAP_C3 = 1<<3;
- g.CAP_C4 = 1<<4;
-
- g.NONE = 0;
- g.ARC = 1<<6;
- g.LATITUDE = 1<<7 | CAP_NONE;
- g.LONGITUDE = 1<<8 | g.CAP_C3;
- g.AZIMUTH = 1<<9 | CAP_NONE;
- g.DISTANCE = 1<<10 | g.CAP_C1;
- g.STANDARD = g.LATITUDE | g.LONGITUDE | g.AZIMUTH | g.DISTANCE;
- g.DISTANCE_IN = 1<<11 | g.CAP_C1 | g.CAP_C1p;
- g.REDUCEDLENGTH = 1<<12 | g.CAP_C1 | g.CAP_C2;
- g.GEODESICSCALE = 1<<13 | g.CAP_C1 | g.CAP_C2;
- g.AREA = 1<<14 | g.CAP_C4;
- g.ALL = OUT_ALL| CAP_ALL;
- g.LONG_UNROLL = 1<<15;
- g.OUT_MASK = OUT_ALL| g.LONG_UNROLL;
-
- g.SinCosSeries = function(sinp, sinx, cosx, c) {
- // Evaluate
- // y = sinp ? sum(c[i] * sin( 2*i * x), i, 1, n) :
- // sum(c[i] * cos((2*i+1) * x), i, 0, n-1)
- // using Clenshaw summation. N.B. c[0] is unused for sin series
- // Approx operation count = (n + 5) mult and (2 * n + 2) add
- var k = c.length, // Point to one beyond last element
- n = k - (sinp ? 1 : 0),
- ar = 2 * (cosx - sinx) * (cosx + sinx), // 2 * cos(2 * x)
- y0 = n & 1 ? c[--k] : 0, y1 = 0; // accumulators for sum
- // Now n is even
- n = Math.floor(n/2);
- while (n--) {
- // Unroll loop x 2, so accumulators return to their original role
- y1 = ar * y0 - y1 + c[--k];
- y0 = ar * y1 - y0 + c[--k];
- }
- return (sinp ? 2 * sinx * cosx * y0 : // sin(2 * x) * y0
- cosx * (y0 - y1)); // cos(x) * (y0 - y1)
- };
-
- astroid = function(x, y) {
- // Solve k^4+2*k^3-(x^2+y^2-1)*k^2-2*y^2*k-y^2 = 0 for positive
- // root k. This solution is adapted from Geocentric::Reverse.
- var k,
- p = m.sq(x),
- q = m.sq(y),
- r = (p + q - 1) / 6,
- S, r2, r3, disc, u, T3, T, ang, v, uv, w;
- if ( !(q === 0 && r <= 0) ) {
- // Avoid possible division by zero when r = 0 by multiplying
- // equations for s and t by r^3 and r, resp.
- S = p * q / 4; // S = r^3 * s
- r2 = m.sq(r);
- r3 = r * r2;
- // The discriminant of the quadratic equation for T3. This is
- // zero on the evolute curve p^(1/3)+q^(1/3) = 1
- disc = S * (S + 2 * r3);
- u = r;
- if (disc >= 0) {
- T3 = S + r3;
- // Pick the sign on the sqrt to maximize abs(T3). This
- // minimizes loss of precision due to cancellation. The
- // result is unchanged because of the way the T is used
- // in definition of u.
- T3 += T3 < 0 ? -Math.sqrt(disc) : Math.sqrt(disc); // T3 = (r * t)^3
- // N.B. cbrt always returns the real root. cbrt(-8) = -2.
- T = m.cbrt(T3); // T = r * t
- // T can be zero; but then r2 / T -> 0.
- u += T + (T !== 0 ? r2 / T : 0);
- } else {
- // T is complex, but the way u is defined the result is real.
- ang = Math.atan2(Math.sqrt(-disc), -(S + r3));
- // There are three possible cube roots. We choose the
- // root which avoids cancellation. Note that disc < 0
- // implies that r < 0.
- u += 2 * r * Math.cos(ang / 3);
- }
- v = Math.sqrt(m.sq(u) + q); // guaranteed positive
- // Avoid loss of accuracy when u < 0.
- uv = u < 0 ? q / (v - u) : u + v; // u+v, guaranteed positive
- w = (uv - q) / (2 * v); // positive?
- // Rearrange expression for k to avoid loss of accuracy due to
- // subtraction. Division by 0 not possible because uv > 0, w >= 0.
- k = uv / (Math.sqrt(uv + m.sq(w)) + w); // guaranteed positive
- } else { // q == 0 && r <= 0
- // y = 0 with |x| <= 1. Handle this case directly.
- // for y small, positive root is k = abs(y)/sqrt(1-x^2)
- k = 0;
- }
- return k;
- };
-
- A1m1f_coeff = [
- // (1-eps)*A1-1, polynomial in eps2 of order 3
- +1, 4, 64, 0, 256
- ];
-
- // The scale factor A1-1 = mean value of (d/dsigma)I1 - 1
- g.A1m1f = function(eps) {
- var p = Math.floor(nA1_/2),
- t = m.polyval(p, A1m1f_coeff, 0, m.sq(eps)) / A1m1f_coeff[p + 1];
- return (t + eps) / (1 - eps);
- };
-
- C1f_coeff = [
- // C1[1]/eps^1, polynomial in eps2 of order 2
- -1, 6, -16, 32,
- // C1[2]/eps^2, polynomial in eps2 of order 2
- -9, 64, -128, 2048,
- // C1[3]/eps^3, polynomial in eps2 of order 1
- +9, -16, 768,
- // C1[4]/eps^4, polynomial in eps2 of order 1
- +3, -5, 512,
- // C1[5]/eps^5, polynomial in eps2 of order 0
- -7, 1280,
- // C1[6]/eps^6, polynomial in eps2 of order 0
- -7, 2048
- ];
-
- // The coefficients C1[l] in the Fourier expansion of B1
- g.C1f = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC1_; ++l) { // l is index of C1p[l]
- p = Math.floor((g.nC1_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C1f_coeff, o, eps2) / C1f_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- C1pf_coeff = [
- // C1p[1]/eps^1, polynomial in eps2 of order 2
- +205, -432, 768, 1536,
- // C1p[2]/eps^2, polynomial in eps2 of order 2
- +4005, -4736, 3840, 12288,
- // C1p[3]/eps^3, polynomial in eps2 of order 1
- -225, 116, 384,
- // C1p[4]/eps^4, polynomial in eps2 of order 1
- -7173, 2695, 7680,
- // C1p[5]/eps^5, polynomial in eps2 of order 0
- +3467, 7680,
- // C1p[6]/eps^6, polynomial in eps2 of order 0
- +38081, 61440
- ];
-
- // The coefficients C1p[l] in the Fourier expansion of B1p
- g.C1pf = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC1p_; ++l) { // l is index of C1p[l]
- p = Math.floor((g.nC1p_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C1pf_coeff, o, eps2) / C1pf_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- A2m1f_coeff = [
- // (eps+1)*A2-1, polynomial in eps2 of order 3
- -11, -28, -192, 0, 256
- ];
-
- // The scale factor A2-1 = mean value of (d/dsigma)I2 - 1
- g.A2m1f = function(eps) {
- var p = Math.floor(nA2_/2),
- t = m.polyval(p, A2m1f_coeff, 0, m.sq(eps)) / A2m1f_coeff[p + 1];
- return (t - eps) / (1 + eps);
- };
-
- C2f_coeff = [
- // C2[1]/eps^1, polynomial in eps2 of order 2
- +1, 2, 16, 32,
- // C2[2]/eps^2, polynomial in eps2 of order 2
- +35, 64, 384, 2048,
- // C2[3]/eps^3, polynomial in eps2 of order 1
- +15, 80, 768,
- // C2[4]/eps^4, polynomial in eps2 of order 1
- +7, 35, 512,
- // C2[5]/eps^5, polynomial in eps2 of order 0
- +63, 1280,
- // C2[6]/eps^6, polynomial in eps2 of order 0
- +77, 2048
- ];
-
- // The coefficients C2[l] in the Fourier expansion of B2
- g.C2f = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC2_; ++l) { // l is index of C2[l]
- p = Math.floor((g.nC2_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C2f_coeff, o, eps2) / C2f_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @summary Initialize a Geodesic object for a specific ellipsoid.
- * @classdesc Performs geodesic calculations on an ellipsoid of revolution.
- * The routines for solving the direct and inverse problems return an
- * object with some of the following fields set: lat1, lon1, azi1, lat2,
- * lon2, azi2, s12, a12, m12, M12, M21, S12. See {@tutorial 2-interface},
- * "The results".
- * @example
- * var GeographicLib = require("geographiclib"),
- * geod = GeographicLib.Geodesic.WGS84;
- * var inv = geod.Inverse(1,2,3,4);
- * console.log("lat1 = " + inv.lat1 + ", lon1 = " + inv.lon1 +
- * ", lat2 = " + inv.lat2 + ", lon2 = " + inv.lon2 +
- * ",\nazi1 = " + inv.azi1 + ", azi2 = " + inv.azi2 +
- * ", s12 = " + inv.s12);
- * @param {number} a the equatorial radius of the ellipsoid (meters).
- * @param {number} f the flattening of the ellipsoid. Setting f = 0 gives
- * a sphere (on which geodesics are great circles). Negative f gives a
- * prolate ellipsoid.
- * @throws an error if the parameters are illegal.
- */
- g.Geodesic = function(a, f) {
- this.a = a;
- this.f = f;
- this._f1 = 1 - this.f;
- this._e2 = this.f * (2 - this.f);
- this._ep2 = this._e2 / m.sq(this._f1); // e2 / (1 - e2)
- this._n = this.f / ( 2 - this.f);
- this._b = this.a * this._f1;
- // authalic radius squared
- this._c2 = (m.sq(this.a) + m.sq(this._b) *
- (this._e2 === 0 ? 1 :
- (this._e2 > 0 ? m.atanh(Math.sqrt(this._e2)) :
- Math.atan(Math.sqrt(-this._e2))) /
- Math.sqrt(Math.abs(this._e2))))/2;
- // The sig12 threshold for "really short". Using the auxiliary sphere
- // solution with dnm computed at (bet1 + bet2) / 2, the relative error in
- // the azimuth consistency check is sig12^2 * abs(f) * min(1, 1-f/2) / 2.
- // (Error measured for 1/100 < b/a < 100 and abs(f) >= 1/1000. For a given
- // f and sig12, the max error occurs for lines near the pole. If the old
- // rule for computing dnm = (dn1 + dn2)/2 is used, then the error increases
- // by a factor of 2.) Setting this equal to epsilon gives sig12 = etol2.
- // Here 0.1 is a safety factor (error decreased by 100) and max(0.001,
- // abs(f)) stops etol2 getting too large in the nearly spherical case.
- this._etol2 = 0.1 * tol2_ /
- Math.sqrt( Math.max(0.001, Math.abs(this.f)) *
- Math.min(1.0, 1 - this.f/2) / 2 );
- if (!(isFinite(this.a) && this.a > 0))
- throw new Error("Equatorial radius is not positive");
- if (!(isFinite(this._b) && this._b > 0))
- throw new Error("Polar semi-axis is not positive");
- this._A3x = new Array(nA3x_);
- this._C3x = new Array(nC3x_);
- this._C4x = new Array(nC4x_);
- this.A3coeff();
- this.C3coeff();
- this.C4coeff();
- };
-
- A3_coeff = [
- // A3, coeff of eps^5, polynomial in n of order 0
- -3, 128,
- // A3, coeff of eps^4, polynomial in n of order 1
- -2, -3, 64,
- // A3, coeff of eps^3, polynomial in n of order 2
- -1, -3, -1, 16,
- // A3, coeff of eps^2, polynomial in n of order 2
- +3, -1, -2, 8,
- // A3, coeff of eps^1, polynomial in n of order 1
- +1, -1, 2,
- // A3, coeff of eps^0, polynomial in n of order 0
- +1, 1
- ];
-
- // The scale factor A3 = mean value of (d/dsigma)I3
- g.Geodesic.prototype.A3coeff = function() {
- var o = 0, k = 0,
- j, p;
- for (j = nA3_ - 1; j >= 0; --j) { // coeff of eps^j
- p = Math.min(nA3_ - j - 1, j); // order of polynomial in n
- this._A3x[k++] = m.polyval(p, A3_coeff, o, this._n) /
- A3_coeff[o + p + 1];
- o += p + 2;
- }
- };
-
- C3_coeff = [
- // C3[1], coeff of eps^5, polynomial in n of order 0
- +3, 128,
- // C3[1], coeff of eps^4, polynomial in n of order 1
- +2, 5, 128,
- // C3[1], coeff of eps^3, polynomial in n of order 2
- -1, 3, 3, 64,
- // C3[1], coeff of eps^2, polynomial in n of order 2
- -1, 0, 1, 8,
- // C3[1], coeff of eps^1, polynomial in n of order 1
- -1, 1, 4,
- // C3[2], coeff of eps^5, polynomial in n of order 0
- +5, 256,
- // C3[2], coeff of eps^4, polynomial in n of order 1
- +1, 3, 128,
- // C3[2], coeff of eps^3, polynomial in n of order 2
- -3, -2, 3, 64,
- // C3[2], coeff of eps^2, polynomial in n of order 2
- +1, -3, 2, 32,
- // C3[3], coeff of eps^5, polynomial in n of order 0
- +7, 512,
- // C3[3], coeff of eps^4, polynomial in n of order 1
- -10, 9, 384,
- // C3[3], coeff of eps^3, polynomial in n of order 2
- +5, -9, 5, 192,
- // C3[4], coeff of eps^5, polynomial in n of order 0
- +7, 512,
- // C3[4], coeff of eps^4, polynomial in n of order 1
- -14, 7, 512,
- // C3[5], coeff of eps^5, polynomial in n of order 0
- +21, 2560
- ];
-
- // The coefficients C3[l] in the Fourier expansion of B3
- g.Geodesic.prototype.C3coeff = function() {
- var o = 0, k = 0,
- l, j, p;
- for (l = 1; l < g.nC3_; ++l) { // l is index of C3[l]
- for (j = g.nC3_ - 1; j >= l; --j) { // coeff of eps^j
- p = Math.min(g.nC3_ - j - 1, j); // order of polynomial in n
- this._C3x[k++] = m.polyval(p, C3_coeff, o, this._n) /
- C3_coeff[o + p + 1];
- o += p + 2;
- }
- }
- };
-
- C4_coeff = [
- // C4[0], coeff of eps^5, polynomial in n of order 0
- +97, 15015,
- // C4[0], coeff of eps^4, polynomial in n of order 1
- +1088, 156, 45045,
- // C4[0], coeff of eps^3, polynomial in n of order 2
- -224, -4784, 1573, 45045,
- // C4[0], coeff of eps^2, polynomial in n of order 3
- -10656, 14144, -4576, -858, 45045,
- // C4[0], coeff of eps^1, polynomial in n of order 4
- +64, 624, -4576, 6864, -3003, 15015,
- // C4[0], coeff of eps^0, polynomial in n of order 5
- +100, 208, 572, 3432, -12012, 30030, 45045,
- // C4[1], coeff of eps^5, polynomial in n of order 0
- +1, 9009,
- // C4[1], coeff of eps^4, polynomial in n of order 1
- -2944, 468, 135135,
- // C4[1], coeff of eps^3, polynomial in n of order 2
- +5792, 1040, -1287, 135135,
- // C4[1], coeff of eps^2, polynomial in n of order 3
- +5952, -11648, 9152, -2574, 135135,
- // C4[1], coeff of eps^1, polynomial in n of order 4
- -64, -624, 4576, -6864, 3003, 135135,
- // C4[2], coeff of eps^5, polynomial in n of order 0
- +8, 10725,
- // C4[2], coeff of eps^4, polynomial in n of order 1
- +1856, -936, 225225,
- // C4[2], coeff of eps^3, polynomial in n of order 2
- -8448, 4992, -1144, 225225,
- // C4[2], coeff of eps^2, polynomial in n of order 3
- -1440, 4160, -4576, 1716, 225225,
- // C4[3], coeff of eps^5, polynomial in n of order 0
- -136, 63063,
- // C4[3], coeff of eps^4, polynomial in n of order 1
- +1024, -208, 105105,
- // C4[3], coeff of eps^3, polynomial in n of order 2
- +3584, -3328, 1144, 315315,
- // C4[4], coeff of eps^5, polynomial in n of order 0
- -128, 135135,
- // C4[4], coeff of eps^4, polynomial in n of order 1
- -2560, 832, 405405,
- // C4[5], coeff of eps^5, polynomial in n of order 0
- +128, 99099
- ];
-
- g.Geodesic.prototype.C4coeff = function() {
- var o = 0, k = 0,
- l, j, p;
- for (l = 0; l < g.nC4_; ++l) { // l is index of C4[l]
- for (j = g.nC4_ - 1; j >= l; --j) { // coeff of eps^j
- p = g.nC4_ - j - 1; // order of polynomial in n
- this._C4x[k++] = m.polyval(p, C4_coeff, o, this._n) /
- C4_coeff[o + p + 1];
- o += p + 2;
- }
- }
- };
-
- g.Geodesic.prototype.A3f = function(eps) {
- // Evaluate A3
- return m.polyval(nA3x_ - 1, this._A3x, 0, eps);
- };
-
- g.Geodesic.prototype.C3f = function(eps, c) {
- // Evaluate C3 coeffs
- // Elements c[1] thru c[nC3_ - 1] are set
- var mult = 1,
- o = 0,
- l, p;
- for (l = 1; l < g.nC3_; ++l) { // l is index of C3[l]
- p = g.nC3_ - l - 1; // order of polynomial in eps
- mult *= eps;
- c[l] = mult * m.polyval(p, this._C3x, o, eps);
- o += p + 1;
- }
- };
-
- g.Geodesic.prototype.C4f = function(eps, c) {
- // Evaluate C4 coeffs
- // Elements c[0] thru c[g.nC4_ - 1] are set
- var mult = 1,
- o = 0,
- l, p;
- for (l = 0; l < g.nC4_; ++l) { // l is index of C4[l]
- p = g.nC4_ - l - 1; // order of polynomial in eps
- c[l] = mult * m.polyval(p, this._C4x, o, eps);
- o += p + 1;
- mult *= eps;
- }
- };
-
- // return s12b, m12b, m0, M12, M21
- g.Geodesic.prototype.Lengths = function(eps, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2,
- cbet1, cbet2, outmask,
- C1a, C2a) {
- // Return m12b = (reduced length)/_b; also calculate s12b =
- // distance/_b, and m0 = coefficient of secular term in
- // expression for reduced length.
- outmask &= g.OUT_MASK;
- var vals = {},
- m0x = 0, J12 = 0, A1 = 0, A2 = 0,
- B1, B2, l, csig12, t;
- if (outmask & (g.DISTANCE | g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- A1 = g.A1m1f(eps);
- g.C1f(eps, C1a);
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- A2 = g.A2m1f(eps);
- g.C2f(eps, C2a);
- m0x = A1 - A2;
- A2 = 1 + A2;
- }
- A1 = 1 + A1;
- }
- if (outmask & g.DISTANCE) {
- B1 = g.SinCosSeries(true, ssig2, csig2, C1a) -
- g.SinCosSeries(true, ssig1, csig1, C1a);
- // Missing a factor of _b
- vals.s12b = A1 * (sig12 + B1);
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- B2 = g.SinCosSeries(true, ssig2, csig2, C2a) -
- g.SinCosSeries(true, ssig1, csig1, C2a);
- J12 = m0x * sig12 + (A1 * B1 - A2 * B2);
- }
- } else if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- // Assume here that nC1_ >= nC2_
- for (l = 1; l <= g.nC2_; ++l)
- C2a[l] = A1 * C1a[l] - A2 * C2a[l];
- J12 = m0x * sig12 + (g.SinCosSeries(true, ssig2, csig2, C2a) -
- g.SinCosSeries(true, ssig1, csig1, C2a));
- }
- if (outmask & g.REDUCEDLENGTH) {
- vals.m0 = m0x;
- // Missing a factor of _b.
- // Add parens around (csig1 * ssig2) and (ssig1 * csig2) to ensure
- // accurate cancellation in the case of coincident points.
- vals.m12b = dn2 * (csig1 * ssig2) - dn1 * (ssig1 * csig2) -
- csig1 * csig2 * J12;
- }
- if (outmask & g.GEODESICSCALE) {
- csig12 = csig1 * csig2 + ssig1 * ssig2;
- t = this._ep2 * (cbet1 - cbet2) * (cbet1 + cbet2) / (dn1 + dn2);
- vals.M12 = csig12 + (t * ssig2 - csig2 * J12) * ssig1 / dn1;
- vals.M21 = csig12 - (t * ssig1 - csig1 * J12) * ssig2 / dn2;
- }
- return vals;
- };
-
- // return sig12, salp1, calp1, salp2, calp2, dnm
- g.Geodesic.prototype.InverseStart = function(sbet1, cbet1, dn1,
- sbet2, cbet2, dn2,
- lam12, slam12, clam12,
- C1a, C2a) {
- // Return a starting point for Newton's method in salp1 and calp1
- // (function value is -1). If Newton's method doesn't need to be
- // used, return also salp2 and calp2 and function value is sig12.
- // salp2, calp2 only updated if return val >= 0.
- var vals = {},
- // bet12 = bet2 - bet1 in [0, pi); bet12a = bet2 + bet1 in (-pi, 0]
- sbet12 = sbet2 * cbet1 - cbet2 * sbet1,
- cbet12 = cbet2 * cbet1 + sbet2 * sbet1,
- sbet12a, shortline, omg12, sbetm2, somg12, comg12, t, ssig12, csig12,
- x, y, lamscale, betscale, k2, eps, cbet12a, bet12a, m12b, m0, nvals,
- k, omg12a, lam12x;
- vals.sig12 = -1; // Return value
- // Volatile declaration needed to fix inverse cases
- // 88.202499451857 0 -88.202499451857 179.981022032992859592
- // 89.262080389218 0 -89.262080389218 179.992207982775375662
- // 89.333123580033 0 -89.333123580032997687 179.99295812360148422
- // which otherwise fail with g++ 4.4.4 x86 -O3
- sbet12a = sbet2 * cbet1;
- sbet12a += cbet2 * sbet1;
-
- shortline = cbet12 >= 0 && sbet12 < 0.5 && cbet2 * lam12 < 0.5;
- if (shortline) {
- sbetm2 = m.sq(sbet1 + sbet2);
- // sin((bet1+bet2)/2)^2
- // = (sbet1 + sbet2)^2 / ((sbet1 + sbet2)^2 + (cbet1 + cbet2)^2)
- sbetm2 /= sbetm2 + m.sq(cbet1 + cbet2);
- vals.dnm = Math.sqrt(1 + this._ep2 * sbetm2);
- omg12 = lam12 / (this._f1 * vals.dnm);
- somg12 = Math.sin(omg12); comg12 = Math.cos(omg12);
- } else {
- somg12 = slam12; comg12 = clam12;
- }
-
- vals.salp1 = cbet2 * somg12;
- vals.calp1 = comg12 >= 0 ?
- sbet12 + cbet2 * sbet1 * m.sq(somg12) / (1 + comg12) :
- sbet12a - cbet2 * sbet1 * m.sq(somg12) / (1 - comg12);
-
- ssig12 = m.hypot(vals.salp1, vals.calp1);
- csig12 = sbet1 * sbet2 + cbet1 * cbet2 * comg12;
- if (shortline && ssig12 < this._etol2) {
- // really short lines
- vals.salp2 = cbet1 * somg12;
- vals.calp2 = sbet12 - cbet1 * sbet2 *
- (comg12 >= 0 ? m.sq(somg12) / (1 + comg12) : 1 - comg12);
- // norm(vals.salp2, vals.calp2);
- t = m.hypot(vals.salp2, vals.calp2); vals.salp2 /= t; vals.calp2 /= t;
- // Set return value
- vals.sig12 = Math.atan2(ssig12, csig12);
- } else if (Math.abs(this._n) > 0.1 || // Skip astroid calc if too eccentric
- csig12 >= 0 ||
- ssig12 >= 6 * Math.abs(this._n) * Math.PI * m.sq(cbet1)) {
- // Nothing to do, zeroth order spherical approximation is OK
- } else {
- // Scale lam12 and bet2 to x, y coordinate system where antipodal
- // point is at origin and singular point is at y = 0, x = -1.
- lam12x = Math.atan2(-slam12, -clam12); // lam12 - pi
- if (this.f >= 0) { // In fact f == 0 does not get here
- // x = dlong, y = dlat
- k2 = m.sq(sbet1) * this._ep2;
- eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- lamscale = this.f * cbet1 * this.A3f(eps) * Math.PI;
- betscale = lamscale * cbet1;
-
- x = lam12x / lamscale;
- y = sbet12a / betscale;
- } else { // f < 0
- // x = dlat, y = dlong
- cbet12a = cbet2 * cbet1 - sbet2 * sbet1;
- bet12a = Math.atan2(sbet12a, cbet12a);
- // In the case of lon12 = 180, this repeats a calculation made
- // in Inverse.
- nvals = this.Lengths(this._n, Math.PI + bet12a,
- sbet1, -cbet1, dn1, sbet2, cbet2, dn2,
- cbet1, cbet2, g.REDUCEDLENGTH, C1a, C2a);
- m12b = nvals.m12b; m0 = nvals.m0;
- x = -1 + m12b / (cbet1 * cbet2 * m0 * Math.PI);
- betscale = x < -0.01 ? sbet12a / x :
- -this.f * m.sq(cbet1) * Math.PI;
- lamscale = betscale / cbet1;
- y = lam12 / lamscale;
- }
-
- if (y > -tol1_ && x > -1 - xthresh_) {
- // strip near cut
- if (this.f >= 0) {
- vals.salp1 = Math.min(1, -x);
- vals.calp1 = -Math.sqrt(1 - m.sq(vals.salp1));
- } else {
- vals.calp1 = Math.max(x > -tol1_ ? 0 : -1, x);
- vals.salp1 = Math.sqrt(1 - m.sq(vals.calp1));
- }
- } else {
- // Estimate alp1, by solving the astroid problem.
- //
- // Could estimate alpha1 = theta + pi/2, directly, i.e.,
- // calp1 = y/k; salp1 = -x/(1+k); for f >= 0
- // calp1 = x/(1+k); salp1 = -y/k; for f < 0 (need to check)
- //
- // However, it's better to estimate omg12 from astroid and use
- // spherical formula to compute alp1. This reduces the mean number of
- // Newton iterations for astroid cases from 2.24 (min 0, max 6) to 2.12
- // (min 0 max 5). The changes in the number of iterations are as
- // follows:
- //
- // change percent
- // 1 5
- // 0 78
- // -1 16
- // -2 0.6
- // -3 0.04
- // -4 0.002
- //
- // The histogram of iterations is (m = number of iterations estimating
- // alp1 directly, n = number of iterations estimating via omg12, total
- // number of trials = 148605):
- //
- // iter m n
- // 0 148 186
- // 1 13046 13845
- // 2 93315 102225
- // 3 36189 32341
- // 4 5396 7
- // 5 455 1
- // 6 56 0
- //
- // Because omg12 is near pi, estimate work with omg12a = pi - omg12
- k = astroid(x, y);
- omg12a = lamscale * ( this.f >= 0 ? -x * k/(1 + k) : -y * (1 + k)/k );
- somg12 = Math.sin(omg12a); comg12 = -Math.cos(omg12a);
- // Update spherical estimate of alp1 using omg12 instead of
- // lam12
- vals.salp1 = cbet2 * somg12;
- vals.calp1 = sbet12a -
- cbet2 * sbet1 * m.sq(somg12) / (1 - comg12);
- }
- }
- // Sanity check on starting guess. Backwards check allows NaN through.
- if (!(vals.salp1 <= 0.0)) {
- // norm(vals.salp1, vals.calp1);
- t = m.hypot(vals.salp1, vals.calp1); vals.salp1 /= t; vals.calp1 /= t;
- } else {
- vals.salp1 = 1; vals.calp1 = 0;
- }
- return vals;
- };
-
- // return lam12, salp2, calp2, sig12, ssig1, csig1, ssig2, csig2, eps,
- // domg12, dlam12,
- g.Geodesic.prototype.Lambda12 = function(sbet1, cbet1, dn1,
- sbet2, cbet2, dn2,
- salp1, calp1, slam120, clam120,
- diffp, C1a, C2a, C3a) {
- var vals = {},
- t, salp0, calp0,
- somg1, comg1, somg2, comg2, somg12, comg12, B312, eta, k2, nvals;
- if (sbet1 === 0 && calp1 === 0)
- // Break degeneracy of equatorial line. This case has already been
- // handled.
- calp1 = -g.tiny_;
-
- // sin(alp1) * cos(bet1) = sin(alp0)
- salp0 = salp1 * cbet1;
- calp0 = m.hypot(calp1, salp1 * sbet1); // calp0 > 0
-
- // tan(bet1) = tan(sig1) * cos(alp1)
- // tan(omg1) = sin(alp0) * tan(sig1) = tan(omg1)=tan(alp1)*sin(bet1)
- vals.ssig1 = sbet1; somg1 = salp0 * sbet1;
- vals.csig1 = comg1 = calp1 * cbet1;
- // norm(vals.ssig1, vals.csig1);
- t = m.hypot(vals.ssig1, vals.csig1); vals.ssig1 /= t; vals.csig1 /= t;
- // norm(somg1, comg1); -- don't need to normalize!
-
- // Enforce symmetries in the case abs(bet2) = -bet1. Need to be careful
- // about this case, since this can yield singularities in the Newton
- // iteration.
- // sin(alp2) * cos(bet2) = sin(alp0)
- vals.salp2 = cbet2 !== cbet1 ? salp0 / cbet2 : salp1;
- // calp2 = sqrt(1 - sq(salp2))
- // = sqrt(sq(calp0) - sq(sbet2)) / cbet2
- // and subst for calp0 and rearrange to give (choose positive sqrt
- // to give alp2 in [0, pi/2]).
- vals.calp2 = cbet2 !== cbet1 || Math.abs(sbet2) !== -sbet1 ?
- Math.sqrt(m.sq(calp1 * cbet1) + (cbet1 < -sbet1 ?
- (cbet2 - cbet1) * (cbet1 + cbet2) :
- (sbet1 - sbet2) * (sbet1 + sbet2))) /
- cbet2 : Math.abs(calp1);
- // tan(bet2) = tan(sig2) * cos(alp2)
- // tan(omg2) = sin(alp0) * tan(sig2).
- vals.ssig2 = sbet2; somg2 = salp0 * sbet2;
- vals.csig2 = comg2 = vals.calp2 * cbet2;
- // norm(vals.ssig2, vals.csig2);
- t = m.hypot(vals.ssig2, vals.csig2); vals.ssig2 /= t; vals.csig2 /= t;
- // norm(somg2, comg2); -- don't need to normalize!
-
- // sig12 = sig2 - sig1, limit to [0, pi]
- vals.sig12 = Math.atan2(Math.max(0, vals.csig1 * vals.ssig2 -
- vals.ssig1 * vals.csig2),
- vals.csig1 * vals.csig2 +
- vals.ssig1 * vals.ssig2);
-
- // omg12 = omg2 - omg1, limit to [0, pi]
- somg12 = Math.max(0, comg1 * somg2 - somg1 * comg2);
- comg12 = comg1 * comg2 + somg1 * somg2;
- // eta = omg12 - lam120
- eta = Math.atan2(somg12 * clam120 - comg12 * slam120,
- comg12 * clam120 + somg12 * slam120);
- k2 = m.sq(calp0) * this._ep2;
- vals.eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- this.C3f(vals.eps, C3a);
- B312 = (g.SinCosSeries(true, vals.ssig2, vals.csig2, C3a) -
- g.SinCosSeries(true, vals.ssig1, vals.csig1, C3a));
- vals.domg12 = -this.f * this.A3f(vals.eps) * salp0 * (vals.sig12 + B312);
- vals.lam12 = eta + vals.domg12;
- if (diffp) {
- if (vals.calp2 === 0)
- vals.dlam12 = -2 * this._f1 * dn1 / sbet1;
- else {
- nvals = this.Lengths(vals.eps, vals.sig12,
- vals.ssig1, vals.csig1, dn1,
- vals.ssig2, vals.csig2, dn2,
- cbet1, cbet2, g.REDUCEDLENGTH, C1a, C2a);
- vals.dlam12 = nvals.m12b;
- vals.dlam12 *= this._f1 / (vals.calp2 * cbet2);
- }
- }
- return vals;
- };
-
- /**
- * @summary Solve the inverse geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} lat2 the latitude of the second point in degrees.
- * @param {number} lon2 the longitude of the second point in degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results
- * @description The lat1, lon1, lat2, lon2, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Inverse = function(lat1, lon1, lat2, lon2, outmask) {
- var r, vals;
- if (!outmask) outmask = g.STANDARD;
- if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- outmask &= g.OUT_MASK;
- r = this.InverseInt(lat1, lon1, lat2, lon2, outmask);
- vals = r.vals;
- if (outmask & g.AZIMUTH) {
- vals.azi1 = m.atan2d(r.salp1, r.calp1);
- vals.azi2 = m.atan2d(r.salp2, r.calp2);
- }
- return vals;
- };
-
- g.Geodesic.prototype.InverseInt = function(lat1, lon1, lat2, lon2, outmask) {
- var vals = {},
- lon12, lon12s, lonsign, t, swapp, latsign,
- sbet1, cbet1, sbet2, cbet2, s12x, m12x,
- dn1, dn2, lam12, slam12, clam12,
- sig12, calp1, salp1, calp2, salp2, C1a, C2a, C3a, meridian, nvals,
- ssig1, csig1, ssig2, csig2, eps, omg12, dnm,
- numit, salp1a, calp1a, salp1b, calp1b,
- tripn, tripb, v, dv, dalp1, sdalp1, cdalp1, nsalp1,
- lengthmask, salp0, calp0, alp12, k2, A4, C4a, B41, B42,
- somg12, comg12, domg12, dbet1, dbet2, salp12, calp12, sdomg12, cdomg12;
- // Compute longitude difference (AngDiff does this carefully). Result is
- // in [-180, 180] but -180 is only for west-going geodesics. 180 is for
- // east-going and meridional geodesics.
- vals.lat1 = lat1 = m.LatFix(lat1); vals.lat2 = lat2 = m.LatFix(lat2);
- // If really close to the equator, treat as on equator.
- lat1 = m.AngRound(lat1);
- lat2 = m.AngRound(lat2);
- lon12 = m.AngDiff(lon1, lon2); lon12s = lon12.t; lon12 = lon12.s;
- if (outmask & g.LONG_UNROLL) {
- vals.lon1 = lon1; vals.lon2 = (lon1 + lon12) + lon12s;
- } else {
- vals.lon1 = m.AngNormalize(lon1); vals.lon2 = m.AngNormalize(lon2);
- }
- // Make longitude difference positive.
- lonsign = lon12 >= 0 ? 1 : -1;
- // If very close to being on the same half-meridian, then make it so.
- lon12 = lonsign * m.AngRound(lon12);
- lon12s = m.AngRound((180 - lon12) - lonsign * lon12s);
- lam12 = lon12 * m.degree;
- t = m.sincosd(lon12 > 90 ? lon12s : lon12);
- slam12 = t.s; clam12 = (lon12 > 90 ? -1 : 1) * t.c;
-
- // Swap points so that point with higher (abs) latitude is point 1
- // If one latitude is a nan, then it becomes lat1.
- swapp = Math.abs(lat1) < Math.abs(lat2) ? -1 : 1;
- if (swapp < 0) {
- lonsign *= -1;
- t = lat1;
- lat1 = lat2;
- lat2 = t;
- // swap(lat1, lat2);
- }
- // Make lat1 <= 0
- latsign = lat1 < 0 ? 1 : -1;
- lat1 *= latsign;
- lat2 *= latsign;
- // Now we have
- //
- // 0 <= lon12 <= 180
- // -90 <= lat1 <= 0
- // lat1 <= lat2 <= -lat1
- //
- // longsign, swapp, latsign register the transformation to bring the
- // coordinates to this canonical form. In all cases, 1 means no change was
- // made. We make these transformations so that there are few cases to
- // check, e.g., on verifying quadrants in atan2. In addition, this
- // enforces some symmetries in the results returned.
-
- t = m.sincosd(lat1); sbet1 = this._f1 * t.s; cbet1 = t.c;
- // norm(sbet1, cbet1);
- t = m.hypot(sbet1, cbet1); sbet1 /= t; cbet1 /= t;
- // Ensure cbet1 = +epsilon at poles
- cbet1 = Math.max(g.tiny_, cbet1);
-
- t = m.sincosd(lat2); sbet2 = this._f1 * t.s; cbet2 = t.c;
- // norm(sbet2, cbet2);
- t = m.hypot(sbet2, cbet2); sbet2 /= t; cbet2 /= t;
- // Ensure cbet2 = +epsilon at poles
- cbet2 = Math.max(g.tiny_, cbet2);
-
- // If cbet1 < -sbet1, then cbet2 - cbet1 is a sensitive measure of the
- // |bet1| - |bet2|. Alternatively (cbet1 >= -sbet1), abs(sbet2) + sbet1 is
- // a better measure. This logic is used in assigning calp2 in Lambda12.
- // Sometimes these quantities vanish and in that case we force bet2 = +/-
- // bet1 exactly. An example where is is necessary is the inverse problem
- // 48.522876735459 0 -48.52287673545898293 179.599720456223079643
- // which failed with Visual Studio 10 (Release and Debug)
-
- if (cbet1 < -sbet1) {
- if (cbet2 === cbet1)
- sbet2 = sbet2 < 0 ? sbet1 : -sbet1;
- } else {
- if (Math.abs(sbet2) === -sbet1)
- cbet2 = cbet1;
- }
-
- dn1 = Math.sqrt(1 + this._ep2 * m.sq(sbet1));
- dn2 = Math.sqrt(1 + this._ep2 * m.sq(sbet2));
-
- // index zero elements of these arrays are unused
- C1a = new Array(g.nC1_ + 1);
- C2a = new Array(g.nC2_ + 1);
- C3a = new Array(g.nC3_);
-
- meridian = lat1 === -90 || slam12 === 0;
- if (meridian) {
-
- // Endpoints are on a single full meridian, so the geodesic might
- // lie on a meridian.
-
- calp1 = clam12; salp1 = slam12; // Head to the target longitude
- calp2 = 1; salp2 = 0; // At the target we're heading north
-
- // tan(bet) = tan(sig) * cos(alp)
- ssig1 = sbet1; csig1 = calp1 * cbet1;
- ssig2 = sbet2; csig2 = calp2 * cbet2;
-
- // sig12 = sig2 - sig1
- sig12 = Math.atan2(Math.max(0, csig1 * ssig2 - ssig1 * csig2),
- csig1 * csig2 + ssig1 * ssig2);
- nvals = this.Lengths(this._n, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2, cbet1, cbet2,
- outmask | g.DISTANCE | g.REDUCEDLENGTH,
- C1a, C2a);
- s12x = nvals.s12b;
- m12x = nvals.m12b;
- // Ignore m0
- if (outmask & g.GEODESICSCALE) {
- vals.M12 = nvals.M12;
- vals.M21 = nvals.M21;
- }
- // Add the check for sig12 since zero length geodesics might yield
- // m12 < 0. Test case was
- //
- // echo 20.001 0 20.001 0 | GeodSolve -i
- //
- // In fact, we will have sig12 > pi/2 for meridional geodesic
- // which is not a shortest path.
- if (sig12 < 1 || m12x >= 0) {
- // Need at least 2, to handle 90 0 90 180
- if (sig12 < 3 * g.tiny_)
- sig12 = m12x = s12x = 0;
- m12x *= this._b;
- s12x *= this._b;
- vals.a12 = sig12 / m.degree;
- } else
- // m12 < 0, i.e., prolate and too close to anti-podal
- meridian = false;
- }
-
- somg12 = 2;
- if (!meridian &&
- sbet1 === 0 && // and sbet2 == 0
- (this.f <= 0 || lon12s >= this.f * 180)) {
-
- // Geodesic runs along equator
- calp1 = calp2 = 0; salp1 = salp2 = 1;
- s12x = this.a * lam12;
- sig12 = omg12 = lam12 / this._f1;
- m12x = this._b * Math.sin(sig12);
- if (outmask & g.GEODESICSCALE)
- vals.M12 = vals.M21 = Math.cos(sig12);
- vals.a12 = lon12 / this._f1;
-
- } else if (!meridian) {
-
- // Now point1 and point2 belong within a hemisphere bounded by a
- // meridian and geodesic is neither meridional or equatorial.
-
- // Figure a starting point for Newton's method
- nvals = this.InverseStart(sbet1, cbet1, dn1, sbet2, cbet2, dn2,
- lam12, slam12, clam12, C1a, C2a);
- sig12 = nvals.sig12;
- salp1 = nvals.salp1;
- calp1 = nvals.calp1;
-
- if (sig12 >= 0) {
- salp2 = nvals.salp2;
- calp2 = nvals.calp2;
- // Short lines (InverseStart sets salp2, calp2, dnm)
-
- dnm = nvals.dnm;
- s12x = sig12 * this._b * dnm;
- m12x = m.sq(dnm) * this._b * Math.sin(sig12 / dnm);
- if (outmask & g.GEODESICSCALE)
- vals.M12 = vals.M21 = Math.cos(sig12 / dnm);
- vals.a12 = sig12 / m.degree;
- omg12 = lam12 / (this._f1 * dnm);
- } else {
-
- // Newton's method. This is a straightforward solution of f(alp1) =
- // lambda12(alp1) - lam12 = 0 with one wrinkle. f(alp) has exactly one
- // root in the interval (0, pi) and its derivative is positive at the
- // root. Thus f(alp) is positive for alp > alp1 and negative for alp <
- // alp1. During the course of the iteration, a range (alp1a, alp1b) is
- // maintained which brackets the root and with each evaluation of
- // f(alp) the range is shrunk if possible. Newton's method is
- // restarted whenever the derivative of f is negative (because the new
- // value of alp1 is then further from the solution) or if the new
- // estimate of alp1 lies outside (0,pi); in this case, the new starting
- // guess is taken to be (alp1a + alp1b) / 2.
- numit = 0;
- // Bracketing range
- salp1a = g.tiny_; calp1a = 1; salp1b = g.tiny_; calp1b = -1;
- for (tripn = false, tripb = false; numit < maxit2_; ++numit) {
- // the WGS84 test set: mean = 1.47, sd = 1.25, max = 16
- // WGS84 and random input: mean = 2.85, sd = 0.60
- nvals = this.Lambda12(sbet1, cbet1, dn1, sbet2, cbet2, dn2,
- salp1, calp1, slam12, clam12, numit < maxit1_,
- C1a, C2a, C3a);
- v = nvals.lam12;
- salp2 = nvals.salp2;
- calp2 = nvals.calp2;
- sig12 = nvals.sig12;
- ssig1 = nvals.ssig1;
- csig1 = nvals.csig1;
- ssig2 = nvals.ssig2;
- csig2 = nvals.csig2;
- eps = nvals.eps;
- domg12 = nvals.domg12;
- dv = nvals.dlam12;
-
- // 2 * tol0 is approximately 1 ulp for a number in [0, pi].
- // Reversed test to allow escape with NaNs
- if (tripb || !(Math.abs(v) >= (tripn ? 8 : 1) * tol0_))
- break;
- // Update bracketing values
- if (v > 0 && (numit < maxit1_ || calp1/salp1 > calp1b/salp1b)) {
- salp1b = salp1; calp1b = calp1;
- } else if (v < 0 &&
- (numit < maxit1_ || calp1/salp1 < calp1a/salp1a)) {
- salp1a = salp1; calp1a = calp1;
- }
- if (numit < maxit1_ && dv > 0) {
- dalp1 = -v/dv;
- sdalp1 = Math.sin(dalp1); cdalp1 = Math.cos(dalp1);
- nsalp1 = salp1 * cdalp1 + calp1 * sdalp1;
- if (nsalp1 > 0 && Math.abs(dalp1) < Math.PI) {
- calp1 = calp1 * cdalp1 - salp1 * sdalp1;
- salp1 = nsalp1;
- // norm(salp1, calp1);
- t = m.hypot(salp1, calp1); salp1 /= t; calp1 /= t;
- // In some regimes we don't get quadratic convergence because
- // slope -> 0. So use convergence conditions based on epsilon
- // instead of sqrt(epsilon).
- tripn = Math.abs(v) <= 16 * tol0_;
- continue;
- }
- }
- // Either dv was not positive or updated value was outside legal
- // range. Use the midpoint of the bracket as the next estimate.
- // This mechanism is not needed for the WGS84 ellipsoid, but it does
- // catch problems with more eccentric ellipsoids. Its efficacy is
- // such for the WGS84 test set with the starting guess set to alp1 =
- // 90deg:
- // the WGS84 test set: mean = 5.21, sd = 3.93, max = 24
- // WGS84 and random input: mean = 4.74, sd = 0.99
- salp1 = (salp1a + salp1b)/2;
- calp1 = (calp1a + calp1b)/2;
- // norm(salp1, calp1);
- t = m.hypot(salp1, calp1); salp1 /= t; calp1 /= t;
- tripn = false;
- tripb = (Math.abs(salp1a - salp1) + (calp1a - calp1) < tolb_ ||
- Math.abs(salp1 - salp1b) + (calp1 - calp1b) < tolb_);
- }
- lengthmask = outmask |
- (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE) ?
- g.DISTANCE : g.NONE);
- nvals = this.Lengths(eps, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2,
- cbet1, cbet2,
- lengthmask, C1a, C2a);
- s12x = nvals.s12b;
- m12x = nvals.m12b;
- // Ignore m0
- if (outmask & g.GEODESICSCALE) {
- vals.M12 = nvals.M12;
- vals.M21 = nvals.M21;
- }
- m12x *= this._b;
- s12x *= this._b;
- vals.a12 = sig12 / m.degree;
- if (outmask & g.AREA) {
- // omg12 = lam12 - domg12
- sdomg12 = Math.sin(domg12); cdomg12 = Math.cos(domg12);
- somg12 = slam12 * cdomg12 - clam12 * sdomg12;
- comg12 = clam12 * cdomg12 + slam12 * sdomg12;
- }
- }
- }
-
- if (outmask & g.DISTANCE)
- vals.s12 = 0 + s12x; // Convert -0 to 0
-
- if (outmask & g.REDUCEDLENGTH)
- vals.m12 = 0 + m12x; // Convert -0 to 0
-
- if (outmask & g.AREA) {
- // From Lambda12: sin(alp1) * cos(bet1) = sin(alp0)
- salp0 = salp1 * cbet1;
- calp0 = m.hypot(calp1, salp1 * sbet1); // calp0 > 0
- if (calp0 !== 0 && salp0 !== 0) {
- // From Lambda12: tan(bet) = tan(sig) * cos(alp)
- ssig1 = sbet1; csig1 = calp1 * cbet1;
- ssig2 = sbet2; csig2 = calp2 * cbet2;
- k2 = m.sq(calp0) * this._ep2;
- eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- // Multiplier = a^2 * e^2 * cos(alpha0) * sin(alpha0).
- A4 = m.sq(this.a) * calp0 * salp0 * this._e2;
- // norm(ssig1, csig1);
- t = m.hypot(ssig1, csig1); ssig1 /= t; csig1 /= t;
- // norm(ssig2, csig2);
- t = m.hypot(ssig2, csig2); ssig2 /= t; csig2 /= t;
- C4a = new Array(g.nC4_);
- this.C4f(eps, C4a);
- B41 = g.SinCosSeries(false, ssig1, csig1, C4a);
- B42 = g.SinCosSeries(false, ssig2, csig2, C4a);
- vals.S12 = A4 * (B42 - B41);
- } else
- // Avoid problems with indeterminate sig1, sig2 on equator
- vals.S12 = 0;
- if (!meridian && somg12 > 1) {
- somg12 = Math.sin(omg12); comg12 = Math.cos(omg12);
- }
- if (!meridian &&
- comg12 > -0.7071 && // Long difference not too big
- sbet2 - sbet1 < 1.75) { // Lat difference not too big
- // Use tan(Gamma/2) = tan(omg12/2)
- // * (tan(bet1/2)+tan(bet2/2))/(1+tan(bet1/2)*tan(bet2/2))
- // with tan(x/2) = sin(x)/(1+cos(x))
- domg12 = 1 + comg12; dbet1 = 1 + cbet1; dbet2 = 1 + cbet2;
- alp12 = 2 * Math.atan2( somg12 * (sbet1*dbet2 + sbet2*dbet1),
- domg12 * (sbet1*sbet2 + dbet1*dbet2) );
- } else {
- // alp12 = alp2 - alp1, used in atan2 so no need to normalize
- salp12 = salp2 * calp1 - calp2 * salp1;
- calp12 = calp2 * calp1 + salp2 * salp1;
- // The right thing appears to happen if alp1 = +/-180 and alp2 = 0, viz
- // salp12 = -0 and alp12 = -180. However this depends on the sign
- // being attached to 0 correctly. The following ensures the correct
- // behavior.
- if (salp12 === 0 && calp12 < 0) {
- salp12 = g.tiny_ * calp1;
- calp12 = -1;
- }
- alp12 = Math.atan2(salp12, calp12);
- }
- vals.S12 += this._c2 * alp12;
- vals.S12 *= swapp * lonsign * latsign;
- // Convert -0 to 0
- vals.S12 += 0;
- }
-
- // Convert calp, salp to azimuth accounting for lonsign, swapp, latsign.
- if (swapp < 0) {
- t = salp1;
- salp1 = salp2;
- salp2 = t;
- // swap(salp1, salp2);
- t = calp1;
- calp1 = calp2;
- calp2 = t;
- // swap(calp1, calp2);
- if (outmask & g.GEODESICSCALE) {
- t = vals.M12;
- vals.M12 = vals.M21;
- vals.M21 = t;
- // swap(vals.M12, vals.M21);
- }
- }
-
- salp1 *= swapp * lonsign; calp1 *= swapp * latsign;
- salp2 *= swapp * lonsign; calp2 *= swapp * latsign;
-
- return {vals: vals,
- salp1: salp1, calp1: calp1,
- salp2: salp2, calp2: calp2};
- };
-
- /**
- * @summary Solve the general direct geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {bool} arcmode is the next parameter an arc length?
- * @param {number} s12_a12 the (arcmode ? arc length : distance) from the
- * first point to the second in (arcmode ? degrees : meters).
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are always
- * set; s12 is included if arcmode is false. For details on the outmask
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.GenDirect = function(lat1, lon1, azi1,
- arcmode, s12_a12, outmask) {
- var line;
- if (!outmask) outmask = g.STANDARD;
- else if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- // Automatically supply DISTANCE_IN if necessary
- if (!arcmode) outmask |= g.DISTANCE_IN;
- line = new l.GeodesicLine(this, lat1, lon1, azi1, outmask);
- return line.GenPosition(arcmode, s12_a12, outmask);
- };
-
- /**
- * @summary Solve the direct geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {number} s12 the distance from the first point to the second in
- * meters.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, s12, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Direct = function(lat1, lon1, azi1, s12, outmask) {
- return this.GenDirect(lat1, lon1, azi1, false, s12, outmask);
- };
-
- /**
- * @summary Solve the direct geodesic problem with arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {number} a12 the arc length from the first point to the second in
- * degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.ArcDirect = function(lat1, lon1, azi1, a12, outmask) {
- return this.GenDirect(lat1, lon1, azi1, true, a12, outmask);
- };
-
- /**
- * @summary Create a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description For details on the caps parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Line = function(lat1, lon1, azi1, caps) {
- return new l.GeodesicLine(this, lat1, lon1, azi1, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of distance.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {number} s12 the distance between point 1 and point 2 (meters); it
- * can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.DirectLine = function(lat1, lon1, azi1, s12, caps) {
- return this.GenDirectLine(lat1, lon1, azi1, false, s12, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {number} a12 the arc length between point 1 and point 2 (degrees);
- * it can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.ArcDirectLine = function(lat1, lon1, azi1, a12, caps) {
- return this.GenDirectLine(lat1, lon1, azi1, true, a12, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of either distance or arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {bool} arcmode boolean flag determining the meaning of the
- * s12_a12.
- * @param {number} s12_a12 if arcmode is false, this is the distance between
- * point 1 and point 2 (meters); otherwise it is the arc length between
- * point 1 and point 2 (degrees); it can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.GenDirectLine = function(lat1, lon1, azi1,
- arcmode, s12_a12, caps) {
- var t;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
- // Automatically supply DISTANCE_IN if necessary
- if (!arcmode) caps |= g.DISTANCE_IN;
- t = new l.GeodesicLine(this, lat1, lon1, azi1, caps);
- t.GenSetDistance(arcmode, s12_a12);
- return t;
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the inverse geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} lat2 the latitude of the second point in degrees.
- * @param {number} lon2 the longitude of the second point in degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the inverse geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.InverseLine = function(lat1, lon1, lat2, lon2, caps) {
- var r, t, azi1;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
- r = this.InverseInt(lat1, lon1, lat2, lon2, g.ARC);
- azi1 = m.atan2d(r.salp1, r.calp1);
- // Ensure that a12 can be converted to a distance
- if (caps & (g.OUT_MASK & g.DISTANCE_IN)) caps |= g.DISTANCE;
- t = new l.GeodesicLine(this, lat1, lon1, azi1, caps, r.salp1, r.calp1);
- t.SetArc(r.vals.a12);
- return t;
- };
-
- /**
- * @summary Create a {@link module:GeographicLib/PolygonArea.PolygonArea
- * PolygonArea} object.
- * @param {bool} [polyline = false] if true the new PolygonArea object
- * describes a polyline instead of a polygon.
- * @returns {object} the
- * {@link module:GeographicLib/PolygonArea.PolygonArea
- * PolygonArea} object
- */
- g.Geodesic.prototype.Polygon = function(polyline) {
- return new p.PolygonArea(this, polyline);
- };
-
- /**
- * @summary a {@link module:GeographicLib/Geodesic.Geodesic Geodesic} object
- * initialized for the WGS84 ellipsoid.
- * @constant {object}
- */
- g.WGS84 = new g.Geodesic(c.WGS84.a, c.WGS84.f);
-})(GeographicLib.Geodesic, GeographicLib.GeodesicLine,
- GeographicLib.PolygonArea, GeographicLib.Math, GeographicLib.Constants);
-
-/**************** GeodesicLine.js ****************/
-/*
- * GeodesicLine.js
- * Transcription of GeodesicLine.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER GeographicLib/Math.js, GeographicLib/Geodesic.js
-
-(function(
- g,
- /**
- * @exports GeographicLib/GeodesicLine
- * @description Solve geodesic problems on a single geodesic line via the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine GeodesicLine}
- * class.
- */
- l, m) {
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @property {number} lat1 the initial latitude (degrees).
- * @property {number} lon1 the initial longitude (degrees).
- * @property {number} azi1 the initial azimuth (degrees).
- * @property {number} salp1 the sine of the azimuth at the first point.
- * @property {number} calp1 the cosine the azimuth at the first point.
- * @property {number} s13 the distance to point 3 (meters).
- * @property {number} a13 the arc length to point 3 (degrees).
- * @property {bitmask} caps the capabilities of the object.
- * @summary Initialize a GeodesicLine object. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- * @classdesc Performs geodesic calculations along a given geodesic line.
- * This object is usually instantiated by
- * {@link module:GeographicLib/Geodesic.Geodesic#Line Geodesic.Line}.
- * The methods
- * {@link module:GeographicLib/Geodesic.Geodesic#DirectLine
- * Geodesic.DirectLine} and
- * {@link module:GeographicLib/Geodesic.Geodesic#InverseLine
- * Geodesic.InverseLine} set in addition the position of a reference point
- * 3.
- * @param {object} geod a {@link module:GeographicLib/Geodesic.Geodesic
- * Geodesic} object.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include; LATITUDE | AZIMUTH are always included.
- */
- l.GeodesicLine = function(geod, lat1, lon1, azi1, caps, salp1, calp1) {
- var t, cbet1, sbet1, eps, s, c;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
-
- this.a = geod.a;
- this.f = geod.f;
- this._b = geod._b;
- this._c2 = geod._c2;
- this._f1 = geod._f1;
- this.caps = caps | g.LATITUDE | g.AZIMUTH | g.LONG_UNROLL;
-
- this.lat1 = m.LatFix(lat1);
- this.lon1 = lon1;
- if (typeof salp1 === 'undefined' || typeof calp1 === 'undefined') {
- this.azi1 = m.AngNormalize(azi1);
- t = m.sincosd(m.AngRound(this.azi1)); this.salp1 = t.s; this.calp1 = t.c;
- } else {
- this.azi1 = azi1; this.salp1 = salp1; this.calp1 = calp1;
- }
- t = m.sincosd(m.AngRound(this.lat1)); sbet1 = this._f1 * t.s; cbet1 = t.c;
- // norm(sbet1, cbet1);
- t = m.hypot(sbet1, cbet1); sbet1 /= t; cbet1 /= t;
- // Ensure cbet1 = +epsilon at poles
- cbet1 = Math.max(g.tiny_, cbet1);
- this._dn1 = Math.sqrt(1 + geod._ep2 * m.sq(sbet1));
-
- // Evaluate alp0 from sin(alp1) * cos(bet1) = sin(alp0),
- this._salp0 = this.salp1 * cbet1; // alp0 in [0, pi/2 - |bet1|]
- // Alt: calp0 = hypot(sbet1, calp1 * cbet1). The following
- // is slightly better (consider the case salp1 = 0).
- this._calp0 = m.hypot(this.calp1, this.salp1 * sbet1);
- // Evaluate sig with tan(bet1) = tan(sig1) * cos(alp1).
- // sig = 0 is nearest northward crossing of equator.
- // With bet1 = 0, alp1 = pi/2, we have sig1 = 0 (equatorial line).
- // With bet1 = pi/2, alp1 = -pi, sig1 = pi/2
- // With bet1 = -pi/2, alp1 = 0 , sig1 = -pi/2
- // Evaluate omg1 with tan(omg1) = sin(alp0) * tan(sig1).
- // With alp0 in (0, pi/2], quadrants for sig and omg coincide.
- // No atan2(0,0) ambiguity at poles since cbet1 = +epsilon.
- // With alp0 = 0, omg1 = 0 for alp1 = 0, omg1 = pi for alp1 = pi.
- this._ssig1 = sbet1; this._somg1 = this._salp0 * sbet1;
- this._csig1 = this._comg1 =
- sbet1 !== 0 || this.calp1 !== 0 ? cbet1 * this.calp1 : 1;
- // norm(this._ssig1, this._csig1); // sig1 in (-pi, pi]
- t = m.hypot(this._ssig1, this._csig1);
- this._ssig1 /= t; this._csig1 /= t;
- // norm(this._somg1, this._comg1); -- don't need to normalize!
-
- this._k2 = m.sq(this._calp0) * geod._ep2;
- eps = this._k2 / (2 * (1 + Math.sqrt(1 + this._k2)) + this._k2);
-
- if (this.caps & g.CAP_C1) {
- this._A1m1 = g.A1m1f(eps);
- this._C1a = new Array(g.nC1_ + 1);
- g.C1f(eps, this._C1a);
- this._B11 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C1a);
- s = Math.sin(this._B11); c = Math.cos(this._B11);
- // tau1 = sig1 + B11
- this._stau1 = this._ssig1 * c + this._csig1 * s;
- this._ctau1 = this._csig1 * c - this._ssig1 * s;
- // Not necessary because C1pa reverts C1a
- // _B11 = -SinCosSeries(true, _stau1, _ctau1, _C1pa);
- }
-
- if (this.caps & g.CAP_C1p) {
- this._C1pa = new Array(g.nC1p_ + 1);
- g.C1pf(eps, this._C1pa);
- }
-
- if (this.caps & g.CAP_C2) {
- this._A2m1 = g.A2m1f(eps);
- this._C2a = new Array(g.nC2_ + 1);
- g.C2f(eps, this._C2a);
- this._B21 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C2a);
- }
-
- if (this.caps & g.CAP_C3) {
- this._C3a = new Array(g.nC3_);
- geod.C3f(eps, this._C3a);
- this._A3c = -this.f * this._salp0 * geod.A3f(eps);
- this._B31 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C3a);
- }
-
- if (this.caps & g.CAP_C4) {
- this._C4a = new Array(g.nC4_); // all the elements of _C4a are used
- geod.C4f(eps, this._C4a);
- // Multiplier = a^2 * e^2 * cos(alpha0) * sin(alpha0)
- this._A4 = m.sq(this.a) * this._calp0 * this._salp0 * geod._e2;
- this._B41 = g.SinCosSeries(false, this._ssig1, this._csig1, this._C4a);
- }
-
- this.a13 = this.s13 = Number.NaN;
- };
-
- /**
- * @summary Find the position on the line (general case).
- * @param {bool} arcmode is the next parameter an arc length?
- * @param {number} s12_a12 the (arcmode ? arc length : distance) from the
- * first point to the second in (arcmode ? degrees : meters).
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set; s12 is included if arcmode is false. For details on the
- * outmask parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- l.GeodesicLine.prototype.GenPosition = function(arcmode, s12_a12,
- outmask) {
- var vals = {},
- sig12, ssig12, csig12, B12, AB1, ssig2, csig2, tau12, s, c, serr,
- omg12, lam12, lon12, E, sbet2, cbet2, somg2, comg2, salp2, calp2, dn2,
- B22, AB2, J12, t, B42, salp12, calp12;
- if (!outmask) outmask = g.STANDARD;
- else if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- outmask &= this.caps & g.OUT_MASK;
- vals.lat1 = this.lat1; vals.azi1 = this.azi1;
- vals.lon1 = outmask & g.LONG_UNROLL ?
- this.lon1 : m.AngNormalize(this.lon1);
- if (arcmode)
- vals.a12 = s12_a12;
- else
- vals.s12 = s12_a12;
- if (!( arcmode || (this.caps & g.DISTANCE_IN & g.OUT_MASK) )) {
- // Uninitialized or impossible distance calculation requested
- vals.a12 = Number.NaN;
- return vals;
- }
-
- // Avoid warning about uninitialized B12.
- B12 = 0; AB1 = 0;
- if (arcmode) {
- // Interpret s12_a12 as spherical arc length
- sig12 = s12_a12 * m.degree;
- t = m.sincosd(s12_a12); ssig12 = t.s; csig12 = t.c;
- } else {
- // Interpret s12_a12 as distance
- tau12 = s12_a12 / (this._b * (1 + this._A1m1));
- s = Math.sin(tau12);
- c = Math.cos(tau12);
- // tau2 = tau1 + tau12
- B12 = -g.SinCosSeries(true,
- this._stau1 * c + this._ctau1 * s,
- this._ctau1 * c - this._stau1 * s,
- this._C1pa);
- sig12 = tau12 - (B12 - this._B11);
- ssig12 = Math.sin(sig12); csig12 = Math.cos(sig12);
- if (Math.abs(this.f) > 0.01) {
- // Reverted distance series is inaccurate for |f| > 1/100, so correct
- // sig12 with 1 Newton iteration. The following table shows the
- // approximate maximum error for a = WGS_a() and various f relative to
- // GeodesicExact.
- // erri = the error in the inverse solution (nm)
- // errd = the error in the direct solution (series only) (nm)
- // errda = the error in the direct solution
- // (series + 1 Newton) (nm)
- //
- // f erri errd errda
- // -1/5 12e6 1.2e9 69e6
- // -1/10 123e3 12e6 765e3
- // -1/20 1110 108e3 7155
- // -1/50 18.63 200.9 27.12
- // -1/100 18.63 23.78 23.37
- // -1/150 18.63 21.05 20.26
- // 1/150 22.35 24.73 25.83
- // 1/100 22.35 25.03 25.31
- // 1/50 29.80 231.9 30.44
- // 1/20 5376 146e3 10e3
- // 1/10 829e3 22e6 1.5e6
- // 1/5 157e6 3.8e9 280e6
- ssig2 = this._ssig1 * csig12 + this._csig1 * ssig12;
- csig2 = this._csig1 * csig12 - this._ssig1 * ssig12;
- B12 = g.SinCosSeries(true, ssig2, csig2, this._C1a);
- serr = (1 + this._A1m1) * (sig12 + (B12 - this._B11)) -
- s12_a12 / this._b;
- sig12 = sig12 - serr / Math.sqrt(1 + this._k2 * m.sq(ssig2));
- ssig12 = Math.sin(sig12); csig12 = Math.cos(sig12);
- // Update B12 below
- }
- }
-
- // sig2 = sig1 + sig12
- ssig2 = this._ssig1 * csig12 + this._csig1 * ssig12;
- csig2 = this._csig1 * csig12 - this._ssig1 * ssig12;
- dn2 = Math.sqrt(1 + this._k2 * m.sq(ssig2));
- if (outmask & (g.DISTANCE | g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- if (arcmode || Math.abs(this.f) > 0.01)
- B12 = g.SinCosSeries(true, ssig2, csig2, this._C1a);
- AB1 = (1 + this._A1m1) * (B12 - this._B11);
- }
- // sin(bet2) = cos(alp0) * sin(sig2)
- sbet2 = this._calp0 * ssig2;
- // Alt: cbet2 = hypot(csig2, salp0 * ssig2);
- cbet2 = m.hypot(this._salp0, this._calp0 * csig2);
- if (cbet2 === 0)
- // I.e., salp0 = 0, csig2 = 0. Break the degeneracy in this case
- cbet2 = csig2 = g.tiny_;
- // tan(alp0) = cos(sig2)*tan(alp2)
- salp2 = this._salp0; calp2 = this._calp0 * csig2; // No need to normalize
-
- if (arcmode && (outmask & g.DISTANCE))
- vals.s12 = this._b * ((1 + this._A1m1) * sig12 + AB1);
-
- if (outmask & g.LONGITUDE) {
- // tan(omg2) = sin(alp0) * tan(sig2)
- somg2 = this._salp0 * ssig2; comg2 = csig2; // No need to normalize
- E = m.copysign(1, this._salp0);
- // omg12 = omg2 - omg1
- omg12 = outmask & g.LONG_UNROLL ?
- E * (sig12 -
- (Math.atan2(ssig2, csig2) -
- Math.atan2(this._ssig1, this._csig1)) +
- (Math.atan2(E * somg2, comg2) -
- Math.atan2(E * this._somg1, this._comg1))) :
- Math.atan2(somg2 * this._comg1 - comg2 * this._somg1,
- comg2 * this._comg1 + somg2 * this._somg1);
- lam12 = omg12 + this._A3c *
- ( sig12 + (g.SinCosSeries(true, ssig2, csig2, this._C3a) -
- this._B31));
- lon12 = lam12 / m.degree;
- vals.lon2 = outmask & g.LONG_UNROLL ? this.lon1 + lon12 :
- m.AngNormalize(m.AngNormalize(this.lon1) + m.AngNormalize(lon12));
- }
-
- if (outmask & g.LATITUDE)
- vals.lat2 = m.atan2d(sbet2, this._f1 * cbet2);
-
- if (outmask & g.AZIMUTH)
- vals.azi2 = m.atan2d(salp2, calp2);
-
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- B22 = g.SinCosSeries(true, ssig2, csig2, this._C2a);
- AB2 = (1 + this._A2m1) * (B22 - this._B21);
- J12 = (this._A1m1 - this._A2m1) * sig12 + (AB1 - AB2);
- if (outmask & g.REDUCEDLENGTH)
- // Add parens around (_csig1 * ssig2) and (_ssig1 * csig2) to ensure
- // accurate cancellation in the case of coincident points.
- vals.m12 = this._b * (( dn2 * (this._csig1 * ssig2) -
- this._dn1 * (this._ssig1 * csig2)) -
- this._csig1 * csig2 * J12);
- if (outmask & g.GEODESICSCALE) {
- t = this._k2 * (ssig2 - this._ssig1) * (ssig2 + this._ssig1) /
- (this._dn1 + dn2);
- vals.M12 = csig12 +
- (t * ssig2 - csig2 * J12) * this._ssig1 / this._dn1;
- vals.M21 = csig12 -
- (t * this._ssig1 - this._csig1 * J12) * ssig2 / dn2;
- }
- }
-
- if (outmask & g.AREA) {
- B42 = g.SinCosSeries(false, ssig2, csig2, this._C4a);
- if (this._calp0 === 0 || this._salp0 === 0) {
- // alp12 = alp2 - alp1, used in atan2 so no need to normalize
- salp12 = salp2 * this.calp1 - calp2 * this.salp1;
- calp12 = calp2 * this.calp1 + salp2 * this.salp1;
- } else {
- // tan(alp) = tan(alp0) * sec(sig)
- // tan(alp2-alp1) = (tan(alp2) -tan(alp1)) / (tan(alp2)*tan(alp1)+1)
- // = calp0 * salp0 * (csig1-csig2) / (salp0^2 + calp0^2 * csig1*csig2)
- // If csig12 > 0, write
- // csig1 - csig2 = ssig12 * (csig1 * ssig12 / (1 + csig12) + ssig1)
- // else
- // csig1 - csig2 = csig1 * (1 - csig12) + ssig12 * ssig1
- // No need to normalize
- salp12 = this._calp0 * this._salp0 *
- (csig12 <= 0 ? this._csig1 * (1 - csig12) + ssig12 * this._ssig1 :
- ssig12 * (this._csig1 * ssig12 / (1 + csig12) + this._ssig1));
- calp12 = m.sq(this._salp0) + m.sq(this._calp0) * this._csig1 * csig2;
- }
- vals.S12 = this._c2 * Math.atan2(salp12, calp12) +
- this._A4 * (B42 - this._B41);
- }
-
- if (!arcmode)
- vals.a12 = sig12 / m.degree;
- return vals;
- };
-
- /**
- * @summary Find the position on the line given s12.
- * @param {number} s12 the distance from the first point to the second in
- * meters.
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, s12, and a12 fields of the result are
- * always set; s12 is included if arcmode is false. For details on the
- * outmask parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- l.GeodesicLine.prototype.Position = function(s12, outmask) {
- return this.GenPosition(false, s12, outmask);
- };
-
- /**
- * @summary Find the position on the line given a12.
- * @param {number} a12 the arc length from the first point to the second in
- * degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- l.GeodesicLine.prototype.ArcPosition = function(a12, outmask) {
- return this.GenPosition(true, a12, outmask);
- };
-
- /**
- * @summary Specify position of point 3 in terms of either distance or arc
- * length.
- * @param {bool} arcmode boolean flag determining the meaning of the second
- * parameter; if arcmode is false, then the GeodesicLine object must have
- * been constructed with caps |= DISTANCE_IN.
- * @param {number} s13_a13 if arcmode is false, this is the distance from
- * point 1 to point 3 (meters); otherwise it is the arc length from
- * point 1 to point 3 (degrees); it can be negative.
- */
- l.GeodesicLine.prototype.GenSetDistance = function(arcmode, s13_a13) {
- if (arcmode)
- this.SetArc(s13_a13);
- else
- this.SetDistance(s13_a13);
- };
-
- /**
- * @summary Specify position of point 3 in terms distance.
- * @param {number} s13 the distance from point 1 to point 3 (meters); it
- * can be negative.
- */
- l.GeodesicLine.prototype.SetDistance = function(s13) {
- var r;
- this.s13 = s13;
- r = this.GenPosition(false, this.s13, g.ARC);
- this.a13 = 0 + r.a12; // the 0+ converts undefined into NaN
- };
-
- /**
- * @summary Specify position of point 3 in terms of arc length.
- * @param {number} a13 the arc length from point 1 to point 3 (degrees);
- * it can be negative.
- */
- l.GeodesicLine.prototype.SetArc = function(a13) {
- var r;
- this.a13 = a13;
- r = this.GenPosition(true, this.a13, g.DISTANCE);
- this.s13 = 0 + r.s12; // the 0+ converts undefined into NaN
- };
-
-})(GeographicLib.Geodesic, GeographicLib.GeodesicLine, GeographicLib.Math);
-
-/**************** PolygonArea.js ****************/
-/*
- * PolygonArea.js
- * Transcription of PolygonArea.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER GeographicLib/Math.js and GeographicLib/Geodesic.js
-
-(function(
- /**
- * @exports GeographicLib/PolygonArea
- * @description Compute the area of geodesic polygons via the
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea}
- * class.
- */
- p, g, m, a) {
-
- var transit, transitdirect, AreaReduceA, AreaReduceB;
- transit = function(lon1, lon2) {
- // Return 1 or -1 if crossing prime meridian in east or west direction.
- // Otherwise return zero.
- var lon12, cross;
- // Compute lon12 the same way as Geodesic::Inverse.
- lon1 = m.AngNormalize(lon1);
- lon2 = m.AngNormalize(lon2);
- lon12 = m.AngDiff(lon1, lon2).s;
- cross = lon1 <= 0 && lon2 > 0 && lon12 > 0 ? 1 :
- (lon2 <= 0 && lon1 > 0 && lon12 < 0 ? -1 : 0);
- return cross;
- };
-
- // an alternate version of transit to deal with longitudes in the direct
- // problem.
- transitdirect = function(lon1, lon2) {
- // We want to compute exactly
- // int(ceil(lon2 / 360)) - int(ceil(lon1 / 360))
- // Since we only need the parity of the result we can use std::remquo but
- // this is buggy with g++ 4.8.3 and requires C++11. So instead we do
- lon1 = lon1 % 720.0; lon2 = lon2 % 720.0;
- return ( ((lon2 <= 0 && lon2 > -360) || lon2 > 360 ? 1 : 0) -
- ((lon1 <= 0 && lon1 > -360) || lon1 > 360 ? 1 : 0) );
- };
-
- // Reduce Accumulator area
- AreaReduceA = function(area, area0, crossings, reverse, sign) {
- area.Remainder(area0);
- if (crossings & 1)
- area.Add( (area.Sum() < 0 ? 1 : -1) * area0/2 );
- // area is with the clockwise sense. If !reverse convert to
- // counter-clockwise convention.
- if (!reverse)
- area.Negate();
- // If sign put area in (-area0/2, area0/2], else put area in [0, area0)
- if (sign) {
- if (area.Sum() > area0/2)
- area.Add( -area0 );
- else if (area.Sum() <= -area0/2)
- area.Add( +area0 );
- } else {
- if (area.Sum() >= area0)
- area.Add( -area0 );
- else if (area.Sum() < 0)
- area.Add( +area0 );
- }
- return 0 + area.Sum();
- };
-
- // Reduce double area
- AreaReduceB = function(area, area0, crossings, reverse, sign) {
- area = m.remainder(area, area0);
- if (crossings & 1)
- area += (area < 0 ? 1 : -1) * area0/2;
- // area is with the clockwise sense. If !reverse convert to
- // counter-clockwise convention.
- if (!reverse)
- area *= -1;
- // If sign put area in (-area0/2, area0/2], else put area in [0, area0)
- if (sign) {
- if (area > area0/2)
- area -= area0;
- else if (area <= -area0/2)
- area += area0;
- } else {
- if (area >= area0)
- area -= area0;
- else if (area < 0)
- area += area0;
- }
- return 0 + area;
- };
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @property {bool} polyline whether the PolygonArea object describes a
- * polyline or a polygon.
- * @property {number} num the number of vertices so far.
- * @property {number} lat the current latitude (degrees).
- * @property {number} lon the current longitude (degrees).
- * @summary Initialize a PolygonArea object.
- * @classdesc Computes the area and perimeter of a geodesic polygon.
- * This object is usually instantiated by
- * {@link module:GeographicLib/Geodesic.Geodesic#Polygon Geodesic.Polygon}.
- * @param {object} geod a {@link module:GeographicLib/Geodesic.Geodesic
- * Geodesic} object.
- * @param {bool} [polyline = false] if true the new PolygonArea object
- * describes a polyline instead of a polygon.
- */
- p.PolygonArea = function(geod, polyline) {
- this._geod = geod;
- this.a = this._geod.a;
- this.f = this._geod.f;
- this._area0 = 4 * Math.PI * geod._c2;
- this.polyline = !polyline ? false : polyline;
- this._mask = g.LATITUDE | g.LONGITUDE | g.DISTANCE |
- (this.polyline ? g.NONE : g.AREA | g.LONG_UNROLL);
- if (!this.polyline)
- this._areasum = new a.Accumulator(0);
- this._perimetersum = new a.Accumulator(0);
- this.Clear();
- };
-
- /**
- * @summary Clear the PolygonArea object, setting the number of vertices to
- * 0.
- */
- p.PolygonArea.prototype.Clear = function() {
- this.num = 0;
- this._crossings = 0;
- if (!this.polyline)
- this._areasum.Set(0);
- this._perimetersum.Set(0);
- this._lat0 = this._lon0 = this.lat = this.lon = Number.NaN;
- };
-
- /**
- * @summary Add the next vertex to the polygon.
- * @param {number} lat the latitude of the point (degrees).
- * @param {number} lon the longitude of the point (degrees).
- * @description This adds an edge from the current vertex to the new vertex.
- */
- p.PolygonArea.prototype.AddPoint = function(lat, lon) {
- var t;
- if (this.num === 0) {
- this._lat0 = this.lat = lat;
- this._lon0 = this.lon = lon;
- } else {
- t = this._geod.Inverse(this.lat, this.lon, lat, lon, this._mask);
- this._perimetersum.Add(t.s12);
- if (!this.polyline) {
- this._areasum.Add(t.S12);
- this._crossings += transit(this.lon, lon);
- }
- this.lat = lat;
- this.lon = lon;
- }
- ++this.num;
- };
-
- /**
- * @summary Add the next edge to the polygon.
- * @param {number} azi the azimuth at the current the point (degrees).
- * @param {number} s the length of the edge (meters).
- * @description This specifies the new vertex in terms of the edge from the
- * current vertex.
- */
- p.PolygonArea.prototype.AddEdge = function(azi, s) {
- var t;
- if (this.num) {
- t = this._geod.Direct(this.lat, this.lon, azi, s, this._mask);
- this._perimetersum.Add(s);
- if (!this.polyline) {
- this._areasum.Add(t.S12);
- this._crossings += transitdirect(this.lon, t.lon2);
- }
- this.lat = t.lat2;
- this.lon = t.lon2;
- }
- ++this.num;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon.
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description Arbitrarily complex polygons are allowed. In the case of
- * self-intersecting polygons the area is accumulated "algebraically",
- * e.g., the areas of the 2 loops in a figure-8 polygon will partially
- * cancel. If the object is a polygon (and not a polyline), the perimeter
- * includes the length of a final edge connecting the current point to the
- * initial point. If the object is a polyline, then area is nan. More
- * points can be added to the polygon after this call.
- */
- p.PolygonArea.prototype.Compute = function(reverse, sign) {
- var vals = {number: this.num}, t, tempsum;
- if (this.num < 2) {
- vals.perimeter = 0;
- if (!this.polyline)
- vals.area = 0;
- return vals;
- }
- if (this.polyline) {
- vals.perimeter = this._perimetersum.Sum();
- return vals;
- }
- t = this._geod.Inverse(this.lat, this.lon, this._lat0, this._lon0,
- this._mask);
- vals.perimeter = this._perimetersum.Sum(t.s12);
- tempsum = new a.Accumulator(this._areasum);
- tempsum.Add(t.S12);
- vals.area = AreaReduceA(tempsum, this._area0,
- this._crossings + transit(this.lon, this._lon0),
- reverse, sign);
- return vals;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon with a tentative
- * new vertex.
- * @param {number} lat the latitude of the point (degrees).
- * @param {number} lon the longitude of the point (degrees).
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description A new vertex is *not* added to the polygon.
- */
- p.PolygonArea.prototype.TestPoint = function(lat, lon, reverse, sign) {
- var vals = {number: this.num + 1}, t, tempsum, crossings, i;
- if (this.num === 0) {
- vals.perimeter = 0;
- if (!this.polyline)
- vals.area = 0;
- return vals;
- }
- vals.perimeter = this._perimetersum.Sum();
- tempsum = this.polyline ? 0 : this._areasum.Sum();
- crossings = this._crossings;
- for (i = 0; i < (this.polyline ? 1 : 2); ++i) {
- t = this._geod.Inverse(
- i === 0 ? this.lat : lat, i === 0 ? this.lon : lon,
- i !== 0 ? this._lat0 : lat, i !== 0 ? this._lon0 : lon,
- this._mask);
- vals.perimeter += t.s12;
- if (!this.polyline) {
- tempsum += t.S12;
- crossings += transit(i === 0 ? this.lon : lon,
- i !== 0 ? this._lon0 : lon);
- }
- }
-
- if (this.polyline)
- return vals;
-
- vals.area = AreaReduceB(tempsum, this._area0, crossings, reverse, sign);
- return vals;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon with a tentative
- * new edge.
- * @param {number} azi the azimuth of the edge (degrees).
- * @param {number} s the length of the edge (meters).
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description A new vertex is *not* added to the polygon.
- */
- p.PolygonArea.prototype.TestEdge = function(azi, s, reverse, sign) {
- var vals = {number: this.num ? this.num + 1 : 0}, t, tempsum, crossings;
- if (this.num === 0)
- return vals;
- vals.perimeter = this._perimetersum.Sum() + s;
- if (this.polyline)
- return vals;
-
- tempsum = this._areasum.Sum();
- crossings = this._crossings;
- t = this._geod.Direct(this.lat, this.lon, azi, s, this._mask);
- tempsum += t.S12;
- crossings += transitdirect(this.lon, t.lon2);
- crossings += transit(t.lon2, this._lon0);
- t = this._geod.Inverse(t.lat2, t.lon2, this._lat0, this._lon0, this._mask);
- vals.perimeter += t.s12;
- tempsum += t.S12;
-
- vals.area = AreaReduceB(tempsum, this._area0, crossings, reverse, sign);
- return vals;
- };
-
-})(GeographicLib.PolygonArea, GeographicLib.Geodesic,
- GeographicLib.Math, GeographicLib.Accumulator);
-
-/**************** DMS.js ****************/
-/*
- * DMS.js
- * Transcription of DMS.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-GeographicLib.DMS = {};
-
-(function(
- /**
- * @exports GeographicLib/DMS
- * @description Decode/Encode angles expressed as degrees, minutes, and
- * seconds. This module defines several constants:
- * - hemisphere indicator (returned by
- * {@link module:GeographicLib/DMS.Decode Decode}) and a formatting
- * indicator (used by
- * {@link module:GeographicLib/DMS.Encode Encode})
- * - NONE = 0, no designator and format as plain angle;
- * - LATITUDE = 1, a N/S designator and format as latitude;
- * - LONGITUDE = 2, an E/W designator and format as longitude;
- * - AZIMUTH = 3, format as azimuth;
- * - the specification of the trailing component in
- * {@link module:GeographicLib/DMS.Encode Encode}
- * - DEGREE;
- * - MINUTE;
- * - SECOND.
- */
- d) {
-
- var lookup, zerofill, internalDecode, numMatch,
- hemispheres_ = "SNWE",
- signs_ = "-+",
- digits_ = "0123456789",
- dmsindicators_ = "D'\":",
- // dmsindicatorsu_ = "\u00b0\u2032\u2033"; // Unicode variants
- dmsindicatorsu_ = "\u00b0'\"", // Use degree symbol
- components_ = ["degrees", "minutes", "seconds"];
- lookup = function(s, c) {
- return s.indexOf(c.toUpperCase());
- };
- zerofill = function(s, n) {
- return String("0000").substr(0, Math.max(0, Math.min(4, n-s.length))) +
- s;
- };
- d.NONE = 0;
- d.LATITUDE = 1;
- d.LONGITUDE = 2;
- d.AZIMUTH = 3;
- d.DEGREE = 0;
- d.MINUTE = 1;
- d.SECOND = 2;
-
- /**
- * @summary Decode a DMS string.
- * @description The interpretation of the string is given in the
- * documentation of the corresponding function, Decode(string&, flag&)
- * in the {@link
- * https://geographiclib.sourceforge.io/html/classGeographicLib_1_1DMS.html
- * C++ DMS class}
- * @param {string} dms the string.
- * @returns {object} r where r.val is the decoded value (degrees) and r.ind
- * is a hemisphere designator, one of NONE, LATITUDE, LONGITUDE.
- * @throws an error if the string is illegal.
- */
- d.Decode = function(dms) {
- var dmsa = dms, end,
- v = 0, i = 0, mi, pi, vals,
- ind1 = d.NONE, ind2, p, pa, pb;
- dmsa = dmsa
- .replace(/\u2212/g, '-') // U+2212 minus sign
- .replace(/\u00b0/g, 'd') // U+00b0 degree symbol
- .replace(/\u00ba/g, 'd') // U+00ba alt symbol
- .replace(/\u2070/g, 'd') // U+2070 sup zero
- .replace(/\u02da/g, 'd') // U+02da ring above
- .replace(/\u2032/g, '\'') // U+2032 prime
- .replace(/\u00b4/g, '\'') // U+00b4 acute accent
- .replace(/\u2019/g, '\'') // U+2019 right single quote
- .replace(/\u2033/g, '"') // U+2033 double prime
- .replace(/\u201d/g, '"') // U+201d right double quote
- .replace(/\u00a0/g, '') // U+00a0 non-breaking space
- .replace(/\u202f/g, '') // U+202f narrow space
- .replace(/\u2007/g, '') // U+2007 figure space
- .replace(/''/g, '"') // '' -> "
- .trim();
-
- end = dmsa.length;
- // p is pointer to the next piece that needs decoding
- for (p = 0; p < end; p = pb, ++i) {
- pa = p;
- // Skip over initial hemisphere letter (for i == 0)
- if (i === 0 && lookup(hemispheres_, dmsa.charAt(pa)) >= 0)
- ++pa;
- // Skip over initial sign (checking for it if i == 0)
- if (i > 0 || (pa < end && lookup(signs_, dmsa.charAt(pa)) >= 0))
- ++pa;
- // Find next sign
- mi = dmsa.substr(pa, end - pa).indexOf('-');
- pi = dmsa.substr(pa, end - pa).indexOf('+');
- if (mi < 0) mi = end; else mi += pa;
- if (pi < 0) pi = end; else pi += pa;
- pb = Math.min(mi, pi);
- vals = internalDecode(dmsa.substr(p, pb - p));
- v += vals.val; ind2 = vals.ind;
- if (ind1 === d.NONE)
- ind1 = ind2;
- else if (!(ind2 === d.NONE || ind1 === ind2))
- throw new Error("Incompatible hemisphere specifies in " +
- dmsa.substr(0, pb));
- }
- if (i === 0)
- throw new Error("Empty or incomplete DMS string " + dmsa);
- return {val: v, ind: ind1};
- };
-
- internalDecode = function(dmsa) {
- var vals = {}, errormsg = "",
- sign, beg, end, ind1, k,
- ipieces, fpieces, npiece,
- icurrent, fcurrent, ncurrent, p,
- pointseen,
- digcount, intcount,
- x;
- do { // Executed once (provides the ability to break)
- sign = 1;
- beg = 0; end = dmsa.length;
- ind1 = d.NONE;
- k = -1;
- if (end > beg && (k = lookup(hemispheres_, dmsa.charAt(beg))) >= 0) {
- ind1 = (k & 2) ? d.LONGITUDE : d.LATITUDE;
- sign = (k & 1) ? 1 : -1;
- ++beg;
- }
- if (end > beg &&
- (k = lookup(hemispheres_, dmsa.charAt(end-1))) >= 0) {
- if (k >= 0) {
- if (ind1 !== d.NONE) {
- if (dmsa.charAt(beg - 1).toUpperCase() ===
- dmsa.charAt(end - 1).toUpperCase())
- errormsg = "Repeated hemisphere indicators " +
- dmsa.charAt(beg - 1) + " in " +
- dmsa.substr(beg - 1, end - beg + 1);
- else
- errormsg = "Contradictory hemisphere indicators " +
- dmsa.charAt(beg - 1) + " and " + dmsa.charAt(end - 1) + " in " +
- dmsa.substr(beg - 1, end - beg + 1);
- break;
- }
- ind1 = (k & 2) ? d.LONGITUDE : d.LATITUDE;
- sign = (k & 1) ? 1 : -1;
- --end;
- }
- }
- if (end > beg && (k = lookup(signs_, dmsa.charAt(beg))) >= 0) {
- if (k >= 0) {
- sign *= k ? 1 : -1;
- ++beg;
- }
- }
- if (end === beg) {
- errormsg = "Empty or incomplete DMS string " + dmsa;
- break;
- }
- ipieces = [0, 0, 0];
- fpieces = [0, 0, 0];
- npiece = 0;
- icurrent = 0;
- fcurrent = 0;
- ncurrent = 0;
- p = beg;
- pointseen = false;
- digcount = 0;
- intcount = 0;
- while (p < end) {
- x = dmsa.charAt(p++);
- if ((k = lookup(digits_, x)) >= 0) {
- ++ncurrent;
- if (digcount > 0) {
- ++digcount; // Count of decimal digits
- } else {
- icurrent = 10 * icurrent + k;
- ++intcount;
- }
- } else if (x === '.') {
- if (pointseen) {
- errormsg = "Multiple decimal points in " +
- dmsa.substr(beg, end - beg);
- break;
- }
- pointseen = true;
- digcount = 1;
- } else if ((k = lookup(dmsindicators_, x)) >= 0) {
- if (k >= 3) {
- if (p === end) {
- errormsg = "Illegal for colon to appear at the end of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- k = npiece;
- }
- if (k === npiece - 1) {
- errormsg = "Repeated " + components_[k] +
- " component in " + dmsa.substr(beg, end - beg);
- break;
- } else if (k < npiece) {
- errormsg = components_[k] + " component follows " +
- components_[npiece - 1] + " component in " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (ncurrent === 0) {
- errormsg = "Missing numbers in " + components_[k] +
- " component of " + dmsa.substr(beg, end - beg);
- break;
- }
- if (digcount > 0) {
- fcurrent = parseFloat(dmsa.substr(p - intcount - digcount - 1,
- intcount + digcount));
- icurrent = 0;
- }
- ipieces[k] = icurrent;
- fpieces[k] = icurrent + fcurrent;
- if (p < end) {
- npiece = k + 1;
- icurrent = fcurrent = 0;
- ncurrent = digcount = intcount = 0;
- }
- } else if (lookup(signs_, x) >= 0) {
- errormsg = "Internal sign in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- } else {
- errormsg = "Illegal character " + x + " in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- }
- }
- if (errormsg.length)
- break;
- if (lookup(dmsindicators_, dmsa.charAt(p - 1)) < 0) {
- if (npiece >= 3) {
- errormsg = "Extra text following seconds in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (ncurrent === 0) {
- errormsg = "Missing numbers in trailing component of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (digcount > 0) {
- fcurrent = parseFloat(dmsa.substr(p - intcount - digcount,
- intcount + digcount));
- icurrent = 0;
- }
- ipieces[npiece] = icurrent;
- fpieces[npiece] = icurrent + fcurrent;
- }
- if (pointseen && digcount === 0) {
- errormsg = "Decimal point in non-terminal component of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- // Note that we accept 59.999999... even though it rounds to 60.
- if (ipieces[1] >= 60 || fpieces[1] > 60) {
- errormsg = "Minutes " + fpieces[1] + " not in range [0,60)";
- break;
- }
- if (ipieces[2] >= 60 || fpieces[2] > 60) {
- errormsg = "Seconds " + fpieces[2] + " not in range [0,60)";
- break;
- }
- vals.ind = ind1;
- // Assume check on range of result is made by calling routine (which
- // might be able to offer a better diagnostic).
- vals.val = sign *
- ( fpieces[2] ? (60*(60*fpieces[0] + fpieces[1]) + fpieces[2]) / 3600 :
- ( fpieces[1] ? (60*fpieces[0] + fpieces[1]) / 60 : fpieces[0] ) );
- return vals;
- } while (false);
- vals.val = numMatch(dmsa);
- if (vals.val === 0)
- throw new Error(errormsg);
- else
- vals.ind = d.NONE;
- return vals;
- };
-
- numMatch = function(s) {
- var t, sign, p0, p1;
- if (s.length < 3)
- return 0;
- t = s.toUpperCase().replace(/0+$/, "");
- sign = t.charAt(0) === '-' ? -1 : 1;
- p0 = t.charAt(0) === '-' || t.charAt(0) === '+' ? 1 : 0;
- p1 = t.length - 1;
- if (p1 + 1 < p0 + 3)
- return 0;
- // Strip off sign and trailing 0s
- t = t.substr(p0, p1 + 1 - p0); // Length at least 3
- if (t === "NAN" || t === "1.#QNAN" || t === "1.#SNAN" || t === "1.#IND" ||
- t === "1.#R")
- return Number.NaN;
- else if (t === "INF" || t === "1.#INF")
- return sign * Number.POSITIVE_INFINITY;
- return 0;
- };
-
- /**
- * @summary Decode two DMS strings interpreting them as a latitude/longitude
- * pair.
- * @param {string} stra the first string.
- * @param {string} strb the first string.
- * @param {bool} [longfirst = false] if true assume then longitude is given
- * first (in the absence of any hemisphere indicators).
- * @returns {object} r where r.lat is the decoded latitude and r.lon is the
- * decoded longitude (both in degrees).
- * @throws an error if the strings are illegal.
- */
- d.DecodeLatLon = function(stra, strb, longfirst) {
- var vals = {},
- valsa = d.Decode(stra),
- valsb = d.Decode(strb),
- a = valsa.val, ia = valsa.ind,
- b = valsb.val, ib = valsb.ind,
- lat, lon;
- if (!longfirst) longfirst = false;
- if (ia === d.NONE && ib === d.NONE) {
- // Default to lat, long unless longfirst
- ia = longfirst ? d.LONGITUDE : d.LATITUDE;
- ib = longfirst ? d.LATITUDE : d.LONGITUDE;
- } else if (ia === d.NONE)
- ia = d.LATITUDE + d.LONGITUDE - ib;
- else if (ib === d.NONE)
- ib = d.LATITUDE + d.LONGITUDE - ia;
- if (ia === ib)
- throw new Error("Both " + stra + " and " + strb + " interpreted as " +
- (ia === d.LATITUDE ? "latitudes" : "longitudes"));
- lat = ia === d.LATITUDE ? a : b;
- lon = ia === d.LATITUDE ? b : a;
- if (Math.abs(lat) > 90)
- throw new Error("Latitude " + lat + " not in [-90,90]");
- vals.lat = lat;
- vals.lon = lon;
- return vals;
- };
-
- /**
- * @summary Decode a DMS string interpreting it as an arc length.
- * @param {string} angstr the string (this must not include a hemisphere
- * indicator).
- * @returns {number} the arc length (degrees).
- * @throws an error if the string is illegal.
- */
- d.DecodeAngle = function(angstr) {
- var vals = d.Decode(angstr),
- ang = vals.val, ind = vals.ind;
- if (ind !== d.NONE)
- throw new Error("Arc angle " + angstr +
- " includes a hemisphere N/E/W/S");
- return ang;
- };
-
- /**
- * @summary Decode a DMS string interpreting it as an azimuth.
- * @param {string} azistr the string (this may include an E/W hemisphere
- * indicator).
- * @returns {number} the azimuth (degrees).
- * @throws an error if the string is illegal.
- */
- d.DecodeAzimuth = function(azistr) {
- var vals = d.Decode(azistr),
- azi = vals.val, ind = vals.ind;
- if (ind === d.LATITUDE)
- throw new Error("Azimuth " + azistr + " has a latitude hemisphere N/S");
- return azi;
- };
-
- /**
- * @summary Convert angle (in degrees) into a DMS string (using °, ',
- * and ").
- * @param {number} angle input angle (degrees).
- * @param {number} trailing one of DEGREE, MINUTE, or SECOND to indicate
- * the trailing component of the string (this component is given as a
- * decimal number if necessary).
- * @param {number} prec the number of digits after the decimal point for
- * the trailing component.
- * @param {number} [ind = NONE] a formatting indicator, one of NONE,
- * LATITUDE, LONGITUDE, AZIMUTH.
- * @returns {string} the resulting string formatted as follows:
- * * NONE, signed result no leading zeros on degrees except in the units
- * place, e.g., -8°03'.
- * * LATITUDE, trailing N or S hemisphere designator, no sign, pad
- * degrees to 2 digits, e.g., 08°03'S.
- * * LONGITUDE, trailing E or W hemisphere designator, no sign, pad
- * degrees to 3 digits, e.g., 008°03'W.
- * * AZIMUTH, convert to the range [0, 360°), no sign, pad degrees to
- * 3 digits, e.g., 351°57'.
- */
- d.Encode = function(angle, trailing, prec, ind) {
- // Assume check on range of input angle has been made by calling
- // routine (which might be able to offer a better diagnostic).
- var scale = 1, i, sign,
- idegree, fdegree, f, pieces, ip, fp, s;
- if (!ind) ind = d.NONE;
- if (!isFinite(angle))
- return angle < 0 ? String("-inf") :
- (angle > 0 ? String("inf") : String("nan"));
-
- // 15 - 2 * trailing = ceiling(log10(2^53/90/60^trailing)).
- // This suffices to give full real precision for numbers in [-90,90]
- prec = Math.min(15 - 2 * trailing, prec);
- for (i = 0; i < trailing; ++i)
- scale *= 60;
- for (i = 0; i < prec; ++i)
- scale *= 10;
- if (ind === d.AZIMUTH)
- angle -= Math.floor(angle/360) * 360;
- sign = angle < 0 ? -1 : 1;
- angle *= sign;
-
- // Break off integer part to preserve precision in manipulation of
- // fractional part.
- idegree = Math.floor(angle);
- fdegree = (angle - idegree) * scale + 0.5;
- f = Math.floor(fdegree);
- // Implement the "round ties to even" rule
- fdegree = (f === fdegree && (f & 1) === 1) ? f - 1 : f;
- fdegree /= scale;
-
- fdegree = Math.floor((angle - idegree) * scale + 0.5) / scale;
- if (fdegree >= 1) {
- idegree += 1;
- fdegree -= 1;
- }
- pieces = [fdegree, 0, 0];
- for (i = 1; i <= trailing; ++i) {
- ip = Math.floor(pieces[i - 1]);
- fp = pieces[i - 1] - ip;
- pieces[i] = fp * 60;
- pieces[i - 1] = ip;
- }
- pieces[0] += idegree;
- s = "";
- if (ind === d.NONE && sign < 0)
- s += '-';
- switch (trailing) {
- case d.DEGREE:
- s += zerofill(pieces[0].toFixed(prec),
- ind === d.NONE ? 0 :
- 1 + Math.min(ind, 2) + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(0);
- break;
- default:
- s += zerofill(pieces[0].toFixed(0),
- ind === d.NONE ? 0 : 1 + Math.min(ind, 2)) +
- dmsindicatorsu_.charAt(0);
- switch (trailing) {
- case d.MINUTE:
- s += zerofill(pieces[1].toFixed(prec), 2 + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(1);
- break;
- case d.SECOND:
- s += zerofill(pieces[1].toFixed(0), 2) + dmsindicatorsu_.charAt(1);
- s += zerofill(pieces[2].toFixed(prec), 2 + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(2);
- break;
- default:
- break;
- }
- }
- if (ind !== d.NONE && ind !== d.AZIMUTH)
- s += hemispheres_.charAt((ind === d.LATITUDE ? 0 : 2) +
- (sign < 0 ? 0 : 1));
- return s;
- };
-})(GeographicLib.DMS);
-
-cb(GeographicLib);
-
-})(function(geo) {
- if (typeof module === 'object' && module.exports) {
- /******** support loading with node's require ********/
- module.exports = geo;
- } else if (typeof define === 'function' && define.amd) {
- /******** support loading with AMD ********/
- define('geographiclib', [], function() { return geo; });
- } else {
- /******** otherwise just pollute our global namespace ********/
- window.GeographicLib = geo;
- }
-});
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/geographiclib.min.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/geographiclib.min.js
deleted file mode 100644
index 1e0202b84ef5eb38e7c05efd5dfd795deb9ec4a8..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/geographiclib.min.js
+++ /dev/null
@@ -1,1731 +0,0 @@
-/*
- * Geodesic routines from GeographicLib translated to JavaScript. See
- * https://geographiclib.sourceforge.io/html/js/
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013),
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * This file is the concatenation and compression of the JavaScript files in
- * doc/scripts/GeographicLib in the source tree for GeographicLib.
- *
- * Copyright (c) Charles Karney (2011-2015) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- *
- * Version: 1.50
- * File inventory:
- * Math.js Geodesic.js GeodesicLine.js PolygonArea.js DMS.js
- */
-(function(cb){
-// Math.js
-"use strict";
-var GeographicLib={};
-GeographicLib.Constants={};
-GeographicLib.Math={};
-GeographicLib.Accumulator={};
-(function(
-c){
-c.WGS84={a:6378137,f:1/298.257223563};
-c.version={major:1,minor:50,patch:0};
-c.version_string="1.50";
-})(GeographicLib.Constants);
-(function(
-m){
-m.digits=53;
-m.epsilon=Math.pow(0.5,m.digits-1);
-m.degree=Math.PI/180;
-m.sq=function(x){return x*x;};
-m.hypot=Math.hypot||function(x,y){
-var a,b;
-x=Math.abs(x);
-y=Math.abs(y);
-a=Math.max(x,y);b=Math.min(x,y)/(a?a:1);
-return a*Math.sqrt(1+b*b);
-};
-m.cbrt=Math.cbrt||function(x){
-var y=Math.pow(Math.abs(x),1/3);
-return x>0?y:(x<0?-y:x);
-};
-m.log1p=Math.log1p||function(x){
-var y=1+x,
-z=y-1;
-return z===0?x:x*Math.log(y)/z;
-};
-m.atanh=Math.atanh||function(x){
-var y=Math.abs(x);
-y=m.log1p(2*y/(1-y))/2;
-return x>0?y:(x<0?-y:x);
-};
-m.copysign=function(x,y){
-return Math.abs(x)*(y<0||(y===0&&1/y<0)?-1:1);
-};
-m.sum=function(u,v){
-var s=u+v,
-up=s-v,
-vpp=s-up,
-t;
-up-=u;
-vpp-=v;
-t=-(up+vpp);
-return{s:s,t:t};
-};
-m.polyval=function(N,p,s,x){
-var y=N<0?0:p[s++];
-while(--N>=0)y=y*x+p[s++];
-return y;
-};
-m.AngRound=function(x){
-if(x===0)return x;
-var z=1/16,
-y=Math.abs(x);
-y=y90?Number.NaN:x;
-};
-m.AngDiff=function(x,y){
-var r=m.sum(m.AngNormalize(-x),m.AngNormalize(y)),
-d=m.AngNormalize(r.s),
-t=r.t;
-return m.sum(d===180&&t>0?-180:d,t);
-};
-m.sincosd=function(x){
-var r,q,s,c,sinx,cosx;
-r=x%360;
-q=0+Math.round(r/90);
-r-=90*q;
-r*=this.degree;
-s=Math.sin(r);c=Math.cos(r);
-switch(q&3){
-case 0:sinx=s;cosx=c;break;
-case 1:sinx=c;cosx=-s;break;
-case 2:sinx=-s;cosx=-c;break;
-default:sinx=-c;cosx=s;break;
-}
-if(x!==0){sinx+=0;cosx+=0;}
-return{s:sinx,c:cosx};
-};
-m.atan2d=function(y,x){
-var q=0,t,ang;
-if(Math.abs(y)>Math.abs(x)){t=x;x=y;y=t;q=2;}
-if(x<0){x=-x;++q;}
-ang=Math.atan2(y,x)/this.degree;
-switch(q){
-case 1:ang=(y>=0?180:-180)-ang;break;
-case 2:ang=90-ang;break;
-case 3:ang=-90+ang;break;
-}
-return ang;
-};
-})(GeographicLib.Math);
-(function(
-a,m){
-a.Accumulator=function(y){
-this.Set(y);
-};
-a.Accumulator.prototype.Set=function(y){
-if(!y)y=0;
-if(y.constructor===a.Accumulator){
-this._s=y._s;
-this._t=y._t;
-}else{
-this._s=y;
-this._t=0;
-}
-};
-a.Accumulator.prototype.Add=function(y){
-var u=m.sum(y,this._t),
-v=m.sum(u.s,this._s);
-u=u.t;
-this._s=v.s;
-this._t=v.t;
-if(this._s===0)
-this._s=u;
-else
-this._t+=u;
-};
-a.Accumulator.prototype.Sum=function(y){
-var b;
-if(!y)
-return this._s;
-else{
-b=new a.Accumulator(this);
-b.Add(y);
-return b._s;
-}
-};
-a.Accumulator.prototype.Negate=function(){
-this._s*=-1;
-this._t*=-1;
-};
-a.Accumulator.prototype.Remainder=function(y){
-this._s=m.remainder(this._s,y);
-this.Add(0);
-};
-})(GeographicLib.Accumulator,GeographicLib.Math);
-// Geodesic.js
-GeographicLib.Geodesic={};
-GeographicLib.GeodesicLine={};
-GeographicLib.PolygonArea={};
-(function(
-g,l,p,m,c){
-var GEOGRAPHICLIB_GEODESIC_ORDER=6,
-nA1_=GEOGRAPHICLIB_GEODESIC_ORDER,
-nA2_=GEOGRAPHICLIB_GEODESIC_ORDER,
-nA3_=GEOGRAPHICLIB_GEODESIC_ORDER,
-nA3x_=nA3_,
-nC3x_,nC4x_,
-maxit1_=20,
-maxit2_=maxit1_+m.digits+10,
-tol0_=m.epsilon,
-tol1_=200*tol0_,
-tol2_=Math.sqrt(tol0_),
-tolb_=tol0_*tol1_,
-xthresh_=1000*tol2_,
-CAP_NONE=0,
-CAP_ALL=0x1F,
-CAP_MASK=CAP_ALL,
-OUT_ALL=0x7F80,
-astroid,
-A1m1f_coeff,C1f_coeff,C1pf_coeff,
-A2m1f_coeff,C2f_coeff,
-A3_coeff,C3_coeff,C4_coeff;
-g.tiny_=Math.sqrt(Number.MIN_VALUE);
-g.nC1_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC1p_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC2_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC3_=GEOGRAPHICLIB_GEODESIC_ORDER;
-g.nC4_=GEOGRAPHICLIB_GEODESIC_ORDER;
-nC3x_=(g.nC3_*(g.nC3_-1))/2;
-nC4x_=(g.nC4_*(g.nC4_+1))/2;
-g.CAP_C1=1<<0;
-g.CAP_C1p=1<<1;
-g.CAP_C2=1<<2;
-g.CAP_C3=1<<3;
-g.CAP_C4=1<<4;
-g.NONE=0;
-g.ARC=1<<6;
-g.LATITUDE=1<<7|CAP_NONE;
-g.LONGITUDE=1<<8|g.CAP_C3;
-g.AZIMUTH=1<<9|CAP_NONE;
-g.DISTANCE=1<<10|g.CAP_C1;
-g.STANDARD=g.LATITUDE|g.LONGITUDE|g.AZIMUTH|g.DISTANCE;
-g.DISTANCE_IN=1<<11|g.CAP_C1|g.CAP_C1p;
-g.REDUCEDLENGTH=1<<12|g.CAP_C1|g.CAP_C2;
-g.GEODESICSCALE=1<<13|g.CAP_C1|g.CAP_C2;
-g.AREA=1<<14|g.CAP_C4;
-g.ALL=OUT_ALL|CAP_ALL;
-g.LONG_UNROLL=1<<15;
-g.OUT_MASK=OUT_ALL|g.LONG_UNROLL;
-g.SinCosSeries=function(sinp,sinx,cosx,c){
-var k=c.length,
-n=k-(sinp?1:0),
-ar=2*(cosx-sinx)*(cosx+sinx),
-y0=n&1?c[--k]:0,y1=0;
-n=Math.floor(n/2);
-while(n--){
-y1=ar*y0-y1+c[--k];
-y0=ar*y1-y0+c[--k];
-}
-return(sinp?2*sinx*cosx*y0:
-cosx*(y0-y1));
-};
-astroid=function(x,y){
-var k,
-p=m.sq(x),
-q=m.sq(y),
-r=(p+q-1)/6,
-S,r2,r3,disc,u,T3,T,ang,v,uv,w;
-if(!(q===0&&r<=0)){
-S=p*q/4;
-r2=m.sq(r);
-r3=r*r2;
-disc=S*(S+2*r3);
-u=r;
-if(disc>=0){
-T3=S+r3;
-T3+=T3<0?-Math.sqrt(disc):Math.sqrt(disc);
-T=m.cbrt(T3);
-u+=T+(T!==0?r2/T:0);
-}else{
-ang=Math.atan2(Math.sqrt(-disc),-(S+r3));
-u+=2*r*Math.cos(ang/3);
-}
-v=Math.sqrt(m.sq(u)+q);
-uv=u<0?q/(v-u):u+v;
-w=(uv-q)/(2*v);
-k=uv/(Math.sqrt(uv+m.sq(w))+w);
-}else{
-k=0;
-}
-return k;
-};
-A1m1f_coeff=[
-+1,4,64,0,256
-];
-g.A1m1f=function(eps){
-var p=Math.floor(nA1_/2),
-t=m.polyval(p,A1m1f_coeff,0,m.sq(eps))/A1m1f_coeff[p+1];
-return(t+eps)/(1-eps);
-};
-C1f_coeff=[
--1,6,-16,32,
--9,64,-128,2048,
-+9,-16,768,
-+3,-5,512,
--7,1280,
--7,2048
-];
-g.C1f=function(eps,c){
-var eps2=m.sq(eps),
-d=eps,
-o=0,
-l,p;
-for(l=1;l<=g.nC1_;++l){
-p=Math.floor((g.nC1_-l)/2);
-c[l]=d*m.polyval(p,C1f_coeff,o,eps2)/C1f_coeff[o+p+1];
-o+=p+2;
-d*=eps;
-}
-};
-C1pf_coeff=[
-+205,-432,768,1536,
-+4005,-4736,3840,12288,
--225,116,384,
--7173,2695,7680,
-+3467,7680,
-+38081,61440
-];
-g.C1pf=function(eps,c){
-var eps2=m.sq(eps),
-d=eps,
-o=0,
-l,p;
-for(l=1;l<=g.nC1p_;++l){
-p=Math.floor((g.nC1p_-l)/2);
-c[l]=d*m.polyval(p,C1pf_coeff,o,eps2)/C1pf_coeff[o+p+1];
-o+=p+2;
-d*=eps;
-}
-};
-A2m1f_coeff=[
--11,-28,-192,0,256
-];
-g.A2m1f=function(eps){
-var p=Math.floor(nA2_/2),
-t=m.polyval(p,A2m1f_coeff,0,m.sq(eps))/A2m1f_coeff[p+1];
-return(t-eps)/(1+eps);
-};
-C2f_coeff=[
-+1,2,16,32,
-+35,64,384,2048,
-+15,80,768,
-+7,35,512,
-+63,1280,
-+77,2048
-];
-g.C2f=function(eps,c){
-var eps2=m.sq(eps),
-d=eps,
-o=0,
-l,p;
-for(l=1;l<=g.nC2_;++l){
-p=Math.floor((g.nC2_-l)/2);
-c[l]=d*m.polyval(p,C2f_coeff,o,eps2)/C2f_coeff[o+p+1];
-o+=p+2;
-d*=eps;
-}
-};
-g.Geodesic=function(a,f){
-this.a=a;
-this.f=f;
-this._f1=1-this.f;
-this._e2=this.f*(2-this.f);
-this._ep2=this._e2/m.sq(this._f1);
-this._n=this.f/(2-this.f);
-this._b=this.a*this._f1;
-this._c2=(m.sq(this.a)+m.sq(this._b)*
-(this._e2===0?1:
-(this._e2>0?m.atanh(Math.sqrt(this._e2)):
-Math.atan(Math.sqrt(-this._e2)))/
-Math.sqrt(Math.abs(this._e2))))/2;
-this._etol2=0.1*tol2_/
-Math.sqrt(Math.max(0.001,Math.abs(this.f))*
-Math.min(1.0,1-this.f/2)/2);
-if(!(isFinite(this.a)&&this.a>0))
-throw new Error("Equatorial radius is not positive");
-if(!(isFinite(this._b)&&this._b>0))
-throw new Error("Polar semi-axis is not positive");
-this._A3x=new Array(nA3x_);
-this._C3x=new Array(nC3x_);
-this._C4x=new Array(nC4x_);
-this.A3coeff();
-this.C3coeff();
-this.C4coeff();
-};
-A3_coeff=[
--3,128,
--2,-3,64,
--1,-3,-1,16,
-+3,-1,-2,8,
-+1,-1,2,
-+1,1
-];
-g.Geodesic.prototype.A3coeff=function(){
-var o=0,k=0,
-j,p;
-for(j=nA3_-1;j>=0;--j){
-p=Math.min(nA3_-j-1,j);
-this._A3x[k++]=m.polyval(p,A3_coeff,o,this._n)/
-A3_coeff[o+p+1];
-o+=p+2;
-}
-};
-C3_coeff=[
-+3,128,
-+2,5,128,
--1,3,3,64,
--1,0,1,8,
--1,1,4,
-+5,256,
-+1,3,128,
--3,-2,3,64,
-+1,-3,2,32,
-+7,512,
--10,9,384,
-+5,-9,5,192,
-+7,512,
--14,7,512,
-+21,2560
-];
-g.Geodesic.prototype.C3coeff=function(){
-var o=0,k=0,
-l,j,p;
-for(l=1;l=l;--j){
-p=Math.min(g.nC3_-j-1,j);
-this._C3x[k++]=m.polyval(p,C3_coeff,o,this._n)/
-C3_coeff[o+p+1];
-o+=p+2;
-}
-}
-};
-C4_coeff=[
-+97,15015,
-+1088,156,45045,
--224,-4784,1573,45045,
--10656,14144,-4576,-858,45045,
-+64,624,-4576,6864,-3003,15015,
-+100,208,572,3432,-12012,30030,45045,
-+1,9009,
--2944,468,135135,
-+5792,1040,-1287,135135,
-+5952,-11648,9152,-2574,135135,
--64,-624,4576,-6864,3003,135135,
-+8,10725,
-+1856,-936,225225,
--8448,4992,-1144,225225,
--1440,4160,-4576,1716,225225,
--136,63063,
-+1024,-208,105105,
-+3584,-3328,1144,315315,
--128,135135,
--2560,832,405405,
-+128,99099
-];
-g.Geodesic.prototype.C4coeff=function(){
-var o=0,k=0,
-l,j,p;
-for(l=0;l=l;--j){
-p=g.nC4_-j-1;
-this._C4x[k++]=m.polyval(p,C4_coeff,o,this._n)/
-C4_coeff[o+p+1];
-o+=p+2;
-}
-}
-};
-g.Geodesic.prototype.A3f=function(eps){
-return m.polyval(nA3x_-1,this._A3x,0,eps);
-};
-g.Geodesic.prototype.C3f=function(eps,c){
-var mult=1,
-o=0,
-l,p;
-for(l=1;l=0&&sbet12<0.5&&cbet2*lam12<0.5;
-if(shortline){
-sbetm2=m.sq(sbet1+sbet2);
-sbetm2/=sbetm2+m.sq(cbet1+cbet2);
-vals.dnm=Math.sqrt(1+this._ep2*sbetm2);
-omg12=lam12/(this._f1*vals.dnm);
-somg12=Math.sin(omg12);comg12=Math.cos(omg12);
-}else{
-somg12=slam12;comg12=clam12;
-}
-vals.salp1=cbet2*somg12;
-vals.calp1=comg12>=0?
-sbet12+cbet2*sbet1*m.sq(somg12)/(1+comg12):
-sbet12a-cbet2*sbet1*m.sq(somg12)/(1-comg12);
-ssig12=m.hypot(vals.salp1,vals.calp1);
-csig12=sbet1*sbet2+cbet1*cbet2*comg12;
-if(shortline&&ssig12=0?m.sq(somg12)/(1+comg12):1-comg12);
-t=m.hypot(vals.salp2,vals.calp2);vals.salp2/=t;vals.calp2/=t;
-vals.sig12=Math.atan2(ssig12,csig12);
-}else if(Math.abs(this._n)>0.1||
-csig12>=0||
-ssig12>=6*Math.abs(this._n)*Math.PI*m.sq(cbet1)){
-}else{
-lam12x=Math.atan2(-slam12,-clam12);
-if(this.f>=0){
-k2=m.sq(sbet1)*this._ep2;
-eps=k2/(2*(1+Math.sqrt(1+k2))+k2);
-lamscale=this.f*cbet1*this.A3f(eps)*Math.PI;
-betscale=lamscale*cbet1;
-x=lam12x/lamscale;
-y=sbet12a/betscale;
-}else{
-cbet12a=cbet2*cbet1-sbet2*sbet1;
-bet12a=Math.atan2(sbet12a,cbet12a);
-nvals=this.Lengths(this._n,Math.PI+bet12a,
-sbet1,-cbet1,dn1,sbet2,cbet2,dn2,
-cbet1,cbet2,g.REDUCEDLENGTH,C1a,C2a);
-m12b=nvals.m12b;m0=nvals.m0;
-x=-1+m12b/(cbet1*cbet2*m0*Math.PI);
-betscale=x<-0.01?sbet12a/x:
--this.f*m.sq(cbet1)*Math.PI;
-lamscale=betscale/cbet1;
-y=lam12/lamscale;
-}
-if(y>-tol1_&&x>-1-xthresh_){
-if(this.f>=0){
-vals.salp1=Math.min(1,-x);
-vals.calp1=-Math.sqrt(1-m.sq(vals.salp1));
-}else{
-vals.calp1=Math.max(x>-tol1_?0:-1,x);
-vals.salp1=Math.sqrt(1-m.sq(vals.calp1));
-}
-}else{
-k=astroid(x,y);
-omg12a=lamscale*(this.f>=0?-x*k/(1+k):-y*(1+k)/k);
-somg12=Math.sin(omg12a);comg12=-Math.cos(omg12a);
-vals.salp1=cbet2*somg12;
-vals.calp1=sbet12a-
-cbet2*sbet1*m.sq(somg12)/(1-comg12);
-}
-}
-if(!(vals.salp1<=0.0)){
-t=m.hypot(vals.salp1,vals.calp1);vals.salp1/=t;vals.calp1/=t;
-}else{
-vals.salp1=1;vals.calp1=0;
-}
-return vals;
-};
-g.Geodesic.prototype.Lambda12=function(sbet1,cbet1,dn1,
-sbet2,cbet2,dn2,
-salp1,calp1,slam120,clam120,
-diffp,C1a,C2a,C3a){
-var vals={},
-t,salp0,calp0,
-somg1,comg1,somg2,comg2,somg12,comg12,B312,eta,k2,nvals;
-if(sbet1===0&&calp1===0)
-calp1=-g.tiny_;
-salp0=salp1*cbet1;
-calp0=m.hypot(calp1,salp1*sbet1);
-vals.ssig1=sbet1;somg1=salp0*sbet1;
-vals.csig1=comg1=calp1*cbet1;
-t=m.hypot(vals.ssig1,vals.csig1);vals.ssig1/=t;vals.csig1/=t;
-vals.salp2=cbet2!==cbet1?salp0/cbet2:salp1;
-vals.calp2=cbet2!==cbet1||Math.abs(sbet2)!==-sbet1?
-Math.sqrt(m.sq(calp1*cbet1)+(cbet1<-sbet1?
-(cbet2-cbet1)*(cbet1+cbet2):
-(sbet1-sbet2)*(sbet1+sbet2)))/
-cbet2:Math.abs(calp1);
-vals.ssig2=sbet2;somg2=salp0*sbet2;
-vals.csig2=comg2=vals.calp2*cbet2;
-t=m.hypot(vals.ssig2,vals.csig2);vals.ssig2/=t;vals.csig2/=t;
-vals.sig12=Math.atan2(Math.max(0,vals.csig1*vals.ssig2-
-vals.ssig1*vals.csig2),
-vals.csig1*vals.csig2+
-vals.ssig1*vals.ssig2);
-somg12=Math.max(0,comg1*somg2-somg1*comg2);
-comg12=comg1*comg2+somg1*somg2;
-eta=Math.atan2(somg12*clam120-comg12*slam120,
-comg12*clam120+somg12*slam120);
-k2=m.sq(calp0)*this._ep2;
-vals.eps=k2/(2*(1+Math.sqrt(1+k2))+k2);
-this.C3f(vals.eps,C3a);
-B312=(g.SinCosSeries(true,vals.ssig2,vals.csig2,C3a)-
-g.SinCosSeries(true,vals.ssig1,vals.csig1,C3a));
-vals.domg12=-this.f*this.A3f(vals.eps)*salp0*(vals.sig12+B312);
-vals.lam12=eta+vals.domg12;
-if(diffp){
-if(vals.calp2===0)
-vals.dlam12=-2*this._f1*dn1/sbet1;
-else{
-nvals=this.Lengths(vals.eps,vals.sig12,
-vals.ssig1,vals.csig1,dn1,
-vals.ssig2,vals.csig2,dn2,
-cbet1,cbet2,g.REDUCEDLENGTH,C1a,C2a);
-vals.dlam12=nvals.m12b;
-vals.dlam12*=this._f1/(vals.calp2*cbet2);
-}
-}
-return vals;
-};
-g.Geodesic.prototype.Inverse=function(lat1,lon1,lat2,lon2,outmask){
-var r,vals;
-if(!outmask)outmask=g.STANDARD;
-if(outmask===g.LONG_UNROLL)outmask|=g.STANDARD;
-outmask&=g.OUT_MASK;
-r=this.InverseInt(lat1,lon1,lat2,lon2,outmask);
-vals=r.vals;
-if(outmask&g.AZIMUTH){
-vals.azi1=m.atan2d(r.salp1,r.calp1);
-vals.azi2=m.atan2d(r.salp2,r.calp2);
-}
-return vals;
-};
-g.Geodesic.prototype.InverseInt=function(lat1,lon1,lat2,lon2,outmask){
-var vals={},
-lon12,lon12s,lonsign,t,swapp,latsign,
-sbet1,cbet1,sbet2,cbet2,s12x,m12x,
-dn1,dn2,lam12,slam12,clam12,
-sig12,calp1,salp1,calp2,salp2,C1a,C2a,C3a,meridian,nvals,
-ssig1,csig1,ssig2,csig2,eps,omg12,dnm,
-numit,salp1a,calp1a,salp1b,calp1b,
-tripn,tripb,v,dv,dalp1,sdalp1,cdalp1,nsalp1,
-lengthmask,salp0,calp0,alp12,k2,A4,C4a,B41,B42,
-somg12,comg12,domg12,dbet1,dbet2,salp12,calp12,sdomg12,cdomg12;
-vals.lat1=lat1=m.LatFix(lat1);vals.lat2=lat2=m.LatFix(lat2);
-lat1=m.AngRound(lat1);
-lat2=m.AngRound(lat2);
-lon12=m.AngDiff(lon1,lon2);lon12s=lon12.t;lon12=lon12.s;
-if(outmask&g.LONG_UNROLL){
-vals.lon1=lon1;vals.lon2=(lon1+lon12)+lon12s;
-}else{
-vals.lon1=m.AngNormalize(lon1);vals.lon2=m.AngNormalize(lon2);
-}
-lonsign=lon12>=0?1:-1;
-lon12=lonsign*m.AngRound(lon12);
-lon12s=m.AngRound((180-lon12)-lonsign*lon12s);
-lam12=lon12*m.degree;
-t=m.sincosd(lon12>90?lon12s:lon12);
-slam12=t.s;clam12=(lon12>90?-1:1)*t.c;
-swapp=Math.abs(lat1)=0){
-if(sig12<3*g.tiny_)
-sig12=m12x=s12x=0;
-m12x*=this._b;
-s12x*=this._b;
-vals.a12=sig12/m.degree;
-}else
-meridian=false;
-}
-somg12=2;
-if(!meridian&&
-sbet1===0&&
-(this.f<=0||lon12s>=this.f*180)){
-calp1=calp2=0;salp1=salp2=1;
-s12x=this.a*lam12;
-sig12=omg12=lam12/this._f1;
-m12x=this._b*Math.sin(sig12);
-if(outmask&g.GEODESICSCALE)
-vals.M12=vals.M21=Math.cos(sig12);
-vals.a12=lon12/this._f1;
-}else if(!meridian){
-nvals=this.InverseStart(sbet1,cbet1,dn1,sbet2,cbet2,dn2,
-lam12,slam12,clam12,C1a,C2a);
-sig12=nvals.sig12;
-salp1=nvals.salp1;
-calp1=nvals.calp1;
-if(sig12>=0){
-salp2=nvals.salp2;
-calp2=nvals.calp2;
-dnm=nvals.dnm;
-s12x=sig12*this._b*dnm;
-m12x=m.sq(dnm)*this._b*Math.sin(sig12/dnm);
-if(outmask&g.GEODESICSCALE)
-vals.M12=vals.M21=Math.cos(sig12/dnm);
-vals.a12=sig12/m.degree;
-omg12=lam12/(this._f1*dnm);
-}else{
-numit=0;
-salp1a=g.tiny_;calp1a=1;salp1b=g.tiny_;calp1b=-1;
-for(tripn=false,tripb=false;numit=(tripn?8:1)*tol0_))
-break;
-if(v>0&&(numitcalp1b/salp1b)){
-salp1b=salp1;calp1b=calp1;
-}else if(v<0&&
-(numit0){
-dalp1=-v/dv;
-sdalp1=Math.sin(dalp1);cdalp1=Math.cos(dalp1);
-nsalp1=salp1*cdalp1+calp1*sdalp1;
-if(nsalp1>0&&Math.abs(dalp1)1){
-somg12=Math.sin(omg12);comg12=Math.cos(omg12);
-}
-if(!meridian&&
-comg12>-0.7071&&
-sbet2-sbet1<1.75){
-domg12=1+comg12;dbet1=1+cbet1;dbet2=1+cbet2;
-alp12=2*Math.atan2(somg12*(sbet1*dbet2+sbet2*dbet1),
-domg12*(sbet1*sbet2+dbet1*dbet2));
-}else{
-salp12=salp2*calp1-calp2*salp1;
-calp12=calp2*calp1+salp2*salp1;
-if(salp12===0&&calp12<0){
-salp12=g.tiny_*calp1;
-calp12=-1;
-}
-alp12=Math.atan2(salp12,calp12);
-}
-vals.S12+=this._c2*alp12;
-vals.S12*=swapp*lonsign*latsign;
-vals.S12+=0;
-}
-if(swapp<0){
-t=salp1;
-salp1=salp2;
-salp2=t;
-t=calp1;
-calp1=calp2;
-calp2=t;
-if(outmask&g.GEODESICSCALE){
-t=vals.M12;
-vals.M12=vals.M21;
-vals.M21=t;
-}
-}
-salp1*=swapp*lonsign;calp1*=swapp*latsign;
-salp2*=swapp*lonsign;calp2*=swapp*latsign;
-return{vals:vals,
-salp1:salp1,calp1:calp1,
-salp2:salp2,calp2:calp2};
-};
-g.Geodesic.prototype.GenDirect=function(lat1,lon1,azi1,
-arcmode,s12_a12,outmask){
-var line;
-if(!outmask)outmask=g.STANDARD;
-else if(outmask===g.LONG_UNROLL)outmask|=g.STANDARD;
-if(!arcmode)outmask|=g.DISTANCE_IN;
-line=new l.GeodesicLine(this,lat1,lon1,azi1,outmask);
-return line.GenPosition(arcmode,s12_a12,outmask);
-};
-g.Geodesic.prototype.Direct=function(lat1,lon1,azi1,s12,outmask){
-return this.GenDirect(lat1,lon1,azi1,false,s12,outmask);
-};
-g.Geodesic.prototype.ArcDirect=function(lat1,lon1,azi1,a12,outmask){
-return this.GenDirect(lat1,lon1,azi1,true,a12,outmask);
-};
-g.Geodesic.prototype.Line=function(lat1,lon1,azi1,caps){
-return new l.GeodesicLine(this,lat1,lon1,azi1,caps);
-};
-g.Geodesic.prototype.DirectLine=function(lat1,lon1,azi1,s12,caps){
-return this.GenDirectLine(lat1,lon1,azi1,false,s12,caps);
-};
-g.Geodesic.prototype.ArcDirectLine=function(lat1,lon1,azi1,a12,caps){
-return this.GenDirectLine(lat1,lon1,azi1,true,a12,caps);
-};
-g.Geodesic.prototype.GenDirectLine=function(lat1,lon1,azi1,
-arcmode,s12_a12,caps){
-var t;
-if(!caps)caps=g.STANDARD|g.DISTANCE_IN;
-if(!arcmode)caps|=g.DISTANCE_IN;
-t=new l.GeodesicLine(this,lat1,lon1,azi1,caps);
-t.GenSetDistance(arcmode,s12_a12);
-return t;
-};
-g.Geodesic.prototype.InverseLine=function(lat1,lon1,lat2,lon2,caps){
-var r,t,azi1;
-if(!caps)caps=g.STANDARD|g.DISTANCE_IN;
-r=this.InverseInt(lat1,lon1,lat2,lon2,g.ARC);
-azi1=m.atan2d(r.salp1,r.calp1);
-if(caps&(g.OUT_MASK&g.DISTANCE_IN))caps|=g.DISTANCE;
-t=new l.GeodesicLine(this,lat1,lon1,azi1,caps,r.salp1,r.calp1);
-t.SetArc(r.vals.a12);
-return t;
-};
-g.Geodesic.prototype.Polygon=function(polyline){
-return new p.PolygonArea(this,polyline);
-};
-g.WGS84=new g.Geodesic(c.WGS84.a,c.WGS84.f);
-})(GeographicLib.Geodesic,GeographicLib.GeodesicLine,
-GeographicLib.PolygonArea,GeographicLib.Math,GeographicLib.Constants);
-// GeodesicLine.js
-(function(
-g,
-l,m){
-l.GeodesicLine=function(geod,lat1,lon1,azi1,caps,salp1,calp1){
-var t,cbet1,sbet1,eps,s,c;
-if(!caps)caps=g.STANDARD|g.DISTANCE_IN;
-this.a=geod.a;
-this.f=geod.f;
-this._b=geod._b;
-this._c2=geod._c2;
-this._f1=geod._f1;
-this.caps=caps|g.LATITUDE|g.AZIMUTH|g.LONG_UNROLL;
-this.lat1=m.LatFix(lat1);
-this.lon1=lon1;
-if(typeof salp1==='undefined'||typeof calp1==='undefined'){
-this.azi1=m.AngNormalize(azi1);
-t=m.sincosd(m.AngRound(this.azi1));this.salp1=t.s;this.calp1=t.c;
-}else{
-this.azi1=azi1;this.salp1=salp1;this.calp1=calp1;
-}
-t=m.sincosd(m.AngRound(this.lat1));sbet1=this._f1*t.s;cbet1=t.c;
-t=m.hypot(sbet1,cbet1);sbet1/=t;cbet1/=t;
-cbet1=Math.max(g.tiny_,cbet1);
-this._dn1=Math.sqrt(1+geod._ep2*m.sq(sbet1));
-this._salp0=this.salp1*cbet1;
-this._calp0=m.hypot(this.calp1,this.salp1*sbet1);
-this._ssig1=sbet1;this._somg1=this._salp0*sbet1;
-this._csig1=this._comg1=
-sbet1!==0||this.calp1!==0?cbet1*this.calp1:1;
-t=m.hypot(this._ssig1,this._csig1);
-this._ssig1/=t;this._csig1/=t;
-this._k2=m.sq(this._calp0)*geod._ep2;
-eps=this._k2/(2*(1+Math.sqrt(1+this._k2))+this._k2);
-if(this.caps&g.CAP_C1){
-this._A1m1=g.A1m1f(eps);
-this._C1a=new Array(g.nC1_+1);
-g.C1f(eps,this._C1a);
-this._B11=g.SinCosSeries(true,this._ssig1,this._csig1,this._C1a);
-s=Math.sin(this._B11);c=Math.cos(this._B11);
-this._stau1=this._ssig1*c+this._csig1*s;
-this._ctau1=this._csig1*c-this._ssig1*s;
-}
-if(this.caps&g.CAP_C1p){
-this._C1pa=new Array(g.nC1p_+1);
-g.C1pf(eps,this._C1pa);
-}
-if(this.caps&g.CAP_C2){
-this._A2m1=g.A2m1f(eps);
-this._C2a=new Array(g.nC2_+1);
-g.C2f(eps,this._C2a);
-this._B21=g.SinCosSeries(true,this._ssig1,this._csig1,this._C2a);
-}
-if(this.caps&g.CAP_C3){
-this._C3a=new Array(g.nC3_);
-geod.C3f(eps,this._C3a);
-this._A3c=-this.f*this._salp0*geod.A3f(eps);
-this._B31=g.SinCosSeries(true,this._ssig1,this._csig1,this._C3a);
-}
-if(this.caps&g.CAP_C4){
-this._C4a=new Array(g.nC4_);
-geod.C4f(eps,this._C4a);
-this._A4=m.sq(this.a)*this._calp0*this._salp0*geod._e2;
-this._B41=g.SinCosSeries(false,this._ssig1,this._csig1,this._C4a);
-}
-this.a13=this.s13=Number.NaN;
-};
-l.GeodesicLine.prototype.GenPosition=function(arcmode,s12_a12,
-outmask){
-var vals={},
-sig12,ssig12,csig12,B12,AB1,ssig2,csig2,tau12,s,c,serr,
-omg12,lam12,lon12,E,sbet2,cbet2,somg2,comg2,salp2,calp2,dn2,
-B22,AB2,J12,t,B42,salp12,calp12;
-if(!outmask)outmask=g.STANDARD;
-else if(outmask===g.LONG_UNROLL)outmask|=g.STANDARD;
-outmask&=this.caps&g.OUT_MASK;
-vals.lat1=this.lat1;vals.azi1=this.azi1;
-vals.lon1=outmask&g.LONG_UNROLL?
-this.lon1:m.AngNormalize(this.lon1);
-if(arcmode)
-vals.a12=s12_a12;
-else
-vals.s12=s12_a12;
-if(!(arcmode||(this.caps&g.DISTANCE_IN&g.OUT_MASK))){
-vals.a12=Number.NaN;
-return vals;
-}
-B12=0;AB1=0;
-if(arcmode){
-sig12=s12_a12*m.degree;
-t=m.sincosd(s12_a12);ssig12=t.s;csig12=t.c;
-}else{
-tau12=s12_a12/(this._b*(1+this._A1m1));
-s=Math.sin(tau12);
-c=Math.cos(tau12);
-B12=-g.SinCosSeries(true,
-this._stau1*c+this._ctau1*s,
-this._ctau1*c-this._stau1*s,
-this._C1pa);
-sig12=tau12-(B12-this._B11);
-ssig12=Math.sin(sig12);csig12=Math.cos(sig12);
-if(Math.abs(this.f)>0.01){
-ssig2=this._ssig1*csig12+this._csig1*ssig12;
-csig2=this._csig1*csig12-this._ssig1*ssig12;
-B12=g.SinCosSeries(true,ssig2,csig2,this._C1a);
-serr=(1+this._A1m1)*(sig12+(B12-this._B11))-
-s12_a12/this._b;
-sig12=sig12-serr/Math.sqrt(1+this._k2*m.sq(ssig2));
-ssig12=Math.sin(sig12);csig12=Math.cos(sig12);
-}
-}
-ssig2=this._ssig1*csig12+this._csig1*ssig12;
-csig2=this._csig1*csig12-this._ssig1*ssig12;
-dn2=Math.sqrt(1+this._k2*m.sq(ssig2));
-if(outmask&(g.DISTANCE|g.REDUCEDLENGTH|g.GEODESICSCALE)){
-if(arcmode||Math.abs(this.f)>0.01)
-B12=g.SinCosSeries(true,ssig2,csig2,this._C1a);
-AB1=(1+this._A1m1)*(B12-this._B11);
-}
-sbet2=this._calp0*ssig2;
-cbet2=m.hypot(this._salp0,this._calp0*csig2);
-if(cbet2===0)
-cbet2=csig2=g.tiny_;
-salp2=this._salp0;calp2=this._calp0*csig2;
-if(arcmode&&(outmask&g.DISTANCE))
-vals.s12=this._b*((1+this._A1m1)*sig12+AB1);
-if(outmask&g.LONGITUDE){
-somg2=this._salp0*ssig2;comg2=csig2;
-E=m.copysign(1,this._salp0);
-omg12=outmask&g.LONG_UNROLL?
-E*(sig12-
-(Math.atan2(ssig2,csig2)-
-Math.atan2(this._ssig1,this._csig1))+
-(Math.atan2(E*somg2,comg2)-
-Math.atan2(E*this._somg1,this._comg1))):
-Math.atan2(somg2*this._comg1-comg2*this._somg1,
-comg2*this._comg1+somg2*this._somg1);
-lam12=omg12+this._A3c*
-(sig12+(g.SinCosSeries(true,ssig2,csig2,this._C3a)-
-this._B31));
-lon12=lam12/m.degree;
-vals.lon2=outmask&g.LONG_UNROLL?this.lon1+lon12:
-m.AngNormalize(m.AngNormalize(this.lon1)+m.AngNormalize(lon12));
-}
-if(outmask&g.LATITUDE)
-vals.lat2=m.atan2d(sbet2,this._f1*cbet2);
-if(outmask&g.AZIMUTH)
-vals.azi2=m.atan2d(salp2,calp2);
-if(outmask&(g.REDUCEDLENGTH|g.GEODESICSCALE)){
-B22=g.SinCosSeries(true,ssig2,csig2,this._C2a);
-AB2=(1+this._A2m1)*(B22-this._B21);
-J12=(this._A1m1-this._A2m1)*sig12+(AB1-AB2);
-if(outmask&g.REDUCEDLENGTH)
-vals.m12=this._b*((dn2*(this._csig1*ssig2)-
-this._dn1*(this._ssig1*csig2))-
-this._csig1*csig2*J12);
-if(outmask&g.GEODESICSCALE){
-t=this._k2*(ssig2-this._ssig1)*(ssig2+this._ssig1)/
-(this._dn1+dn2);
-vals.M12=csig12+
-(t*ssig2-csig2*J12)*this._ssig1/this._dn1;
-vals.M21=csig12-
-(t*this._ssig1-this._csig1*J12)*ssig2/dn2;
-}
-}
-if(outmask&g.AREA){
-B42=g.SinCosSeries(false,ssig2,csig2,this._C4a);
-if(this._calp0===0||this._salp0===0){
-salp12=salp2*this.calp1-calp2*this.salp1;
-calp12=calp2*this.calp1+salp2*this.salp1;
-}else{
-salp12=this._calp0*this._salp0*
-(csig12<=0?this._csig1*(1-csig12)+ssig12*this._ssig1:
-ssig12*(this._csig1*ssig12/(1+csig12)+this._ssig1));
-calp12=m.sq(this._salp0)+m.sq(this._calp0)*this._csig1*csig2;
-}
-vals.S12=this._c2*Math.atan2(salp12,calp12)+
-this._A4*(B42-this._B41);
-}
-if(!arcmode)
-vals.a12=sig12/m.degree;
-return vals;
-};
-l.GeodesicLine.prototype.Position=function(s12,outmask){
-return this.GenPosition(false,s12,outmask);
-};
-l.GeodesicLine.prototype.ArcPosition=function(a12,outmask){
-return this.GenPosition(true,a12,outmask);
-};
-l.GeodesicLine.prototype.GenSetDistance=function(arcmode,s13_a13){
-if(arcmode)
-this.SetArc(s13_a13);
-else
-this.SetDistance(s13_a13);
-};
-l.GeodesicLine.prototype.SetDistance=function(s13){
-var r;
-this.s13=s13;
-r=this.GenPosition(false,this.s13,g.ARC);
-this.a13=0+r.a12;
-};
-l.GeodesicLine.prototype.SetArc=function(a13){
-var r;
-this.a13=a13;
-r=this.GenPosition(true,this.a13,g.DISTANCE);
-this.s13=0+r.s12;
-};
-})(GeographicLib.Geodesic,GeographicLib.GeodesicLine,GeographicLib.Math);
-// PolygonArea.js
-(function(
-p,g,m,a){
-var transit,transitdirect,AreaReduceA,AreaReduceB;
-transit=function(lon1,lon2){
-var lon12,cross;
-lon1=m.AngNormalize(lon1);
-lon2=m.AngNormalize(lon2);
-lon12=m.AngDiff(lon1,lon2).s;
-cross=lon1<=0&&lon2>0&&lon12>0?1:
-(lon2<=0&&lon1>0&&lon12<0?-1:0);
-return cross;
-};
-transitdirect=function(lon1,lon2){
-lon1=lon1%720.0;lon2=lon2%720.0;
-return(((lon2<=0&&lon2>-360)||lon2>360?1:0)-
-((lon1<=0&&lon1>-360)||lon1>360?1:0));
-};
-AreaReduceA=function(area,area0,crossings,reverse,sign){
-area.Remainder(area0);
-if(crossings&1)
-area.Add((area.Sum()<0?1:-1)*area0/2);
-if(!reverse)
-area.Negate();
-if(sign){
-if(area.Sum()>area0/2)
-area.Add(-area0);
-else if(area.Sum()<=-area0/2)
-area.Add(+area0);
-}else{
-if(area.Sum()>=area0)
-area.Add(-area0);
-else if(area.Sum()<0)
-area.Add(+area0);
-}
-return 0+area.Sum();
-};
-AreaReduceB=function(area,area0,crossings,reverse,sign){
-area=m.remainder(area,area0);
-if(crossings&1)
-area+=(area<0?1:-1)*area0/2;
-if(!reverse)
-area*=-1;
-if(sign){
-if(area>area0/2)
-area-=area0;
-else if(area<=-area0/2)
-area+=area0;
-}else{
-if(area>=area0)
-area-=area0;
-else if(area<0)
-area+=area0;
-}
-return 0+area;
-};
-p.PolygonArea=function(geod,polyline){
-this._geod=geod;
-this.a=this._geod.a;
-this.f=this._geod.f;
-this._area0=4*Math.PI*geod._c2;
-this.polyline=!polyline?false:polyline;
-this._mask=g.LATITUDE|g.LONGITUDE|g.DISTANCE|
-(this.polyline?g.NONE:g.AREA|g.LONG_UNROLL);
-if(!this.polyline)
-this._areasum=new a.Accumulator(0);
-this._perimetersum=new a.Accumulator(0);
-this.Clear();
-};
-p.PolygonArea.prototype.Clear=function(){
-this.num=0;
-this._crossings=0;
-if(!this.polyline)
-this._areasum.Set(0);
-this._perimetersum.Set(0);
-this._lat0=this._lon0=this.lat=this.lon=Number.NaN;
-};
-p.PolygonArea.prototype.AddPoint=function(lat,lon){
-var t;
-if(this.num===0){
-this._lat0=this.lat=lat;
-this._lon0=this.lon=lon;
-}else{
-t=this._geod.Inverse(this.lat,this.lon,lat,lon,this._mask);
-this._perimetersum.Add(t.s12);
-if(!this.polyline){
-this._areasum.Add(t.S12);
-this._crossings+=transit(this.lon,lon);
-}
-this.lat=lat;
-this.lon=lon;
-}
-++this.num;
-};
-p.PolygonArea.prototype.AddEdge=function(azi,s){
-var t;
-if(this.num){
-t=this._geod.Direct(this.lat,this.lon,azi,s,this._mask);
-this._perimetersum.Add(s);
-if(!this.polyline){
-this._areasum.Add(t.S12);
-this._crossings+=transitdirect(this.lon,t.lon2);
-}
-this.lat=t.lat2;
-this.lon=t.lon2;
-}
-++this.num;
-};
-p.PolygonArea.prototype.Compute=function(reverse,sign){
-var vals={number:this.num},t,tempsum;
-if(this.num<2){
-vals.perimeter=0;
-if(!this.polyline)
-vals.area=0;
-return vals;
-}
-if(this.polyline){
-vals.perimeter=this._perimetersum.Sum();
-return vals;
-}
-t=this._geod.Inverse(this.lat,this.lon,this._lat0,this._lon0,
-this._mask);
-vals.perimeter=this._perimetersum.Sum(t.s12);
-tempsum=new a.Accumulator(this._areasum);
-tempsum.Add(t.S12);
-vals.area=AreaReduceA(tempsum,this._area0,
-this._crossings+transit(this.lon,this._lon0),
-reverse,sign);
-return vals;
-};
-p.PolygonArea.prototype.TestPoint=function(lat,lon,reverse,sign){
-var vals={number:this.num+1},t,tempsum,crossings,i;
-if(this.num===0){
-vals.perimeter=0;
-if(!this.polyline)
-vals.area=0;
-return vals;
-}
-vals.perimeter=this._perimetersum.Sum();
-tempsum=this.polyline?0:this._areasum.Sum();
-crossings=this._crossings;
-for(i=0;i<(this.polyline?1:2);++i){
-t=this._geod.Inverse(
-i===0?this.lat:lat,i===0?this.lon:lon,
-i!==0?this._lat0:lat,i!==0?this._lon0:lon,
-this._mask);
-vals.perimeter+=t.s12;
-if(!this.polyline){
-tempsum+=t.S12;
-crossings+=transit(i===0?this.lon:lon,
-i!==0?this._lon0:lon);
-}
-}
-if(this.polyline)
-return vals;
-vals.area=AreaReduceB(tempsum,this._area0,crossings,reverse,sign);
-return vals;
-};
-p.PolygonArea.prototype.TestEdge=function(azi,s,reverse,sign){
-var vals={number:this.num?this.num+1:0},t,tempsum,crossings;
-if(this.num===0)
-return vals;
-vals.perimeter=this._perimetersum.Sum()+s;
-if(this.polyline)
-return vals;
-tempsum=this._areasum.Sum();
-crossings=this._crossings;
-t=this._geod.Direct(this.lat,this.lon,azi,s,this._mask);
-tempsum+=t.S12;
-crossings+=transitdirect(this.lon,t.lon2);
-crossings+=transit(t.lon2,this._lon0);
-t=this._geod.Inverse(t.lat2,t.lon2,this._lat0,this._lon0,this._mask);
-vals.perimeter+=t.s12;
-tempsum+=t.S12;
-vals.area=AreaReduceB(tempsum,this._area0,crossings,reverse,sign);
-return vals;
-};
-})(GeographicLib.PolygonArea,GeographicLib.Geodesic,
-GeographicLib.Math,GeographicLib.Accumulator);
-// DMS.js
-GeographicLib.DMS={};
-(function(
-d){
-var lookup,zerofill,internalDecode,numMatch,
-hemispheres_="SNWE",
-signs_="-+",
-digits_="0123456789",
-dmsindicators_="D'\":",
-dmsindicatorsu_="\u00b0'\"",
-components_=["degrees","minutes","seconds"];
-lookup=function(s,c){
-return s.indexOf(c.toUpperCase());
-};
-zerofill=function(s,n){
-return String("0000").substr(0,Math.max(0,Math.min(4,n-s.length)))+
-s;
-};
-d.NONE=0;
-d.LATITUDE=1;
-d.LONGITUDE=2;
-d.AZIMUTH=3;
-d.DEGREE=0;
-d.MINUTE=1;
-d.SECOND=2;
-d.Decode=function(dms){
-var dmsa=dms,end,
-v=0,i=0,mi,pi,vals,
-ind1=d.NONE,ind2,p,pa,pb;
-dmsa=dmsa
-.replace(/\u2212/g,'-')
-.replace(/\u00b0/g,'d')
-.replace(/\u00ba/g,'d')
-.replace(/\u2070/g,'d')
-.replace(/\u02da/g,'d')
-.replace(/\u2032/g,'\'')
-.replace(/\u00b4/g,'\'')
-.replace(/\u2019/g,'\'')
-.replace(/\u2033/g,'"')
-.replace(/\u201d/g,'"')
-.replace(/\u00a0/g,'')
-.replace(/\u202f/g,'')
-.replace(/\u2007/g,'')
-.replace(/''/g,'"')
-.trim();
-end=dmsa.length;
-for(p=0;p=0)
-++pa;
-if(i>0||(pa=0))
-++pa;
-mi=dmsa.substr(pa,end-pa).indexOf('-');
-pi=dmsa.substr(pa,end-pa).indexOf('+');
-if(mi<0)mi=end;else mi+=pa;
-if(pi<0)pi=end;else pi+=pa;
-pb=Math.min(mi,pi);
-vals=internalDecode(dmsa.substr(p,pb-p));
-v+=vals.val;ind2=vals.ind;
-if(ind1===d.NONE)
-ind1=ind2;
-else if(!(ind2===d.NONE||ind1===ind2))
-throw new Error("Incompatible hemisphere specifies in "+
-dmsa.substr(0,pb));
-}
-if(i===0)
-throw new Error("Empty or incomplete DMS string "+dmsa);
-return{val:v,ind:ind1};
-};
-internalDecode=function(dmsa){
-var vals={},errormsg="",
-sign,beg,end,ind1,k,
-ipieces,fpieces,npiece,
-icurrent,fcurrent,ncurrent,p,
-pointseen,
-digcount,intcount,
-x;
-do{
-sign=1;
-beg=0;end=dmsa.length;
-ind1=d.NONE;
-k=-1;
-if(end>beg&&(k=lookup(hemispheres_,dmsa.charAt(beg)))>=0){
-ind1=(k&2)?d.LONGITUDE:d.LATITUDE;
-sign=(k&1)?1:-1;
-++beg;
-}
-if(end>beg&&
-(k=lookup(hemispheres_,dmsa.charAt(end-1)))>=0){
-if(k>=0){
-if(ind1!==d.NONE){
-if(dmsa.charAt(beg-1).toUpperCase()===
-dmsa.charAt(end-1).toUpperCase())
-errormsg="Repeated hemisphere indicators "+
-dmsa.charAt(beg-1)+" in "+
-dmsa.substr(beg-1,end-beg+1);
-else
-errormsg="Contradictory hemisphere indicators "+
-dmsa.charAt(beg-1)+" and "+dmsa.charAt(end-1)+" in "+
-dmsa.substr(beg-1,end-beg+1);
-break;
-}
-ind1=(k&2)?d.LONGITUDE:d.LATITUDE;
-sign=(k&1)?1:-1;
---end;
-}
-}
-if(end>beg&&(k=lookup(signs_,dmsa.charAt(beg)))>=0){
-if(k>=0){
-sign*=k?1:-1;
-++beg;
-}
-}
-if(end===beg){
-errormsg="Empty or incomplete DMS string "+dmsa;
-break;
-}
-ipieces=[0,0,0];
-fpieces=[0,0,0];
-npiece=0;
-icurrent=0;
-fcurrent=0;
-ncurrent=0;
-p=beg;
-pointseen=false;
-digcount=0;
-intcount=0;
-while(p=0){
-++ncurrent;
-if(digcount>0){
-++digcount;
-}else{
-icurrent=10*icurrent+k;
-++intcount;
-}
-}else if(x==='.'){
-if(pointseen){
-errormsg="Multiple decimal points in "+
-dmsa.substr(beg,end-beg);
-break;
-}
-pointseen=true;
-digcount=1;
-}else if((k=lookup(dmsindicators_,x))>=0){
-if(k>=3){
-if(p===end){
-errormsg="Illegal for colon to appear at the end of "+
-dmsa.substr(beg,end-beg);
-break;
-}
-k=npiece;
-}
-if(k===npiece-1){
-errormsg="Repeated "+components_[k]+
-" component in "+dmsa.substr(beg,end-beg);
-break;
-}else if(k0){
-fcurrent=parseFloat(dmsa.substr(p-intcount-digcount-1,
-intcount+digcount));
-icurrent=0;
-}
-ipieces[k]=icurrent;
-fpieces[k]=icurrent+fcurrent;
-if(p=0){
-errormsg="Internal sign in DMS string "+
-dmsa.substr(beg,end-beg);
-break;
-}else{
-errormsg="Illegal character "+x+" in DMS string "+
-dmsa.substr(beg,end-beg);
-break;
-}
-}
-if(errormsg.length)
-break;
-if(lookup(dmsindicators_,dmsa.charAt(p-1))<0){
-if(npiece>=3){
-errormsg="Extra text following seconds in DMS string "+
-dmsa.substr(beg,end-beg);
-break;
-}
-if(ncurrent===0){
-errormsg="Missing numbers in trailing component of "+
-dmsa.substr(beg,end-beg);
-break;
-}
-if(digcount>0){
-fcurrent=parseFloat(dmsa.substr(p-intcount-digcount,
-intcount+digcount));
-icurrent=0;
-}
-ipieces[npiece]=icurrent;
-fpieces[npiece]=icurrent+fcurrent;
-}
-if(pointseen&&digcount===0){
-errormsg="Decimal point in non-terminal component of "+
-dmsa.substr(beg,end-beg);
-break;
-}
-if(ipieces[1]>=60||fpieces[1]>60){
-errormsg="Minutes "+fpieces[1]+" not in range [0,60)";
-break;
-}
-if(ipieces[2]>=60||fpieces[2]>60){
-errormsg="Seconds "+fpieces[2]+" not in range [0,60)";
-break;
-}
-vals.ind=ind1;
-vals.val=sign*
-(fpieces[2]?(60*(60*fpieces[0]+fpieces[1])+fpieces[2])/3600:
-(fpieces[1]?(60*fpieces[0]+fpieces[1])/60:fpieces[0]));
-return vals;
-}while(false);
-vals.val=numMatch(dmsa);
-if(vals.val===0)
-throw new Error(errormsg);
-else
-vals.ind=d.NONE;
-return vals;
-};
-numMatch=function(s){
-var t,sign,p0,p1;
-if(s.length<3)
-return 0;
-t=s.toUpperCase().replace(/0+$/,"");
-sign=t.charAt(0)==='-'?-1:1;
-p0=t.charAt(0)==='-'||t.charAt(0)==='+'?1:0;
-p1=t.length-1;
-if(p1+190)
-throw new Error("Latitude "+lat+" not in [-90,90]");
-vals.lat=lat;
-vals.lon=lon;
-return vals;
-};
-d.DecodeAngle=function(angstr){
-var vals=d.Decode(angstr),
-ang=vals.val,ind=vals.ind;
-if(ind!==d.NONE)
-throw new Error("Arc angle "+angstr+
-" includes a hemisphere N/E/W/S");
-return ang;
-};
-d.DecodeAzimuth=function(azistr){
-var vals=d.Decode(azistr),
-azi=vals.val,ind=vals.ind;
-if(ind===d.LATITUDE)
-throw new Error("Azimuth "+azistr+" has a latitude hemisphere N/S");
-return azi;
-};
-d.Encode=function(angle,trailing,prec,ind){
-var scale=1,i,sign,
-idegree,fdegree,f,pieces,ip,fp,s;
-if(!ind)ind=d.NONE;
-if(!isFinite(angle))
-return angle<0?String("-inf"):
-(angle>0?String("inf"):String("nan"));
-prec=Math.min(15-2*trailing,prec);
-for(i=0;i=1){
-idegree+=1;
-fdegree-=1;
-}
-pieces=[fdegree,0,0];
-for(i=1;i<=trailing;++i){
-ip=Math.floor(pieces[i-1]);
-fp=pieces[i-1]-ip;
-pieces[i]=fp*60;
-pieces[i-1]=ip;
-}
-pieces[0]+=idegree;
-s="";
-if(ind===d.NONE&&sign<0)
-s+='-';
-switch(trailing){
-case d.DEGREE:
-s+=zerofill(pieces[0].toFixed(prec),
-ind===d.NONE?0:
-1+Math.min(ind,2)+prec+(prec?1:0))+
-dmsindicatorsu_.charAt(0);
-break;
-default:
-s+=zerofill(pieces[0].toFixed(0),
-ind===d.NONE?0:1+Math.min(ind,2))+
-dmsindicatorsu_.charAt(0);
-switch(trailing){
-case d.MINUTE:
-s+=zerofill(pieces[1].toFixed(prec),2+prec+(prec?1:0))+
-dmsindicatorsu_.charAt(1);
-break;
-case d.SECOND:
-s+=zerofill(pieces[1].toFixed(0),2)+dmsindicatorsu_.charAt(1);
-s+=zerofill(pieces[2].toFixed(prec),2+prec+(prec?1:0))+
-dmsindicatorsu_.charAt(2);
-break;
-default:
-break;
-}
-}
-if(ind!==d.NONE&&ind!==d.AZIMUTH)
-s+=hemispheres_.charAt((ind===d.LATITUDE?0:2)+
-(sign<0?0:1));
-return s;
-};
-})(GeographicLib.DMS);
-cb(GeographicLib);
-})(function(geo){
-if(typeof module==='object'&&module.exports){
-module.exports=geo;
-}else if(typeof define==='function'&&define.amd){
-define('geographiclib',[],function(){return geo;});
-}else{
-window.GeographicLib=geo;
-}
-});
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/package.json b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/package.json
deleted file mode 100644
index 24ce46d7492f7a5ef7796e8f6b21f6f8ed885cf4..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "geographiclib",
- "version": "1.50.0",
- "description":
- "JavaScript implementation of geodesic routines in GeographicLib",
- "main": "geographiclib.js",
- "scripts": {
- "test": "mocha"
- },
- "repository": {
- "type": "git",
- "url": "git://git.code.sourceforge.net/p/geographiclib/code"
- },
- "url": "https://geographiclib.sourceforge.net",
- "keywords": [
- "geodesics",
- "geometry",
- "geographiclib",
- "geography",
- "geodesic problem",
- "direct geodesic problem",
- "inverse geodesic problem",
- "geodesic calculator"
- ],
- "devDependencies": {
- "mocha": "2.3.0"
- },
- "author": "Charles Karney ",
- "contributors": [
- "Yurij Mikhalevich <0@39.yt>"
- ],
- "license": "MIT",
- "bugs": {
- "url": "https://sourceforge.net/p/geographiclib/discussion/",
- "email": "charles@karney.com"
- }
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/DMS.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/DMS.js
deleted file mode 100644
index e800a20c78300b24987662336f2923ab694f8e67..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/DMS.js
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * DMS.js
- * Transcription of DMS.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-GeographicLib.DMS = {};
-
-(function(
- /**
- * @exports GeographicLib/DMS
- * @description Decode/Encode angles expressed as degrees, minutes, and
- * seconds. This module defines several constants:
- * - hemisphere indicator (returned by
- * {@link module:GeographicLib/DMS.Decode Decode}) and a formatting
- * indicator (used by
- * {@link module:GeographicLib/DMS.Encode Encode})
- * - NONE = 0, no designator and format as plain angle;
- * - LATITUDE = 1, a N/S designator and format as latitude;
- * - LONGITUDE = 2, an E/W designator and format as longitude;
- * - AZIMUTH = 3, format as azimuth;
- * - the specification of the trailing component in
- * {@link module:GeographicLib/DMS.Encode Encode}
- * - DEGREE;
- * - MINUTE;
- * - SECOND.
- */
- d) {
-
- var lookup, zerofill, internalDecode, numMatch,
- hemispheres_ = "SNWE",
- signs_ = "-+",
- digits_ = "0123456789",
- dmsindicators_ = "D'\":",
- // dmsindicatorsu_ = "\u00b0\u2032\u2033"; // Unicode variants
- dmsindicatorsu_ = "\u00b0'\"", // Use degree symbol
- components_ = ["degrees", "minutes", "seconds"];
- lookup = function(s, c) {
- return s.indexOf(c.toUpperCase());
- };
- zerofill = function(s, n) {
- return String("0000").substr(0, Math.max(0, Math.min(4, n-s.length))) +
- s;
- };
- d.NONE = 0;
- d.LATITUDE = 1;
- d.LONGITUDE = 2;
- d.AZIMUTH = 3;
- d.DEGREE = 0;
- d.MINUTE = 1;
- d.SECOND = 2;
-
- /**
- * @summary Decode a DMS string.
- * @description The interpretation of the string is given in the
- * documentation of the corresponding function, Decode(string&, flag&)
- * in the {@link
- * https://geographiclib.sourceforge.io/html/classGeographicLib_1_1DMS.html
- * C++ DMS class}
- * @param {string} dms the string.
- * @returns {object} r where r.val is the decoded value (degrees) and r.ind
- * is a hemisphere designator, one of NONE, LATITUDE, LONGITUDE.
- * @throws an error if the string is illegal.
- */
- d.Decode = function(dms) {
- var dmsa = dms, end,
- v = 0, i = 0, mi, pi, vals,
- ind1 = d.NONE, ind2, p, pa, pb;
- dmsa = dmsa
- .replace(/\u2212/g, '-') // U+2212 minus sign
- .replace(/\u00b0/g, 'd') // U+00b0 degree symbol
- .replace(/\u00ba/g, 'd') // U+00ba alt symbol
- .replace(/\u2070/g, 'd') // U+2070 sup zero
- .replace(/\u02da/g, 'd') // U+02da ring above
- .replace(/\u2032/g, '\'') // U+2032 prime
- .replace(/\u00b4/g, '\'') // U+00b4 acute accent
- .replace(/\u2019/g, '\'') // U+2019 right single quote
- .replace(/\u2033/g, '"') // U+2033 double prime
- .replace(/\u201d/g, '"') // U+201d right double quote
- .replace(/\u00a0/g, '') // U+00a0 non-breaking space
- .replace(/\u202f/g, '') // U+202f narrow space
- .replace(/\u2007/g, '') // U+2007 figure space
- .replace(/''/g, '"') // '' -> "
- .trim();
-
- end = dmsa.length;
- // p is pointer to the next piece that needs decoding
- for (p = 0; p < end; p = pb, ++i) {
- pa = p;
- // Skip over initial hemisphere letter (for i == 0)
- if (i === 0 && lookup(hemispheres_, dmsa.charAt(pa)) >= 0)
- ++pa;
- // Skip over initial sign (checking for it if i == 0)
- if (i > 0 || (pa < end && lookup(signs_, dmsa.charAt(pa)) >= 0))
- ++pa;
- // Find next sign
- mi = dmsa.substr(pa, end - pa).indexOf('-');
- pi = dmsa.substr(pa, end - pa).indexOf('+');
- if (mi < 0) mi = end; else mi += pa;
- if (pi < 0) pi = end; else pi += pa;
- pb = Math.min(mi, pi);
- vals = internalDecode(dmsa.substr(p, pb - p));
- v += vals.val; ind2 = vals.ind;
- if (ind1 === d.NONE)
- ind1 = ind2;
- else if (!(ind2 === d.NONE || ind1 === ind2))
- throw new Error("Incompatible hemisphere specifies in " +
- dmsa.substr(0, pb));
- }
- if (i === 0)
- throw new Error("Empty or incomplete DMS string " + dmsa);
- return {val: v, ind: ind1};
- };
-
- internalDecode = function(dmsa) {
- var vals = {}, errormsg = "",
- sign, beg, end, ind1, k,
- ipieces, fpieces, npiece,
- icurrent, fcurrent, ncurrent, p,
- pointseen,
- digcount, intcount,
- x;
- do { // Executed once (provides the ability to break)
- sign = 1;
- beg = 0; end = dmsa.length;
- ind1 = d.NONE;
- k = -1;
- if (end > beg && (k = lookup(hemispheres_, dmsa.charAt(beg))) >= 0) {
- ind1 = (k & 2) ? d.LONGITUDE : d.LATITUDE;
- sign = (k & 1) ? 1 : -1;
- ++beg;
- }
- if (end > beg &&
- (k = lookup(hemispheres_, dmsa.charAt(end-1))) >= 0) {
- if (k >= 0) {
- if (ind1 !== d.NONE) {
- if (dmsa.charAt(beg - 1).toUpperCase() ===
- dmsa.charAt(end - 1).toUpperCase())
- errormsg = "Repeated hemisphere indicators " +
- dmsa.charAt(beg - 1) + " in " +
- dmsa.substr(beg - 1, end - beg + 1);
- else
- errormsg = "Contradictory hemisphere indicators " +
- dmsa.charAt(beg - 1) + " and " + dmsa.charAt(end - 1) + " in " +
- dmsa.substr(beg - 1, end - beg + 1);
- break;
- }
- ind1 = (k & 2) ? d.LONGITUDE : d.LATITUDE;
- sign = (k & 1) ? 1 : -1;
- --end;
- }
- }
- if (end > beg && (k = lookup(signs_, dmsa.charAt(beg))) >= 0) {
- if (k >= 0) {
- sign *= k ? 1 : -1;
- ++beg;
- }
- }
- if (end === beg) {
- errormsg = "Empty or incomplete DMS string " + dmsa;
- break;
- }
- ipieces = [0, 0, 0];
- fpieces = [0, 0, 0];
- npiece = 0;
- icurrent = 0;
- fcurrent = 0;
- ncurrent = 0;
- p = beg;
- pointseen = false;
- digcount = 0;
- intcount = 0;
- while (p < end) {
- x = dmsa.charAt(p++);
- if ((k = lookup(digits_, x)) >= 0) {
- ++ncurrent;
- if (digcount > 0) {
- ++digcount; // Count of decimal digits
- } else {
- icurrent = 10 * icurrent + k;
- ++intcount;
- }
- } else if (x === '.') {
- if (pointseen) {
- errormsg = "Multiple decimal points in " +
- dmsa.substr(beg, end - beg);
- break;
- }
- pointseen = true;
- digcount = 1;
- } else if ((k = lookup(dmsindicators_, x)) >= 0) {
- if (k >= 3) {
- if (p === end) {
- errormsg = "Illegal for colon to appear at the end of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- k = npiece;
- }
- if (k === npiece - 1) {
- errormsg = "Repeated " + components_[k] +
- " component in " + dmsa.substr(beg, end - beg);
- break;
- } else if (k < npiece) {
- errormsg = components_[k] + " component follows " +
- components_[npiece - 1] + " component in " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (ncurrent === 0) {
- errormsg = "Missing numbers in " + components_[k] +
- " component of " + dmsa.substr(beg, end - beg);
- break;
- }
- if (digcount > 0) {
- fcurrent = parseFloat(dmsa.substr(p - intcount - digcount - 1,
- intcount + digcount));
- icurrent = 0;
- }
- ipieces[k] = icurrent;
- fpieces[k] = icurrent + fcurrent;
- if (p < end) {
- npiece = k + 1;
- icurrent = fcurrent = 0;
- ncurrent = digcount = intcount = 0;
- }
- } else if (lookup(signs_, x) >= 0) {
- errormsg = "Internal sign in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- } else {
- errormsg = "Illegal character " + x + " in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- }
- }
- if (errormsg.length)
- break;
- if (lookup(dmsindicators_, dmsa.charAt(p - 1)) < 0) {
- if (npiece >= 3) {
- errormsg = "Extra text following seconds in DMS string " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (ncurrent === 0) {
- errormsg = "Missing numbers in trailing component of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- if (digcount > 0) {
- fcurrent = parseFloat(dmsa.substr(p - intcount - digcount,
- intcount + digcount));
- icurrent = 0;
- }
- ipieces[npiece] = icurrent;
- fpieces[npiece] = icurrent + fcurrent;
- }
- if (pointseen && digcount === 0) {
- errormsg = "Decimal point in non-terminal component of " +
- dmsa.substr(beg, end - beg);
- break;
- }
- // Note that we accept 59.999999... even though it rounds to 60.
- if (ipieces[1] >= 60 || fpieces[1] > 60) {
- errormsg = "Minutes " + fpieces[1] + " not in range [0,60)";
- break;
- }
- if (ipieces[2] >= 60 || fpieces[2] > 60) {
- errormsg = "Seconds " + fpieces[2] + " not in range [0,60)";
- break;
- }
- vals.ind = ind1;
- // Assume check on range of result is made by calling routine (which
- // might be able to offer a better diagnostic).
- vals.val = sign *
- ( fpieces[2] ? (60*(60*fpieces[0] + fpieces[1]) + fpieces[2]) / 3600 :
- ( fpieces[1] ? (60*fpieces[0] + fpieces[1]) / 60 : fpieces[0] ) );
- return vals;
- } while (false);
- vals.val = numMatch(dmsa);
- if (vals.val === 0)
- throw new Error(errormsg);
- else
- vals.ind = d.NONE;
- return vals;
- };
-
- numMatch = function(s) {
- var t, sign, p0, p1;
- if (s.length < 3)
- return 0;
- t = s.toUpperCase().replace(/0+$/, "");
- sign = t.charAt(0) === '-' ? -1 : 1;
- p0 = t.charAt(0) === '-' || t.charAt(0) === '+' ? 1 : 0;
- p1 = t.length - 1;
- if (p1 + 1 < p0 + 3)
- return 0;
- // Strip off sign and trailing 0s
- t = t.substr(p0, p1 + 1 - p0); // Length at least 3
- if (t === "NAN" || t === "1.#QNAN" || t === "1.#SNAN" || t === "1.#IND" ||
- t === "1.#R")
- return Number.NaN;
- else if (t === "INF" || t === "1.#INF")
- return sign * Number.POSITIVE_INFINITY;
- return 0;
- };
-
- /**
- * @summary Decode two DMS strings interpreting them as a latitude/longitude
- * pair.
- * @param {string} stra the first string.
- * @param {string} strb the first string.
- * @param {bool} [longfirst = false] if true assume then longitude is given
- * first (in the absence of any hemisphere indicators).
- * @returns {object} r where r.lat is the decoded latitude and r.lon is the
- * decoded longitude (both in degrees).
- * @throws an error if the strings are illegal.
- */
- d.DecodeLatLon = function(stra, strb, longfirst) {
- var vals = {},
- valsa = d.Decode(stra),
- valsb = d.Decode(strb),
- a = valsa.val, ia = valsa.ind,
- b = valsb.val, ib = valsb.ind,
- lat, lon;
- if (!longfirst) longfirst = false;
- if (ia === d.NONE && ib === d.NONE) {
- // Default to lat, long unless longfirst
- ia = longfirst ? d.LONGITUDE : d.LATITUDE;
- ib = longfirst ? d.LATITUDE : d.LONGITUDE;
- } else if (ia === d.NONE)
- ia = d.LATITUDE + d.LONGITUDE - ib;
- else if (ib === d.NONE)
- ib = d.LATITUDE + d.LONGITUDE - ia;
- if (ia === ib)
- throw new Error("Both " + stra + " and " + strb + " interpreted as " +
- (ia === d.LATITUDE ? "latitudes" : "longitudes"));
- lat = ia === d.LATITUDE ? a : b;
- lon = ia === d.LATITUDE ? b : a;
- if (Math.abs(lat) > 90)
- throw new Error("Latitude " + lat + " not in [-90,90]");
- vals.lat = lat;
- vals.lon = lon;
- return vals;
- };
-
- /**
- * @summary Decode a DMS string interpreting it as an arc length.
- * @param {string} angstr the string (this must not include a hemisphere
- * indicator).
- * @returns {number} the arc length (degrees).
- * @throws an error if the string is illegal.
- */
- d.DecodeAngle = function(angstr) {
- var vals = d.Decode(angstr),
- ang = vals.val, ind = vals.ind;
- if (ind !== d.NONE)
- throw new Error("Arc angle " + angstr +
- " includes a hemisphere N/E/W/S");
- return ang;
- };
-
- /**
- * @summary Decode a DMS string interpreting it as an azimuth.
- * @param {string} azistr the string (this may include an E/W hemisphere
- * indicator).
- * @returns {number} the azimuth (degrees).
- * @throws an error if the string is illegal.
- */
- d.DecodeAzimuth = function(azistr) {
- var vals = d.Decode(azistr),
- azi = vals.val, ind = vals.ind;
- if (ind === d.LATITUDE)
- throw new Error("Azimuth " + azistr + " has a latitude hemisphere N/S");
- return azi;
- };
-
- /**
- * @summary Convert angle (in degrees) into a DMS string (using °, ',
- * and ").
- * @param {number} angle input angle (degrees).
- * @param {number} trailing one of DEGREE, MINUTE, or SECOND to indicate
- * the trailing component of the string (this component is given as a
- * decimal number if necessary).
- * @param {number} prec the number of digits after the decimal point for
- * the trailing component.
- * @param {number} [ind = NONE] a formatting indicator, one of NONE,
- * LATITUDE, LONGITUDE, AZIMUTH.
- * @returns {string} the resulting string formatted as follows:
- * * NONE, signed result no leading zeros on degrees except in the units
- * place, e.g., -8°03'.
- * * LATITUDE, trailing N or S hemisphere designator, no sign, pad
- * degrees to 2 digits, e.g., 08°03'S.
- * * LONGITUDE, trailing E or W hemisphere designator, no sign, pad
- * degrees to 3 digits, e.g., 008°03'W.
- * * AZIMUTH, convert to the range [0, 360°), no sign, pad degrees to
- * 3 digits, e.g., 351°57'.
- */
- d.Encode = function(angle, trailing, prec, ind) {
- // Assume check on range of input angle has been made by calling
- // routine (which might be able to offer a better diagnostic).
- var scale = 1, i, sign,
- idegree, fdegree, f, pieces, ip, fp, s;
- if (!ind) ind = d.NONE;
- if (!isFinite(angle))
- return angle < 0 ? String("-inf") :
- (angle > 0 ? String("inf") : String("nan"));
-
- // 15 - 2 * trailing = ceiling(log10(2^53/90/60^trailing)).
- // This suffices to give full real precision for numbers in [-90,90]
- prec = Math.min(15 - 2 * trailing, prec);
- for (i = 0; i < trailing; ++i)
- scale *= 60;
- for (i = 0; i < prec; ++i)
- scale *= 10;
- if (ind === d.AZIMUTH)
- angle -= Math.floor(angle/360) * 360;
- sign = angle < 0 ? -1 : 1;
- angle *= sign;
-
- // Break off integer part to preserve precision in manipulation of
- // fractional part.
- idegree = Math.floor(angle);
- fdegree = (angle - idegree) * scale + 0.5;
- f = Math.floor(fdegree);
- // Implement the "round ties to even" rule
- fdegree = (f === fdegree && (f & 1) === 1) ? f - 1 : f;
- fdegree /= scale;
-
- fdegree = Math.floor((angle - idegree) * scale + 0.5) / scale;
- if (fdegree >= 1) {
- idegree += 1;
- fdegree -= 1;
- }
- pieces = [fdegree, 0, 0];
- for (i = 1; i <= trailing; ++i) {
- ip = Math.floor(pieces[i - 1]);
- fp = pieces[i - 1] - ip;
- pieces[i] = fp * 60;
- pieces[i - 1] = ip;
- }
- pieces[0] += idegree;
- s = "";
- if (ind === d.NONE && sign < 0)
- s += '-';
- switch (trailing) {
- case d.DEGREE:
- s += zerofill(pieces[0].toFixed(prec),
- ind === d.NONE ? 0 :
- 1 + Math.min(ind, 2) + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(0);
- break;
- default:
- s += zerofill(pieces[0].toFixed(0),
- ind === d.NONE ? 0 : 1 + Math.min(ind, 2)) +
- dmsindicatorsu_.charAt(0);
- switch (trailing) {
- case d.MINUTE:
- s += zerofill(pieces[1].toFixed(prec), 2 + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(1);
- break;
- case d.SECOND:
- s += zerofill(pieces[1].toFixed(0), 2) + dmsindicatorsu_.charAt(1);
- s += zerofill(pieces[2].toFixed(prec), 2 + prec + (prec ? 1 : 0)) +
- dmsindicatorsu_.charAt(2);
- break;
- default:
- break;
- }
- }
- if (ind !== d.NONE && ind !== d.AZIMUTH)
- s += hemispheres_.charAt((ind === d.LATITUDE ? 0 : 2) +
- (sign < 0 ? 0 : 1));
- return s;
- };
-})(GeographicLib.DMS);
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/Geodesic.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/Geodesic.js
deleted file mode 100644
index 2dacdb88f63be11da353ac6ae570db50e78dce5f..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/Geodesic.js
+++ /dev/null
@@ -1,1393 +0,0 @@
-/*
- * Geodesic.js
- * Transcription of Geodesic.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2017) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER Math.js
-
-GeographicLib.Geodesic = {};
-GeographicLib.GeodesicLine = {};
-GeographicLib.PolygonArea = {};
-
-(function(
- /**
- * @exports GeographicLib/Geodesic
- * @description Solve geodesic problems via the
- * {@link module:GeographicLib/Geodesic.Geodesic Geodesic} class.
- */
- g, l, p, m, c) {
-
- var GEOGRAPHICLIB_GEODESIC_ORDER = 6,
- nA1_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA2_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA3_ = GEOGRAPHICLIB_GEODESIC_ORDER,
- nA3x_ = nA3_,
- nC3x_, nC4x_,
- maxit1_ = 20,
- maxit2_ = maxit1_ + m.digits + 10,
- tol0_ = m.epsilon,
- tol1_ = 200 * tol0_,
- tol2_ = Math.sqrt(tol0_),
- tolb_ = tol0_ * tol1_,
- xthresh_ = 1000 * tol2_,
- CAP_NONE = 0,
- CAP_ALL = 0x1F,
- CAP_MASK = CAP_ALL,
- OUT_ALL = 0x7F80,
- astroid,
- A1m1f_coeff, C1f_coeff, C1pf_coeff,
- A2m1f_coeff, C2f_coeff,
- A3_coeff, C3_coeff, C4_coeff;
-
- g.tiny_ = Math.sqrt(Number.MIN_VALUE);
- g.nC1_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC1p_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC2_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC3_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- g.nC4_ = GEOGRAPHICLIB_GEODESIC_ORDER;
- nC3x_ = (g.nC3_ * (g.nC3_ - 1)) / 2;
- nC4x_ = (g.nC4_ * (g.nC4_ + 1)) / 2;
- g.CAP_C1 = 1<<0;
- g.CAP_C1p = 1<<1;
- g.CAP_C2 = 1<<2;
- g.CAP_C3 = 1<<3;
- g.CAP_C4 = 1<<4;
-
- g.NONE = 0;
- g.ARC = 1<<6;
- g.LATITUDE = 1<<7 | CAP_NONE;
- g.LONGITUDE = 1<<8 | g.CAP_C3;
- g.AZIMUTH = 1<<9 | CAP_NONE;
- g.DISTANCE = 1<<10 | g.CAP_C1;
- g.STANDARD = g.LATITUDE | g.LONGITUDE | g.AZIMUTH | g.DISTANCE;
- g.DISTANCE_IN = 1<<11 | g.CAP_C1 | g.CAP_C1p;
- g.REDUCEDLENGTH = 1<<12 | g.CAP_C1 | g.CAP_C2;
- g.GEODESICSCALE = 1<<13 | g.CAP_C1 | g.CAP_C2;
- g.AREA = 1<<14 | g.CAP_C4;
- g.ALL = OUT_ALL| CAP_ALL;
- g.LONG_UNROLL = 1<<15;
- g.OUT_MASK = OUT_ALL| g.LONG_UNROLL;
-
- g.SinCosSeries = function(sinp, sinx, cosx, c) {
- // Evaluate
- // y = sinp ? sum(c[i] * sin( 2*i * x), i, 1, n) :
- // sum(c[i] * cos((2*i+1) * x), i, 0, n-1)
- // using Clenshaw summation. N.B. c[0] is unused for sin series
- // Approx operation count = (n + 5) mult and (2 * n + 2) add
- var k = c.length, // Point to one beyond last element
- n = k - (sinp ? 1 : 0),
- ar = 2 * (cosx - sinx) * (cosx + sinx), // 2 * cos(2 * x)
- y0 = n & 1 ? c[--k] : 0, y1 = 0; // accumulators for sum
- // Now n is even
- n = Math.floor(n/2);
- while (n--) {
- // Unroll loop x 2, so accumulators return to their original role
- y1 = ar * y0 - y1 + c[--k];
- y0 = ar * y1 - y0 + c[--k];
- }
- return (sinp ? 2 * sinx * cosx * y0 : // sin(2 * x) * y0
- cosx * (y0 - y1)); // cos(x) * (y0 - y1)
- };
-
- astroid = function(x, y) {
- // Solve k^4+2*k^3-(x^2+y^2-1)*k^2-2*y^2*k-y^2 = 0 for positive
- // root k. This solution is adapted from Geocentric::Reverse.
- var k,
- p = m.sq(x),
- q = m.sq(y),
- r = (p + q - 1) / 6,
- S, r2, r3, disc, u, T3, T, ang, v, uv, w;
- if ( !(q === 0 && r <= 0) ) {
- // Avoid possible division by zero when r = 0 by multiplying
- // equations for s and t by r^3 and r, resp.
- S = p * q / 4; // S = r^3 * s
- r2 = m.sq(r);
- r3 = r * r2;
- // The discriminant of the quadratic equation for T3. This is
- // zero on the evolute curve p^(1/3)+q^(1/3) = 1
- disc = S * (S + 2 * r3);
- u = r;
- if (disc >= 0) {
- T3 = S + r3;
- // Pick the sign on the sqrt to maximize abs(T3). This
- // minimizes loss of precision due to cancellation. The
- // result is unchanged because of the way the T is used
- // in definition of u.
- T3 += T3 < 0 ? -Math.sqrt(disc) : Math.sqrt(disc); // T3 = (r * t)^3
- // N.B. cbrt always returns the real root. cbrt(-8) = -2.
- T = m.cbrt(T3); // T = r * t
- // T can be zero; but then r2 / T -> 0.
- u += T + (T !== 0 ? r2 / T : 0);
- } else {
- // T is complex, but the way u is defined the result is real.
- ang = Math.atan2(Math.sqrt(-disc), -(S + r3));
- // There are three possible cube roots. We choose the
- // root which avoids cancellation. Note that disc < 0
- // implies that r < 0.
- u += 2 * r * Math.cos(ang / 3);
- }
- v = Math.sqrt(m.sq(u) + q); // guaranteed positive
- // Avoid loss of accuracy when u < 0.
- uv = u < 0 ? q / (v - u) : u + v; // u+v, guaranteed positive
- w = (uv - q) / (2 * v); // positive?
- // Rearrange expression for k to avoid loss of accuracy due to
- // subtraction. Division by 0 not possible because uv > 0, w >= 0.
- k = uv / (Math.sqrt(uv + m.sq(w)) + w); // guaranteed positive
- } else { // q == 0 && r <= 0
- // y = 0 with |x| <= 1. Handle this case directly.
- // for y small, positive root is k = abs(y)/sqrt(1-x^2)
- k = 0;
- }
- return k;
- };
-
- A1m1f_coeff = [
- // (1-eps)*A1-1, polynomial in eps2 of order 3
- +1, 4, 64, 0, 256
- ];
-
- // The scale factor A1-1 = mean value of (d/dsigma)I1 - 1
- g.A1m1f = function(eps) {
- var p = Math.floor(nA1_/2),
- t = m.polyval(p, A1m1f_coeff, 0, m.sq(eps)) / A1m1f_coeff[p + 1];
- return (t + eps) / (1 - eps);
- };
-
- C1f_coeff = [
- // C1[1]/eps^1, polynomial in eps2 of order 2
- -1, 6, -16, 32,
- // C1[2]/eps^2, polynomial in eps2 of order 2
- -9, 64, -128, 2048,
- // C1[3]/eps^3, polynomial in eps2 of order 1
- +9, -16, 768,
- // C1[4]/eps^4, polynomial in eps2 of order 1
- +3, -5, 512,
- // C1[5]/eps^5, polynomial in eps2 of order 0
- -7, 1280,
- // C1[6]/eps^6, polynomial in eps2 of order 0
- -7, 2048
- ];
-
- // The coefficients C1[l] in the Fourier expansion of B1
- g.C1f = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC1_; ++l) { // l is index of C1p[l]
- p = Math.floor((g.nC1_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C1f_coeff, o, eps2) / C1f_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- C1pf_coeff = [
- // C1p[1]/eps^1, polynomial in eps2 of order 2
- +205, -432, 768, 1536,
- // C1p[2]/eps^2, polynomial in eps2 of order 2
- +4005, -4736, 3840, 12288,
- // C1p[3]/eps^3, polynomial in eps2 of order 1
- -225, 116, 384,
- // C1p[4]/eps^4, polynomial in eps2 of order 1
- -7173, 2695, 7680,
- // C1p[5]/eps^5, polynomial in eps2 of order 0
- +3467, 7680,
- // C1p[6]/eps^6, polynomial in eps2 of order 0
- +38081, 61440
- ];
-
- // The coefficients C1p[l] in the Fourier expansion of B1p
- g.C1pf = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC1p_; ++l) { // l is index of C1p[l]
- p = Math.floor((g.nC1p_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C1pf_coeff, o, eps2) / C1pf_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- A2m1f_coeff = [
- // (eps+1)*A2-1, polynomial in eps2 of order 3
- -11, -28, -192, 0, 256
- ];
-
- // The scale factor A2-1 = mean value of (d/dsigma)I2 - 1
- g.A2m1f = function(eps) {
- var p = Math.floor(nA2_/2),
- t = m.polyval(p, A2m1f_coeff, 0, m.sq(eps)) / A2m1f_coeff[p + 1];
- return (t - eps) / (1 + eps);
- };
-
- C2f_coeff = [
- // C2[1]/eps^1, polynomial in eps2 of order 2
- +1, 2, 16, 32,
- // C2[2]/eps^2, polynomial in eps2 of order 2
- +35, 64, 384, 2048,
- // C2[3]/eps^3, polynomial in eps2 of order 1
- +15, 80, 768,
- // C2[4]/eps^4, polynomial in eps2 of order 1
- +7, 35, 512,
- // C2[5]/eps^5, polynomial in eps2 of order 0
- +63, 1280,
- // C2[6]/eps^6, polynomial in eps2 of order 0
- +77, 2048
- ];
-
- // The coefficients C2[l] in the Fourier expansion of B2
- g.C2f = function(eps, c) {
- var eps2 = m.sq(eps),
- d = eps,
- o = 0,
- l, p;
- for (l = 1; l <= g.nC2_; ++l) { // l is index of C2[l]
- p = Math.floor((g.nC2_ - l) / 2); // order of polynomial in eps^2
- c[l] = d * m.polyval(p, C2f_coeff, o, eps2) / C2f_coeff[o + p + 1];
- o += p + 2;
- d *= eps;
- }
- };
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @summary Initialize a Geodesic object for a specific ellipsoid.
- * @classdesc Performs geodesic calculations on an ellipsoid of revolution.
- * The routines for solving the direct and inverse problems return an
- * object with some of the following fields set: lat1, lon1, azi1, lat2,
- * lon2, azi2, s12, a12, m12, M12, M21, S12. See {@tutorial 2-interface},
- * "The results".
- * @example
- * var GeographicLib = require("geographiclib"),
- * geod = GeographicLib.Geodesic.WGS84;
- * var inv = geod.Inverse(1,2,3,4);
- * console.log("lat1 = " + inv.lat1 + ", lon1 = " + inv.lon1 +
- * ", lat2 = " + inv.lat2 + ", lon2 = " + inv.lon2 +
- * ",\nazi1 = " + inv.azi1 + ", azi2 = " + inv.azi2 +
- * ", s12 = " + inv.s12);
- * @param {number} a the equatorial radius of the ellipsoid (meters).
- * @param {number} f the flattening of the ellipsoid. Setting f = 0 gives
- * a sphere (on which geodesics are great circles). Negative f gives a
- * prolate ellipsoid.
- * @throws an error if the parameters are illegal.
- */
- g.Geodesic = function(a, f) {
- this.a = a;
- this.f = f;
- this._f1 = 1 - this.f;
- this._e2 = this.f * (2 - this.f);
- this._ep2 = this._e2 / m.sq(this._f1); // e2 / (1 - e2)
- this._n = this.f / ( 2 - this.f);
- this._b = this.a * this._f1;
- // authalic radius squared
- this._c2 = (m.sq(this.a) + m.sq(this._b) *
- (this._e2 === 0 ? 1 :
- (this._e2 > 0 ? m.atanh(Math.sqrt(this._e2)) :
- Math.atan(Math.sqrt(-this._e2))) /
- Math.sqrt(Math.abs(this._e2))))/2;
- // The sig12 threshold for "really short". Using the auxiliary sphere
- // solution with dnm computed at (bet1 + bet2) / 2, the relative error in
- // the azimuth consistency check is sig12^2 * abs(f) * min(1, 1-f/2) / 2.
- // (Error measured for 1/100 < b/a < 100 and abs(f) >= 1/1000. For a given
- // f and sig12, the max error occurs for lines near the pole. If the old
- // rule for computing dnm = (dn1 + dn2)/2 is used, then the error increases
- // by a factor of 2.) Setting this equal to epsilon gives sig12 = etol2.
- // Here 0.1 is a safety factor (error decreased by 100) and max(0.001,
- // abs(f)) stops etol2 getting too large in the nearly spherical case.
- this._etol2 = 0.1 * tol2_ /
- Math.sqrt( Math.max(0.001, Math.abs(this.f)) *
- Math.min(1.0, 1 - this.f/2) / 2 );
- if (!(isFinite(this.a) && this.a > 0))
- throw new Error("Equatorial radius is not positive");
- if (!(isFinite(this._b) && this._b > 0))
- throw new Error("Polar semi-axis is not positive");
- this._A3x = new Array(nA3x_);
- this._C3x = new Array(nC3x_);
- this._C4x = new Array(nC4x_);
- this.A3coeff();
- this.C3coeff();
- this.C4coeff();
- };
-
- A3_coeff = [
- // A3, coeff of eps^5, polynomial in n of order 0
- -3, 128,
- // A3, coeff of eps^4, polynomial in n of order 1
- -2, -3, 64,
- // A3, coeff of eps^3, polynomial in n of order 2
- -1, -3, -1, 16,
- // A3, coeff of eps^2, polynomial in n of order 2
- +3, -1, -2, 8,
- // A3, coeff of eps^1, polynomial in n of order 1
- +1, -1, 2,
- // A3, coeff of eps^0, polynomial in n of order 0
- +1, 1
- ];
-
- // The scale factor A3 = mean value of (d/dsigma)I3
- g.Geodesic.prototype.A3coeff = function() {
- var o = 0, k = 0,
- j, p;
- for (j = nA3_ - 1; j >= 0; --j) { // coeff of eps^j
- p = Math.min(nA3_ - j - 1, j); // order of polynomial in n
- this._A3x[k++] = m.polyval(p, A3_coeff, o, this._n) /
- A3_coeff[o + p + 1];
- o += p + 2;
- }
- };
-
- C3_coeff = [
- // C3[1], coeff of eps^5, polynomial in n of order 0
- +3, 128,
- // C3[1], coeff of eps^4, polynomial in n of order 1
- +2, 5, 128,
- // C3[1], coeff of eps^3, polynomial in n of order 2
- -1, 3, 3, 64,
- // C3[1], coeff of eps^2, polynomial in n of order 2
- -1, 0, 1, 8,
- // C3[1], coeff of eps^1, polynomial in n of order 1
- -1, 1, 4,
- // C3[2], coeff of eps^5, polynomial in n of order 0
- +5, 256,
- // C3[2], coeff of eps^4, polynomial in n of order 1
- +1, 3, 128,
- // C3[2], coeff of eps^3, polynomial in n of order 2
- -3, -2, 3, 64,
- // C3[2], coeff of eps^2, polynomial in n of order 2
- +1, -3, 2, 32,
- // C3[3], coeff of eps^5, polynomial in n of order 0
- +7, 512,
- // C3[3], coeff of eps^4, polynomial in n of order 1
- -10, 9, 384,
- // C3[3], coeff of eps^3, polynomial in n of order 2
- +5, -9, 5, 192,
- // C3[4], coeff of eps^5, polynomial in n of order 0
- +7, 512,
- // C3[4], coeff of eps^4, polynomial in n of order 1
- -14, 7, 512,
- // C3[5], coeff of eps^5, polynomial in n of order 0
- +21, 2560
- ];
-
- // The coefficients C3[l] in the Fourier expansion of B3
- g.Geodesic.prototype.C3coeff = function() {
- var o = 0, k = 0,
- l, j, p;
- for (l = 1; l < g.nC3_; ++l) { // l is index of C3[l]
- for (j = g.nC3_ - 1; j >= l; --j) { // coeff of eps^j
- p = Math.min(g.nC3_ - j - 1, j); // order of polynomial in n
- this._C3x[k++] = m.polyval(p, C3_coeff, o, this._n) /
- C3_coeff[o + p + 1];
- o += p + 2;
- }
- }
- };
-
- C4_coeff = [
- // C4[0], coeff of eps^5, polynomial in n of order 0
- +97, 15015,
- // C4[0], coeff of eps^4, polynomial in n of order 1
- +1088, 156, 45045,
- // C4[0], coeff of eps^3, polynomial in n of order 2
- -224, -4784, 1573, 45045,
- // C4[0], coeff of eps^2, polynomial in n of order 3
- -10656, 14144, -4576, -858, 45045,
- // C4[0], coeff of eps^1, polynomial in n of order 4
- +64, 624, -4576, 6864, -3003, 15015,
- // C4[0], coeff of eps^0, polynomial in n of order 5
- +100, 208, 572, 3432, -12012, 30030, 45045,
- // C4[1], coeff of eps^5, polynomial in n of order 0
- +1, 9009,
- // C4[1], coeff of eps^4, polynomial in n of order 1
- -2944, 468, 135135,
- // C4[1], coeff of eps^3, polynomial in n of order 2
- +5792, 1040, -1287, 135135,
- // C4[1], coeff of eps^2, polynomial in n of order 3
- +5952, -11648, 9152, -2574, 135135,
- // C4[1], coeff of eps^1, polynomial in n of order 4
- -64, -624, 4576, -6864, 3003, 135135,
- // C4[2], coeff of eps^5, polynomial in n of order 0
- +8, 10725,
- // C4[2], coeff of eps^4, polynomial in n of order 1
- +1856, -936, 225225,
- // C4[2], coeff of eps^3, polynomial in n of order 2
- -8448, 4992, -1144, 225225,
- // C4[2], coeff of eps^2, polynomial in n of order 3
- -1440, 4160, -4576, 1716, 225225,
- // C4[3], coeff of eps^5, polynomial in n of order 0
- -136, 63063,
- // C4[3], coeff of eps^4, polynomial in n of order 1
- +1024, -208, 105105,
- // C4[3], coeff of eps^3, polynomial in n of order 2
- +3584, -3328, 1144, 315315,
- // C4[4], coeff of eps^5, polynomial in n of order 0
- -128, 135135,
- // C4[4], coeff of eps^4, polynomial in n of order 1
- -2560, 832, 405405,
- // C4[5], coeff of eps^5, polynomial in n of order 0
- +128, 99099
- ];
-
- g.Geodesic.prototype.C4coeff = function() {
- var o = 0, k = 0,
- l, j, p;
- for (l = 0; l < g.nC4_; ++l) { // l is index of C4[l]
- for (j = g.nC4_ - 1; j >= l; --j) { // coeff of eps^j
- p = g.nC4_ - j - 1; // order of polynomial in n
- this._C4x[k++] = m.polyval(p, C4_coeff, o, this._n) /
- C4_coeff[o + p + 1];
- o += p + 2;
- }
- }
- };
-
- g.Geodesic.prototype.A3f = function(eps) {
- // Evaluate A3
- return m.polyval(nA3x_ - 1, this._A3x, 0, eps);
- };
-
- g.Geodesic.prototype.C3f = function(eps, c) {
- // Evaluate C3 coeffs
- // Elements c[1] thru c[nC3_ - 1] are set
- var mult = 1,
- o = 0,
- l, p;
- for (l = 1; l < g.nC3_; ++l) { // l is index of C3[l]
- p = g.nC3_ - l - 1; // order of polynomial in eps
- mult *= eps;
- c[l] = mult * m.polyval(p, this._C3x, o, eps);
- o += p + 1;
- }
- };
-
- g.Geodesic.prototype.C4f = function(eps, c) {
- // Evaluate C4 coeffs
- // Elements c[0] thru c[g.nC4_ - 1] are set
- var mult = 1,
- o = 0,
- l, p;
- for (l = 0; l < g.nC4_; ++l) { // l is index of C4[l]
- p = g.nC4_ - l - 1; // order of polynomial in eps
- c[l] = mult * m.polyval(p, this._C4x, o, eps);
- o += p + 1;
- mult *= eps;
- }
- };
-
- // return s12b, m12b, m0, M12, M21
- g.Geodesic.prototype.Lengths = function(eps, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2,
- cbet1, cbet2, outmask,
- C1a, C2a) {
- // Return m12b = (reduced length)/_b; also calculate s12b =
- // distance/_b, and m0 = coefficient of secular term in
- // expression for reduced length.
- outmask &= g.OUT_MASK;
- var vals = {},
- m0x = 0, J12 = 0, A1 = 0, A2 = 0,
- B1, B2, l, csig12, t;
- if (outmask & (g.DISTANCE | g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- A1 = g.A1m1f(eps);
- g.C1f(eps, C1a);
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- A2 = g.A2m1f(eps);
- g.C2f(eps, C2a);
- m0x = A1 - A2;
- A2 = 1 + A2;
- }
- A1 = 1 + A1;
- }
- if (outmask & g.DISTANCE) {
- B1 = g.SinCosSeries(true, ssig2, csig2, C1a) -
- g.SinCosSeries(true, ssig1, csig1, C1a);
- // Missing a factor of _b
- vals.s12b = A1 * (sig12 + B1);
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- B2 = g.SinCosSeries(true, ssig2, csig2, C2a) -
- g.SinCosSeries(true, ssig1, csig1, C2a);
- J12 = m0x * sig12 + (A1 * B1 - A2 * B2);
- }
- } else if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- // Assume here that nC1_ >= nC2_
- for (l = 1; l <= g.nC2_; ++l)
- C2a[l] = A1 * C1a[l] - A2 * C2a[l];
- J12 = m0x * sig12 + (g.SinCosSeries(true, ssig2, csig2, C2a) -
- g.SinCosSeries(true, ssig1, csig1, C2a));
- }
- if (outmask & g.REDUCEDLENGTH) {
- vals.m0 = m0x;
- // Missing a factor of _b.
- // Add parens around (csig1 * ssig2) and (ssig1 * csig2) to ensure
- // accurate cancellation in the case of coincident points.
- vals.m12b = dn2 * (csig1 * ssig2) - dn1 * (ssig1 * csig2) -
- csig1 * csig2 * J12;
- }
- if (outmask & g.GEODESICSCALE) {
- csig12 = csig1 * csig2 + ssig1 * ssig2;
- t = this._ep2 * (cbet1 - cbet2) * (cbet1 + cbet2) / (dn1 + dn2);
- vals.M12 = csig12 + (t * ssig2 - csig2 * J12) * ssig1 / dn1;
- vals.M21 = csig12 - (t * ssig1 - csig1 * J12) * ssig2 / dn2;
- }
- return vals;
- };
-
- // return sig12, salp1, calp1, salp2, calp2, dnm
- g.Geodesic.prototype.InverseStart = function(sbet1, cbet1, dn1,
- sbet2, cbet2, dn2,
- lam12, slam12, clam12,
- C1a, C2a) {
- // Return a starting point for Newton's method in salp1 and calp1
- // (function value is -1). If Newton's method doesn't need to be
- // used, return also salp2 and calp2 and function value is sig12.
- // salp2, calp2 only updated if return val >= 0.
- var vals = {},
- // bet12 = bet2 - bet1 in [0, pi); bet12a = bet2 + bet1 in (-pi, 0]
- sbet12 = sbet2 * cbet1 - cbet2 * sbet1,
- cbet12 = cbet2 * cbet1 + sbet2 * sbet1,
- sbet12a, shortline, omg12, sbetm2, somg12, comg12, t, ssig12, csig12,
- x, y, lamscale, betscale, k2, eps, cbet12a, bet12a, m12b, m0, nvals,
- k, omg12a, lam12x;
- vals.sig12 = -1; // Return value
- // Volatile declaration needed to fix inverse cases
- // 88.202499451857 0 -88.202499451857 179.981022032992859592
- // 89.262080389218 0 -89.262080389218 179.992207982775375662
- // 89.333123580033 0 -89.333123580032997687 179.99295812360148422
- // which otherwise fail with g++ 4.4.4 x86 -O3
- sbet12a = sbet2 * cbet1;
- sbet12a += cbet2 * sbet1;
-
- shortline = cbet12 >= 0 && sbet12 < 0.5 && cbet2 * lam12 < 0.5;
- if (shortline) {
- sbetm2 = m.sq(sbet1 + sbet2);
- // sin((bet1+bet2)/2)^2
- // = (sbet1 + sbet2)^2 / ((sbet1 + sbet2)^2 + (cbet1 + cbet2)^2)
- sbetm2 /= sbetm2 + m.sq(cbet1 + cbet2);
- vals.dnm = Math.sqrt(1 + this._ep2 * sbetm2);
- omg12 = lam12 / (this._f1 * vals.dnm);
- somg12 = Math.sin(omg12); comg12 = Math.cos(omg12);
- } else {
- somg12 = slam12; comg12 = clam12;
- }
-
- vals.salp1 = cbet2 * somg12;
- vals.calp1 = comg12 >= 0 ?
- sbet12 + cbet2 * sbet1 * m.sq(somg12) / (1 + comg12) :
- sbet12a - cbet2 * sbet1 * m.sq(somg12) / (1 - comg12);
-
- ssig12 = m.hypot(vals.salp1, vals.calp1);
- csig12 = sbet1 * sbet2 + cbet1 * cbet2 * comg12;
- if (shortline && ssig12 < this._etol2) {
- // really short lines
- vals.salp2 = cbet1 * somg12;
- vals.calp2 = sbet12 - cbet1 * sbet2 *
- (comg12 >= 0 ? m.sq(somg12) / (1 + comg12) : 1 - comg12);
- // norm(vals.salp2, vals.calp2);
- t = m.hypot(vals.salp2, vals.calp2); vals.salp2 /= t; vals.calp2 /= t;
- // Set return value
- vals.sig12 = Math.atan2(ssig12, csig12);
- } else if (Math.abs(this._n) > 0.1 || // Skip astroid calc if too eccentric
- csig12 >= 0 ||
- ssig12 >= 6 * Math.abs(this._n) * Math.PI * m.sq(cbet1)) {
- // Nothing to do, zeroth order spherical approximation is OK
- } else {
- // Scale lam12 and bet2 to x, y coordinate system where antipodal
- // point is at origin and singular point is at y = 0, x = -1.
- lam12x = Math.atan2(-slam12, -clam12); // lam12 - pi
- if (this.f >= 0) { // In fact f == 0 does not get here
- // x = dlong, y = dlat
- k2 = m.sq(sbet1) * this._ep2;
- eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- lamscale = this.f * cbet1 * this.A3f(eps) * Math.PI;
- betscale = lamscale * cbet1;
-
- x = lam12x / lamscale;
- y = sbet12a / betscale;
- } else { // f < 0
- // x = dlat, y = dlong
- cbet12a = cbet2 * cbet1 - sbet2 * sbet1;
- bet12a = Math.atan2(sbet12a, cbet12a);
- // In the case of lon12 = 180, this repeats a calculation made
- // in Inverse.
- nvals = this.Lengths(this._n, Math.PI + bet12a,
- sbet1, -cbet1, dn1, sbet2, cbet2, dn2,
- cbet1, cbet2, g.REDUCEDLENGTH, C1a, C2a);
- m12b = nvals.m12b; m0 = nvals.m0;
- x = -1 + m12b / (cbet1 * cbet2 * m0 * Math.PI);
- betscale = x < -0.01 ? sbet12a / x :
- -this.f * m.sq(cbet1) * Math.PI;
- lamscale = betscale / cbet1;
- y = lam12 / lamscale;
- }
-
- if (y > -tol1_ && x > -1 - xthresh_) {
- // strip near cut
- if (this.f >= 0) {
- vals.salp1 = Math.min(1, -x);
- vals.calp1 = -Math.sqrt(1 - m.sq(vals.salp1));
- } else {
- vals.calp1 = Math.max(x > -tol1_ ? 0 : -1, x);
- vals.salp1 = Math.sqrt(1 - m.sq(vals.calp1));
- }
- } else {
- // Estimate alp1, by solving the astroid problem.
- //
- // Could estimate alpha1 = theta + pi/2, directly, i.e.,
- // calp1 = y/k; salp1 = -x/(1+k); for f >= 0
- // calp1 = x/(1+k); salp1 = -y/k; for f < 0 (need to check)
- //
- // However, it's better to estimate omg12 from astroid and use
- // spherical formula to compute alp1. This reduces the mean number of
- // Newton iterations for astroid cases from 2.24 (min 0, max 6) to 2.12
- // (min 0 max 5). The changes in the number of iterations are as
- // follows:
- //
- // change percent
- // 1 5
- // 0 78
- // -1 16
- // -2 0.6
- // -3 0.04
- // -4 0.002
- //
- // The histogram of iterations is (m = number of iterations estimating
- // alp1 directly, n = number of iterations estimating via omg12, total
- // number of trials = 148605):
- //
- // iter m n
- // 0 148 186
- // 1 13046 13845
- // 2 93315 102225
- // 3 36189 32341
- // 4 5396 7
- // 5 455 1
- // 6 56 0
- //
- // Because omg12 is near pi, estimate work with omg12a = pi - omg12
- k = astroid(x, y);
- omg12a = lamscale * ( this.f >= 0 ? -x * k/(1 + k) : -y * (1 + k)/k );
- somg12 = Math.sin(omg12a); comg12 = -Math.cos(omg12a);
- // Update spherical estimate of alp1 using omg12 instead of
- // lam12
- vals.salp1 = cbet2 * somg12;
- vals.calp1 = sbet12a -
- cbet2 * sbet1 * m.sq(somg12) / (1 - comg12);
- }
- }
- // Sanity check on starting guess. Backwards check allows NaN through.
- if (!(vals.salp1 <= 0.0)) {
- // norm(vals.salp1, vals.calp1);
- t = m.hypot(vals.salp1, vals.calp1); vals.salp1 /= t; vals.calp1 /= t;
- } else {
- vals.salp1 = 1; vals.calp1 = 0;
- }
- return vals;
- };
-
- // return lam12, salp2, calp2, sig12, ssig1, csig1, ssig2, csig2, eps,
- // domg12, dlam12,
- g.Geodesic.prototype.Lambda12 = function(sbet1, cbet1, dn1,
- sbet2, cbet2, dn2,
- salp1, calp1, slam120, clam120,
- diffp, C1a, C2a, C3a) {
- var vals = {},
- t, salp0, calp0,
- somg1, comg1, somg2, comg2, somg12, comg12, B312, eta, k2, nvals;
- if (sbet1 === 0 && calp1 === 0)
- // Break degeneracy of equatorial line. This case has already been
- // handled.
- calp1 = -g.tiny_;
-
- // sin(alp1) * cos(bet1) = sin(alp0)
- salp0 = salp1 * cbet1;
- calp0 = m.hypot(calp1, salp1 * sbet1); // calp0 > 0
-
- // tan(bet1) = tan(sig1) * cos(alp1)
- // tan(omg1) = sin(alp0) * tan(sig1) = tan(omg1)=tan(alp1)*sin(bet1)
- vals.ssig1 = sbet1; somg1 = salp0 * sbet1;
- vals.csig1 = comg1 = calp1 * cbet1;
- // norm(vals.ssig1, vals.csig1);
- t = m.hypot(vals.ssig1, vals.csig1); vals.ssig1 /= t; vals.csig1 /= t;
- // norm(somg1, comg1); -- don't need to normalize!
-
- // Enforce symmetries in the case abs(bet2) = -bet1. Need to be careful
- // about this case, since this can yield singularities in the Newton
- // iteration.
- // sin(alp2) * cos(bet2) = sin(alp0)
- vals.salp2 = cbet2 !== cbet1 ? salp0 / cbet2 : salp1;
- // calp2 = sqrt(1 - sq(salp2))
- // = sqrt(sq(calp0) - sq(sbet2)) / cbet2
- // and subst for calp0 and rearrange to give (choose positive sqrt
- // to give alp2 in [0, pi/2]).
- vals.calp2 = cbet2 !== cbet1 || Math.abs(sbet2) !== -sbet1 ?
- Math.sqrt(m.sq(calp1 * cbet1) + (cbet1 < -sbet1 ?
- (cbet2 - cbet1) * (cbet1 + cbet2) :
- (sbet1 - sbet2) * (sbet1 + sbet2))) /
- cbet2 : Math.abs(calp1);
- // tan(bet2) = tan(sig2) * cos(alp2)
- // tan(omg2) = sin(alp0) * tan(sig2).
- vals.ssig2 = sbet2; somg2 = salp0 * sbet2;
- vals.csig2 = comg2 = vals.calp2 * cbet2;
- // norm(vals.ssig2, vals.csig2);
- t = m.hypot(vals.ssig2, vals.csig2); vals.ssig2 /= t; vals.csig2 /= t;
- // norm(somg2, comg2); -- don't need to normalize!
-
- // sig12 = sig2 - sig1, limit to [0, pi]
- vals.sig12 = Math.atan2(Math.max(0, vals.csig1 * vals.ssig2 -
- vals.ssig1 * vals.csig2),
- vals.csig1 * vals.csig2 +
- vals.ssig1 * vals.ssig2);
-
- // omg12 = omg2 - omg1, limit to [0, pi]
- somg12 = Math.max(0, comg1 * somg2 - somg1 * comg2);
- comg12 = comg1 * comg2 + somg1 * somg2;
- // eta = omg12 - lam120
- eta = Math.atan2(somg12 * clam120 - comg12 * slam120,
- comg12 * clam120 + somg12 * slam120);
- k2 = m.sq(calp0) * this._ep2;
- vals.eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- this.C3f(vals.eps, C3a);
- B312 = (g.SinCosSeries(true, vals.ssig2, vals.csig2, C3a) -
- g.SinCosSeries(true, vals.ssig1, vals.csig1, C3a));
- vals.domg12 = -this.f * this.A3f(vals.eps) * salp0 * (vals.sig12 + B312);
- vals.lam12 = eta + vals.domg12;
- if (diffp) {
- if (vals.calp2 === 0)
- vals.dlam12 = -2 * this._f1 * dn1 / sbet1;
- else {
- nvals = this.Lengths(vals.eps, vals.sig12,
- vals.ssig1, vals.csig1, dn1,
- vals.ssig2, vals.csig2, dn2,
- cbet1, cbet2, g.REDUCEDLENGTH, C1a, C2a);
- vals.dlam12 = nvals.m12b;
- vals.dlam12 *= this._f1 / (vals.calp2 * cbet2);
- }
- }
- return vals;
- };
-
- /**
- * @summary Solve the inverse geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} lat2 the latitude of the second point in degrees.
- * @param {number} lon2 the longitude of the second point in degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results
- * @description The lat1, lon1, lat2, lon2, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Inverse = function(lat1, lon1, lat2, lon2, outmask) {
- var r, vals;
- if (!outmask) outmask = g.STANDARD;
- if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- outmask &= g.OUT_MASK;
- r = this.InverseInt(lat1, lon1, lat2, lon2, outmask);
- vals = r.vals;
- if (outmask & g.AZIMUTH) {
- vals.azi1 = m.atan2d(r.salp1, r.calp1);
- vals.azi2 = m.atan2d(r.salp2, r.calp2);
- }
- return vals;
- };
-
- g.Geodesic.prototype.InverseInt = function(lat1, lon1, lat2, lon2, outmask) {
- var vals = {},
- lon12, lon12s, lonsign, t, swapp, latsign,
- sbet1, cbet1, sbet2, cbet2, s12x, m12x,
- dn1, dn2, lam12, slam12, clam12,
- sig12, calp1, salp1, calp2, salp2, C1a, C2a, C3a, meridian, nvals,
- ssig1, csig1, ssig2, csig2, eps, omg12, dnm,
- numit, salp1a, calp1a, salp1b, calp1b,
- tripn, tripb, v, dv, dalp1, sdalp1, cdalp1, nsalp1,
- lengthmask, salp0, calp0, alp12, k2, A4, C4a, B41, B42,
- somg12, comg12, domg12, dbet1, dbet2, salp12, calp12, sdomg12, cdomg12;
- // Compute longitude difference (AngDiff does this carefully). Result is
- // in [-180, 180] but -180 is only for west-going geodesics. 180 is for
- // east-going and meridional geodesics.
- vals.lat1 = lat1 = m.LatFix(lat1); vals.lat2 = lat2 = m.LatFix(lat2);
- // If really close to the equator, treat as on equator.
- lat1 = m.AngRound(lat1);
- lat2 = m.AngRound(lat2);
- lon12 = m.AngDiff(lon1, lon2); lon12s = lon12.t; lon12 = lon12.s;
- if (outmask & g.LONG_UNROLL) {
- vals.lon1 = lon1; vals.lon2 = (lon1 + lon12) + lon12s;
- } else {
- vals.lon1 = m.AngNormalize(lon1); vals.lon2 = m.AngNormalize(lon2);
- }
- // Make longitude difference positive.
- lonsign = lon12 >= 0 ? 1 : -1;
- // If very close to being on the same half-meridian, then make it so.
- lon12 = lonsign * m.AngRound(lon12);
- lon12s = m.AngRound((180 - lon12) - lonsign * lon12s);
- lam12 = lon12 * m.degree;
- t = m.sincosd(lon12 > 90 ? lon12s : lon12);
- slam12 = t.s; clam12 = (lon12 > 90 ? -1 : 1) * t.c;
-
- // Swap points so that point with higher (abs) latitude is point 1
- // If one latitude is a nan, then it becomes lat1.
- swapp = Math.abs(lat1) < Math.abs(lat2) ? -1 : 1;
- if (swapp < 0) {
- lonsign *= -1;
- t = lat1;
- lat1 = lat2;
- lat2 = t;
- // swap(lat1, lat2);
- }
- // Make lat1 <= 0
- latsign = lat1 < 0 ? 1 : -1;
- lat1 *= latsign;
- lat2 *= latsign;
- // Now we have
- //
- // 0 <= lon12 <= 180
- // -90 <= lat1 <= 0
- // lat1 <= lat2 <= -lat1
- //
- // longsign, swapp, latsign register the transformation to bring the
- // coordinates to this canonical form. In all cases, 1 means no change was
- // made. We make these transformations so that there are few cases to
- // check, e.g., on verifying quadrants in atan2. In addition, this
- // enforces some symmetries in the results returned.
-
- t = m.sincosd(lat1); sbet1 = this._f1 * t.s; cbet1 = t.c;
- // norm(sbet1, cbet1);
- t = m.hypot(sbet1, cbet1); sbet1 /= t; cbet1 /= t;
- // Ensure cbet1 = +epsilon at poles
- cbet1 = Math.max(g.tiny_, cbet1);
-
- t = m.sincosd(lat2); sbet2 = this._f1 * t.s; cbet2 = t.c;
- // norm(sbet2, cbet2);
- t = m.hypot(sbet2, cbet2); sbet2 /= t; cbet2 /= t;
- // Ensure cbet2 = +epsilon at poles
- cbet2 = Math.max(g.tiny_, cbet2);
-
- // If cbet1 < -sbet1, then cbet2 - cbet1 is a sensitive measure of the
- // |bet1| - |bet2|. Alternatively (cbet1 >= -sbet1), abs(sbet2) + sbet1 is
- // a better measure. This logic is used in assigning calp2 in Lambda12.
- // Sometimes these quantities vanish and in that case we force bet2 = +/-
- // bet1 exactly. An example where is is necessary is the inverse problem
- // 48.522876735459 0 -48.52287673545898293 179.599720456223079643
- // which failed with Visual Studio 10 (Release and Debug)
-
- if (cbet1 < -sbet1) {
- if (cbet2 === cbet1)
- sbet2 = sbet2 < 0 ? sbet1 : -sbet1;
- } else {
- if (Math.abs(sbet2) === -sbet1)
- cbet2 = cbet1;
- }
-
- dn1 = Math.sqrt(1 + this._ep2 * m.sq(sbet1));
- dn2 = Math.sqrt(1 + this._ep2 * m.sq(sbet2));
-
- // index zero elements of these arrays are unused
- C1a = new Array(g.nC1_ + 1);
- C2a = new Array(g.nC2_ + 1);
- C3a = new Array(g.nC3_);
-
- meridian = lat1 === -90 || slam12 === 0;
- if (meridian) {
-
- // Endpoints are on a single full meridian, so the geodesic might
- // lie on a meridian.
-
- calp1 = clam12; salp1 = slam12; // Head to the target longitude
- calp2 = 1; salp2 = 0; // At the target we're heading north
-
- // tan(bet) = tan(sig) * cos(alp)
- ssig1 = sbet1; csig1 = calp1 * cbet1;
- ssig2 = sbet2; csig2 = calp2 * cbet2;
-
- // sig12 = sig2 - sig1
- sig12 = Math.atan2(Math.max(0, csig1 * ssig2 - ssig1 * csig2),
- csig1 * csig2 + ssig1 * ssig2);
- nvals = this.Lengths(this._n, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2, cbet1, cbet2,
- outmask | g.DISTANCE | g.REDUCEDLENGTH,
- C1a, C2a);
- s12x = nvals.s12b;
- m12x = nvals.m12b;
- // Ignore m0
- if (outmask & g.GEODESICSCALE) {
- vals.M12 = nvals.M12;
- vals.M21 = nvals.M21;
- }
- // Add the check for sig12 since zero length geodesics might yield
- // m12 < 0. Test case was
- //
- // echo 20.001 0 20.001 0 | GeodSolve -i
- //
- // In fact, we will have sig12 > pi/2 for meridional geodesic
- // which is not a shortest path.
- if (sig12 < 1 || m12x >= 0) {
- // Need at least 2, to handle 90 0 90 180
- if (sig12 < 3 * g.tiny_)
- sig12 = m12x = s12x = 0;
- m12x *= this._b;
- s12x *= this._b;
- vals.a12 = sig12 / m.degree;
- } else
- // m12 < 0, i.e., prolate and too close to anti-podal
- meridian = false;
- }
-
- somg12 = 2;
- if (!meridian &&
- sbet1 === 0 && // and sbet2 == 0
- (this.f <= 0 || lon12s >= this.f * 180)) {
-
- // Geodesic runs along equator
- calp1 = calp2 = 0; salp1 = salp2 = 1;
- s12x = this.a * lam12;
- sig12 = omg12 = lam12 / this._f1;
- m12x = this._b * Math.sin(sig12);
- if (outmask & g.GEODESICSCALE)
- vals.M12 = vals.M21 = Math.cos(sig12);
- vals.a12 = lon12 / this._f1;
-
- } else if (!meridian) {
-
- // Now point1 and point2 belong within a hemisphere bounded by a
- // meridian and geodesic is neither meridional or equatorial.
-
- // Figure a starting point for Newton's method
- nvals = this.InverseStart(sbet1, cbet1, dn1, sbet2, cbet2, dn2,
- lam12, slam12, clam12, C1a, C2a);
- sig12 = nvals.sig12;
- salp1 = nvals.salp1;
- calp1 = nvals.calp1;
-
- if (sig12 >= 0) {
- salp2 = nvals.salp2;
- calp2 = nvals.calp2;
- // Short lines (InverseStart sets salp2, calp2, dnm)
-
- dnm = nvals.dnm;
- s12x = sig12 * this._b * dnm;
- m12x = m.sq(dnm) * this._b * Math.sin(sig12 / dnm);
- if (outmask & g.GEODESICSCALE)
- vals.M12 = vals.M21 = Math.cos(sig12 / dnm);
- vals.a12 = sig12 / m.degree;
- omg12 = lam12 / (this._f1 * dnm);
- } else {
-
- // Newton's method. This is a straightforward solution of f(alp1) =
- // lambda12(alp1) - lam12 = 0 with one wrinkle. f(alp) has exactly one
- // root in the interval (0, pi) and its derivative is positive at the
- // root. Thus f(alp) is positive for alp > alp1 and negative for alp <
- // alp1. During the course of the iteration, a range (alp1a, alp1b) is
- // maintained which brackets the root and with each evaluation of
- // f(alp) the range is shrunk if possible. Newton's method is
- // restarted whenever the derivative of f is negative (because the new
- // value of alp1 is then further from the solution) or if the new
- // estimate of alp1 lies outside (0,pi); in this case, the new starting
- // guess is taken to be (alp1a + alp1b) / 2.
- numit = 0;
- // Bracketing range
- salp1a = g.tiny_; calp1a = 1; salp1b = g.tiny_; calp1b = -1;
- for (tripn = false, tripb = false; numit < maxit2_; ++numit) {
- // the WGS84 test set: mean = 1.47, sd = 1.25, max = 16
- // WGS84 and random input: mean = 2.85, sd = 0.60
- nvals = this.Lambda12(sbet1, cbet1, dn1, sbet2, cbet2, dn2,
- salp1, calp1, slam12, clam12, numit < maxit1_,
- C1a, C2a, C3a);
- v = nvals.lam12;
- salp2 = nvals.salp2;
- calp2 = nvals.calp2;
- sig12 = nvals.sig12;
- ssig1 = nvals.ssig1;
- csig1 = nvals.csig1;
- ssig2 = nvals.ssig2;
- csig2 = nvals.csig2;
- eps = nvals.eps;
- domg12 = nvals.domg12;
- dv = nvals.dlam12;
-
- // 2 * tol0 is approximately 1 ulp for a number in [0, pi].
- // Reversed test to allow escape with NaNs
- if (tripb || !(Math.abs(v) >= (tripn ? 8 : 1) * tol0_))
- break;
- // Update bracketing values
- if (v > 0 && (numit < maxit1_ || calp1/salp1 > calp1b/salp1b)) {
- salp1b = salp1; calp1b = calp1;
- } else if (v < 0 &&
- (numit < maxit1_ || calp1/salp1 < calp1a/salp1a)) {
- salp1a = salp1; calp1a = calp1;
- }
- if (numit < maxit1_ && dv > 0) {
- dalp1 = -v/dv;
- sdalp1 = Math.sin(dalp1); cdalp1 = Math.cos(dalp1);
- nsalp1 = salp1 * cdalp1 + calp1 * sdalp1;
- if (nsalp1 > 0 && Math.abs(dalp1) < Math.PI) {
- calp1 = calp1 * cdalp1 - salp1 * sdalp1;
- salp1 = nsalp1;
- // norm(salp1, calp1);
- t = m.hypot(salp1, calp1); salp1 /= t; calp1 /= t;
- // In some regimes we don't get quadratic convergence because
- // slope -> 0. So use convergence conditions based on epsilon
- // instead of sqrt(epsilon).
- tripn = Math.abs(v) <= 16 * tol0_;
- continue;
- }
- }
- // Either dv was not positive or updated value was outside legal
- // range. Use the midpoint of the bracket as the next estimate.
- // This mechanism is not needed for the WGS84 ellipsoid, but it does
- // catch problems with more eccentric ellipsoids. Its efficacy is
- // such for the WGS84 test set with the starting guess set to alp1 =
- // 90deg:
- // the WGS84 test set: mean = 5.21, sd = 3.93, max = 24
- // WGS84 and random input: mean = 4.74, sd = 0.99
- salp1 = (salp1a + salp1b)/2;
- calp1 = (calp1a + calp1b)/2;
- // norm(salp1, calp1);
- t = m.hypot(salp1, calp1); salp1 /= t; calp1 /= t;
- tripn = false;
- tripb = (Math.abs(salp1a - salp1) + (calp1a - calp1) < tolb_ ||
- Math.abs(salp1 - salp1b) + (calp1 - calp1b) < tolb_);
- }
- lengthmask = outmask |
- (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE) ?
- g.DISTANCE : g.NONE);
- nvals = this.Lengths(eps, sig12,
- ssig1, csig1, dn1, ssig2, csig2, dn2,
- cbet1, cbet2,
- lengthmask, C1a, C2a);
- s12x = nvals.s12b;
- m12x = nvals.m12b;
- // Ignore m0
- if (outmask & g.GEODESICSCALE) {
- vals.M12 = nvals.M12;
- vals.M21 = nvals.M21;
- }
- m12x *= this._b;
- s12x *= this._b;
- vals.a12 = sig12 / m.degree;
- if (outmask & g.AREA) {
- // omg12 = lam12 - domg12
- sdomg12 = Math.sin(domg12); cdomg12 = Math.cos(domg12);
- somg12 = slam12 * cdomg12 - clam12 * sdomg12;
- comg12 = clam12 * cdomg12 + slam12 * sdomg12;
- }
- }
- }
-
- if (outmask & g.DISTANCE)
- vals.s12 = 0 + s12x; // Convert -0 to 0
-
- if (outmask & g.REDUCEDLENGTH)
- vals.m12 = 0 + m12x; // Convert -0 to 0
-
- if (outmask & g.AREA) {
- // From Lambda12: sin(alp1) * cos(bet1) = sin(alp0)
- salp0 = salp1 * cbet1;
- calp0 = m.hypot(calp1, salp1 * sbet1); // calp0 > 0
- if (calp0 !== 0 && salp0 !== 0) {
- // From Lambda12: tan(bet) = tan(sig) * cos(alp)
- ssig1 = sbet1; csig1 = calp1 * cbet1;
- ssig2 = sbet2; csig2 = calp2 * cbet2;
- k2 = m.sq(calp0) * this._ep2;
- eps = k2 / (2 * (1 + Math.sqrt(1 + k2)) + k2);
- // Multiplier = a^2 * e^2 * cos(alpha0) * sin(alpha0).
- A4 = m.sq(this.a) * calp0 * salp0 * this._e2;
- // norm(ssig1, csig1);
- t = m.hypot(ssig1, csig1); ssig1 /= t; csig1 /= t;
- // norm(ssig2, csig2);
- t = m.hypot(ssig2, csig2); ssig2 /= t; csig2 /= t;
- C4a = new Array(g.nC4_);
- this.C4f(eps, C4a);
- B41 = g.SinCosSeries(false, ssig1, csig1, C4a);
- B42 = g.SinCosSeries(false, ssig2, csig2, C4a);
- vals.S12 = A4 * (B42 - B41);
- } else
- // Avoid problems with indeterminate sig1, sig2 on equator
- vals.S12 = 0;
- if (!meridian && somg12 > 1) {
- somg12 = Math.sin(omg12); comg12 = Math.cos(omg12);
- }
- if (!meridian &&
- comg12 > -0.7071 && // Long difference not too big
- sbet2 - sbet1 < 1.75) { // Lat difference not too big
- // Use tan(Gamma/2) = tan(omg12/2)
- // * (tan(bet1/2)+tan(bet2/2))/(1+tan(bet1/2)*tan(bet2/2))
- // with tan(x/2) = sin(x)/(1+cos(x))
- domg12 = 1 + comg12; dbet1 = 1 + cbet1; dbet2 = 1 + cbet2;
- alp12 = 2 * Math.atan2( somg12 * (sbet1*dbet2 + sbet2*dbet1),
- domg12 * (sbet1*sbet2 + dbet1*dbet2) );
- } else {
- // alp12 = alp2 - alp1, used in atan2 so no need to normalize
- salp12 = salp2 * calp1 - calp2 * salp1;
- calp12 = calp2 * calp1 + salp2 * salp1;
- // The right thing appears to happen if alp1 = +/-180 and alp2 = 0, viz
- // salp12 = -0 and alp12 = -180. However this depends on the sign
- // being attached to 0 correctly. The following ensures the correct
- // behavior.
- if (salp12 === 0 && calp12 < 0) {
- salp12 = g.tiny_ * calp1;
- calp12 = -1;
- }
- alp12 = Math.atan2(salp12, calp12);
- }
- vals.S12 += this._c2 * alp12;
- vals.S12 *= swapp * lonsign * latsign;
- // Convert -0 to 0
- vals.S12 += 0;
- }
-
- // Convert calp, salp to azimuth accounting for lonsign, swapp, latsign.
- if (swapp < 0) {
- t = salp1;
- salp1 = salp2;
- salp2 = t;
- // swap(salp1, salp2);
- t = calp1;
- calp1 = calp2;
- calp2 = t;
- // swap(calp1, calp2);
- if (outmask & g.GEODESICSCALE) {
- t = vals.M12;
- vals.M12 = vals.M21;
- vals.M21 = t;
- // swap(vals.M12, vals.M21);
- }
- }
-
- salp1 *= swapp * lonsign; calp1 *= swapp * latsign;
- salp2 *= swapp * lonsign; calp2 *= swapp * latsign;
-
- return {vals: vals,
- salp1: salp1, calp1: calp1,
- salp2: salp2, calp2: calp2};
- };
-
- /**
- * @summary Solve the general direct geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {bool} arcmode is the next parameter an arc length?
- * @param {number} s12_a12 the (arcmode ? arc length : distance) from the
- * first point to the second in (arcmode ? degrees : meters).
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are always
- * set; s12 is included if arcmode is false. For details on the outmask
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.GenDirect = function(lat1, lon1, azi1,
- arcmode, s12_a12, outmask) {
- var line;
- if (!outmask) outmask = g.STANDARD;
- else if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- // Automatically supply DISTANCE_IN if necessary
- if (!arcmode) outmask |= g.DISTANCE_IN;
- line = new l.GeodesicLine(this, lat1, lon1, azi1, outmask);
- return line.GenPosition(arcmode, s12_a12, outmask);
- };
-
- /**
- * @summary Solve the direct geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {number} s12 the distance from the first point to the second in
- * meters.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, s12, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Direct = function(lat1, lon1, azi1, s12, outmask) {
- return this.GenDirect(lat1, lon1, azi1, false, s12, outmask);
- };
-
- /**
- * @summary Solve the direct geodesic problem with arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {number} a12 the arc length from the first point to the second in
- * degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.ArcDirect = function(lat1, lon1, azi1, a12, outmask) {
- return this.GenDirect(lat1, lon1, azi1, true, a12, outmask);
- };
-
- /**
- * @summary Create a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description For details on the caps parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- g.Geodesic.prototype.Line = function(lat1, lon1, azi1, caps) {
- return new l.GeodesicLine(this, lat1, lon1, azi1, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of distance.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {number} s12 the distance between point 1 and point 2 (meters); it
- * can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.DirectLine = function(lat1, lon1, azi1, s12, caps) {
- return this.GenDirectLine(lat1, lon1, azi1, false, s12, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {number} a12 the arc length between point 1 and point 2 (degrees);
- * it can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.ArcDirectLine = function(lat1, lon1, azi1, a12, caps) {
- return this.GenDirectLine(lat1, lon1, azi1, true, a12, caps);
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the direct geodesic problem specified in terms
- * of either distance or arc length.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * degrees.
- * @param {bool} arcmode boolean flag determining the meaning of the
- * s12_a12.
- * @param {number} s12_a12 if arcmode is false, this is the distance between
- * point 1 and point 2 (meters); otherwise it is the arc length between
- * point 1 and point 2 (degrees); it can be negative.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the direct geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.GenDirectLine = function(lat1, lon1, azi1,
- arcmode, s12_a12, caps) {
- var t;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
- // Automatically supply DISTANCE_IN if necessary
- if (!arcmode) caps |= g.DISTANCE_IN;
- t = new l.GeodesicLine(this, lat1, lon1, azi1, caps);
- t.GenSetDistance(arcmode, s12_a12);
- return t;
- };
-
- /**
- * @summary Define a {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} in terms of the inverse geodesic problem.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} lat2 the latitude of the second point in degrees.
- * @param {number} lon2 the longitude of the second point in degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include.
- * @returns {object} the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine
- * GeodesicLine} object
- * @description This function sets point 3 of the GeodesicLine to correspond
- * to point 2 of the inverse geodesic problem. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- g.Geodesic.prototype.InverseLine = function(lat1, lon1, lat2, lon2, caps) {
- var r, t, azi1;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
- r = this.InverseInt(lat1, lon1, lat2, lon2, g.ARC);
- azi1 = m.atan2d(r.salp1, r.calp1);
- // Ensure that a12 can be converted to a distance
- if (caps & (g.OUT_MASK & g.DISTANCE_IN)) caps |= g.DISTANCE;
- t = new l.GeodesicLine(this, lat1, lon1, azi1, caps, r.salp1, r.calp1);
- t.SetArc(r.vals.a12);
- return t;
- };
-
- /**
- * @summary Create a {@link module:GeographicLib/PolygonArea.PolygonArea
- * PolygonArea} object.
- * @param {bool} [polyline = false] if true the new PolygonArea object
- * describes a polyline instead of a polygon.
- * @returns {object} the
- * {@link module:GeographicLib/PolygonArea.PolygonArea
- * PolygonArea} object
- */
- g.Geodesic.prototype.Polygon = function(polyline) {
- return new p.PolygonArea(this, polyline);
- };
-
- /**
- * @summary a {@link module:GeographicLib/Geodesic.Geodesic Geodesic} object
- * initialized for the WGS84 ellipsoid.
- * @constant {object}
- */
- g.WGS84 = new g.Geodesic(c.WGS84.a, c.WGS84.f);
-})(GeographicLib.Geodesic, GeographicLib.GeodesicLine,
- GeographicLib.PolygonArea, GeographicLib.Math, GeographicLib.Constants);
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/GeodesicLine.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/GeodesicLine.js
deleted file mode 100644
index e21330d95e4c3ed42b3ec4dbf375d72ec330ee8b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/GeodesicLine.js
+++ /dev/null
@@ -1,415 +0,0 @@
-/*
- * GeodesicLine.js
- * Transcription of GeodesicLine.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER GeographicLib/Math.js, GeographicLib/Geodesic.js
-
-(function(
- g,
- /**
- * @exports GeographicLib/GeodesicLine
- * @description Solve geodesic problems on a single geodesic line via the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine GeodesicLine}
- * class.
- */
- l, m) {
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @property {number} lat1 the initial latitude (degrees).
- * @property {number} lon1 the initial longitude (degrees).
- * @property {number} azi1 the initial azimuth (degrees).
- * @property {number} salp1 the sine of the azimuth at the first point.
- * @property {number} calp1 the cosine the azimuth at the first point.
- * @property {number} s13 the distance to point 3 (meters).
- * @property {number} a13 the arc length to point 3 (degrees).
- * @property {bitmask} caps the capabilities of the object.
- * @summary Initialize a GeodesicLine object. For details on the caps
- * parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- * @classdesc Performs geodesic calculations along a given geodesic line.
- * This object is usually instantiated by
- * {@link module:GeographicLib/Geodesic.Geodesic#Line Geodesic.Line}.
- * The methods
- * {@link module:GeographicLib/Geodesic.Geodesic#DirectLine
- * Geodesic.DirectLine} and
- * {@link module:GeographicLib/Geodesic.Geodesic#InverseLine
- * Geodesic.InverseLine} set in addition the position of a reference point
- * 3.
- * @param {object} geod a {@link module:GeographicLib/Geodesic.Geodesic
- * Geodesic} object.
- * @param {number} lat1 the latitude of the first point in degrees.
- * @param {number} lon1 the longitude of the first point in degrees.
- * @param {number} azi1 the azimuth at the first point in degrees.
- * @param {bitmask} [caps = STANDARD | DISTANCE_IN] which capabilities to
- * include; LATITUDE | AZIMUTH are always included.
- */
- l.GeodesicLine = function(geod, lat1, lon1, azi1, caps, salp1, calp1) {
- var t, cbet1, sbet1, eps, s, c;
- if (!caps) caps = g.STANDARD | g.DISTANCE_IN;
-
- this.a = geod.a;
- this.f = geod.f;
- this._b = geod._b;
- this._c2 = geod._c2;
- this._f1 = geod._f1;
- this.caps = caps | g.LATITUDE | g.AZIMUTH | g.LONG_UNROLL;
-
- this.lat1 = m.LatFix(lat1);
- this.lon1 = lon1;
- if (typeof salp1 === 'undefined' || typeof calp1 === 'undefined') {
- this.azi1 = m.AngNormalize(azi1);
- t = m.sincosd(m.AngRound(this.azi1)); this.salp1 = t.s; this.calp1 = t.c;
- } else {
- this.azi1 = azi1; this.salp1 = salp1; this.calp1 = calp1;
- }
- t = m.sincosd(m.AngRound(this.lat1)); sbet1 = this._f1 * t.s; cbet1 = t.c;
- // norm(sbet1, cbet1);
- t = m.hypot(sbet1, cbet1); sbet1 /= t; cbet1 /= t;
- // Ensure cbet1 = +epsilon at poles
- cbet1 = Math.max(g.tiny_, cbet1);
- this._dn1 = Math.sqrt(1 + geod._ep2 * m.sq(sbet1));
-
- // Evaluate alp0 from sin(alp1) * cos(bet1) = sin(alp0),
- this._salp0 = this.salp1 * cbet1; // alp0 in [0, pi/2 - |bet1|]
- // Alt: calp0 = hypot(sbet1, calp1 * cbet1). The following
- // is slightly better (consider the case salp1 = 0).
- this._calp0 = m.hypot(this.calp1, this.salp1 * sbet1);
- // Evaluate sig with tan(bet1) = tan(sig1) * cos(alp1).
- // sig = 0 is nearest northward crossing of equator.
- // With bet1 = 0, alp1 = pi/2, we have sig1 = 0 (equatorial line).
- // With bet1 = pi/2, alp1 = -pi, sig1 = pi/2
- // With bet1 = -pi/2, alp1 = 0 , sig1 = -pi/2
- // Evaluate omg1 with tan(omg1) = sin(alp0) * tan(sig1).
- // With alp0 in (0, pi/2], quadrants for sig and omg coincide.
- // No atan2(0,0) ambiguity at poles since cbet1 = +epsilon.
- // With alp0 = 0, omg1 = 0 for alp1 = 0, omg1 = pi for alp1 = pi.
- this._ssig1 = sbet1; this._somg1 = this._salp0 * sbet1;
- this._csig1 = this._comg1 =
- sbet1 !== 0 || this.calp1 !== 0 ? cbet1 * this.calp1 : 1;
- // norm(this._ssig1, this._csig1); // sig1 in (-pi, pi]
- t = m.hypot(this._ssig1, this._csig1);
- this._ssig1 /= t; this._csig1 /= t;
- // norm(this._somg1, this._comg1); -- don't need to normalize!
-
- this._k2 = m.sq(this._calp0) * geod._ep2;
- eps = this._k2 / (2 * (1 + Math.sqrt(1 + this._k2)) + this._k2);
-
- if (this.caps & g.CAP_C1) {
- this._A1m1 = g.A1m1f(eps);
- this._C1a = new Array(g.nC1_ + 1);
- g.C1f(eps, this._C1a);
- this._B11 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C1a);
- s = Math.sin(this._B11); c = Math.cos(this._B11);
- // tau1 = sig1 + B11
- this._stau1 = this._ssig1 * c + this._csig1 * s;
- this._ctau1 = this._csig1 * c - this._ssig1 * s;
- // Not necessary because C1pa reverts C1a
- // _B11 = -SinCosSeries(true, _stau1, _ctau1, _C1pa);
- }
-
- if (this.caps & g.CAP_C1p) {
- this._C1pa = new Array(g.nC1p_ + 1);
- g.C1pf(eps, this._C1pa);
- }
-
- if (this.caps & g.CAP_C2) {
- this._A2m1 = g.A2m1f(eps);
- this._C2a = new Array(g.nC2_ + 1);
- g.C2f(eps, this._C2a);
- this._B21 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C2a);
- }
-
- if (this.caps & g.CAP_C3) {
- this._C3a = new Array(g.nC3_);
- geod.C3f(eps, this._C3a);
- this._A3c = -this.f * this._salp0 * geod.A3f(eps);
- this._B31 = g.SinCosSeries(true, this._ssig1, this._csig1, this._C3a);
- }
-
- if (this.caps & g.CAP_C4) {
- this._C4a = new Array(g.nC4_); // all the elements of _C4a are used
- geod.C4f(eps, this._C4a);
- // Multiplier = a^2 * e^2 * cos(alpha0) * sin(alpha0)
- this._A4 = m.sq(this.a) * this._calp0 * this._salp0 * geod._e2;
- this._B41 = g.SinCosSeries(false, this._ssig1, this._csig1, this._C4a);
- }
-
- this.a13 = this.s13 = Number.NaN;
- };
-
- /**
- * @summary Find the position on the line (general case).
- * @param {bool} arcmode is the next parameter an arc length?
- * @param {number} s12_a12 the (arcmode ? arc length : distance) from the
- * first point to the second in (arcmode ? degrees : meters).
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set; s12 is included if arcmode is false. For details on the
- * outmask parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- l.GeodesicLine.prototype.GenPosition = function(arcmode, s12_a12,
- outmask) {
- var vals = {},
- sig12, ssig12, csig12, B12, AB1, ssig2, csig2, tau12, s, c, serr,
- omg12, lam12, lon12, E, sbet2, cbet2, somg2, comg2, salp2, calp2, dn2,
- B22, AB2, J12, t, B42, salp12, calp12;
- if (!outmask) outmask = g.STANDARD;
- else if (outmask === g.LONG_UNROLL) outmask |= g.STANDARD;
- outmask &= this.caps & g.OUT_MASK;
- vals.lat1 = this.lat1; vals.azi1 = this.azi1;
- vals.lon1 = outmask & g.LONG_UNROLL ?
- this.lon1 : m.AngNormalize(this.lon1);
- if (arcmode)
- vals.a12 = s12_a12;
- else
- vals.s12 = s12_a12;
- if (!( arcmode || (this.caps & g.DISTANCE_IN & g.OUT_MASK) )) {
- // Uninitialized or impossible distance calculation requested
- vals.a12 = Number.NaN;
- return vals;
- }
-
- // Avoid warning about uninitialized B12.
- B12 = 0; AB1 = 0;
- if (arcmode) {
- // Interpret s12_a12 as spherical arc length
- sig12 = s12_a12 * m.degree;
- t = m.sincosd(s12_a12); ssig12 = t.s; csig12 = t.c;
- } else {
- // Interpret s12_a12 as distance
- tau12 = s12_a12 / (this._b * (1 + this._A1m1));
- s = Math.sin(tau12);
- c = Math.cos(tau12);
- // tau2 = tau1 + tau12
- B12 = -g.SinCosSeries(true,
- this._stau1 * c + this._ctau1 * s,
- this._ctau1 * c - this._stau1 * s,
- this._C1pa);
- sig12 = tau12 - (B12 - this._B11);
- ssig12 = Math.sin(sig12); csig12 = Math.cos(sig12);
- if (Math.abs(this.f) > 0.01) {
- // Reverted distance series is inaccurate for |f| > 1/100, so correct
- // sig12 with 1 Newton iteration. The following table shows the
- // approximate maximum error for a = WGS_a() and various f relative to
- // GeodesicExact.
- // erri = the error in the inverse solution (nm)
- // errd = the error in the direct solution (series only) (nm)
- // errda = the error in the direct solution
- // (series + 1 Newton) (nm)
- //
- // f erri errd errda
- // -1/5 12e6 1.2e9 69e6
- // -1/10 123e3 12e6 765e3
- // -1/20 1110 108e3 7155
- // -1/50 18.63 200.9 27.12
- // -1/100 18.63 23.78 23.37
- // -1/150 18.63 21.05 20.26
- // 1/150 22.35 24.73 25.83
- // 1/100 22.35 25.03 25.31
- // 1/50 29.80 231.9 30.44
- // 1/20 5376 146e3 10e3
- // 1/10 829e3 22e6 1.5e6
- // 1/5 157e6 3.8e9 280e6
- ssig2 = this._ssig1 * csig12 + this._csig1 * ssig12;
- csig2 = this._csig1 * csig12 - this._ssig1 * ssig12;
- B12 = g.SinCosSeries(true, ssig2, csig2, this._C1a);
- serr = (1 + this._A1m1) * (sig12 + (B12 - this._B11)) -
- s12_a12 / this._b;
- sig12 = sig12 - serr / Math.sqrt(1 + this._k2 * m.sq(ssig2));
- ssig12 = Math.sin(sig12); csig12 = Math.cos(sig12);
- // Update B12 below
- }
- }
-
- // sig2 = sig1 + sig12
- ssig2 = this._ssig1 * csig12 + this._csig1 * ssig12;
- csig2 = this._csig1 * csig12 - this._ssig1 * ssig12;
- dn2 = Math.sqrt(1 + this._k2 * m.sq(ssig2));
- if (outmask & (g.DISTANCE | g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- if (arcmode || Math.abs(this.f) > 0.01)
- B12 = g.SinCosSeries(true, ssig2, csig2, this._C1a);
- AB1 = (1 + this._A1m1) * (B12 - this._B11);
- }
- // sin(bet2) = cos(alp0) * sin(sig2)
- sbet2 = this._calp0 * ssig2;
- // Alt: cbet2 = hypot(csig2, salp0 * ssig2);
- cbet2 = m.hypot(this._salp0, this._calp0 * csig2);
- if (cbet2 === 0)
- // I.e., salp0 = 0, csig2 = 0. Break the degeneracy in this case
- cbet2 = csig2 = g.tiny_;
- // tan(alp0) = cos(sig2)*tan(alp2)
- salp2 = this._salp0; calp2 = this._calp0 * csig2; // No need to normalize
-
- if (arcmode && (outmask & g.DISTANCE))
- vals.s12 = this._b * ((1 + this._A1m1) * sig12 + AB1);
-
- if (outmask & g.LONGITUDE) {
- // tan(omg2) = sin(alp0) * tan(sig2)
- somg2 = this._salp0 * ssig2; comg2 = csig2; // No need to normalize
- E = m.copysign(1, this._salp0);
- // omg12 = omg2 - omg1
- omg12 = outmask & g.LONG_UNROLL ?
- E * (sig12 -
- (Math.atan2(ssig2, csig2) -
- Math.atan2(this._ssig1, this._csig1)) +
- (Math.atan2(E * somg2, comg2) -
- Math.atan2(E * this._somg1, this._comg1))) :
- Math.atan2(somg2 * this._comg1 - comg2 * this._somg1,
- comg2 * this._comg1 + somg2 * this._somg1);
- lam12 = omg12 + this._A3c *
- ( sig12 + (g.SinCosSeries(true, ssig2, csig2, this._C3a) -
- this._B31));
- lon12 = lam12 / m.degree;
- vals.lon2 = outmask & g.LONG_UNROLL ? this.lon1 + lon12 :
- m.AngNormalize(m.AngNormalize(this.lon1) + m.AngNormalize(lon12));
- }
-
- if (outmask & g.LATITUDE)
- vals.lat2 = m.atan2d(sbet2, this._f1 * cbet2);
-
- if (outmask & g.AZIMUTH)
- vals.azi2 = m.atan2d(salp2, calp2);
-
- if (outmask & (g.REDUCEDLENGTH | g.GEODESICSCALE)) {
- B22 = g.SinCosSeries(true, ssig2, csig2, this._C2a);
- AB2 = (1 + this._A2m1) * (B22 - this._B21);
- J12 = (this._A1m1 - this._A2m1) * sig12 + (AB1 - AB2);
- if (outmask & g.REDUCEDLENGTH)
- // Add parens around (_csig1 * ssig2) and (_ssig1 * csig2) to ensure
- // accurate cancellation in the case of coincident points.
- vals.m12 = this._b * (( dn2 * (this._csig1 * ssig2) -
- this._dn1 * (this._ssig1 * csig2)) -
- this._csig1 * csig2 * J12);
- if (outmask & g.GEODESICSCALE) {
- t = this._k2 * (ssig2 - this._ssig1) * (ssig2 + this._ssig1) /
- (this._dn1 + dn2);
- vals.M12 = csig12 +
- (t * ssig2 - csig2 * J12) * this._ssig1 / this._dn1;
- vals.M21 = csig12 -
- (t * this._ssig1 - this._csig1 * J12) * ssig2 / dn2;
- }
- }
-
- if (outmask & g.AREA) {
- B42 = g.SinCosSeries(false, ssig2, csig2, this._C4a);
- if (this._calp0 === 0 || this._salp0 === 0) {
- // alp12 = alp2 - alp1, used in atan2 so no need to normalize
- salp12 = salp2 * this.calp1 - calp2 * this.salp1;
- calp12 = calp2 * this.calp1 + salp2 * this.salp1;
- } else {
- // tan(alp) = tan(alp0) * sec(sig)
- // tan(alp2-alp1) = (tan(alp2) -tan(alp1)) / (tan(alp2)*tan(alp1)+1)
- // = calp0 * salp0 * (csig1-csig2) / (salp0^2 + calp0^2 * csig1*csig2)
- // If csig12 > 0, write
- // csig1 - csig2 = ssig12 * (csig1 * ssig12 / (1 + csig12) + ssig1)
- // else
- // csig1 - csig2 = csig1 * (1 - csig12) + ssig12 * ssig1
- // No need to normalize
- salp12 = this._calp0 * this._salp0 *
- (csig12 <= 0 ? this._csig1 * (1 - csig12) + ssig12 * this._ssig1 :
- ssig12 * (this._csig1 * ssig12 / (1 + csig12) + this._ssig1));
- calp12 = m.sq(this._salp0) + m.sq(this._calp0) * this._csig1 * csig2;
- }
- vals.S12 = this._c2 * Math.atan2(salp12, calp12) +
- this._A4 * (B42 - this._B41);
- }
-
- if (!arcmode)
- vals.a12 = sig12 / m.degree;
- return vals;
- };
-
- /**
- * @summary Find the position on the line given s12.
- * @param {number} s12 the distance from the first point to the second in
- * meters.
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, s12, and a12 fields of the result are
- * always set; s12 is included if arcmode is false. For details on the
- * outmask parameter, see {@tutorial 2-interface}, "The outmask and caps
- * parameters".
- */
- l.GeodesicLine.prototype.Position = function(s12, outmask) {
- return this.GenPosition(false, s12, outmask);
- };
-
- /**
- * @summary Find the position on the line given a12.
- * @param {number} a12 the arc length from the first point to the second in
- * degrees.
- * @param {bitmask} [outmask = STANDARD] which results to include; this is
- * subject to the capabilities of the object.
- * @returns {object} the requested results.
- * @description The lat1, lon1, azi1, and a12 fields of the result are
- * always set. For details on the outmask parameter, see {@tutorial
- * 2-interface}, "The outmask and caps parameters".
- */
- l.GeodesicLine.prototype.ArcPosition = function(a12, outmask) {
- return this.GenPosition(true, a12, outmask);
- };
-
- /**
- * @summary Specify position of point 3 in terms of either distance or arc
- * length.
- * @param {bool} arcmode boolean flag determining the meaning of the second
- * parameter; if arcmode is false, then the GeodesicLine object must have
- * been constructed with caps |= DISTANCE_IN.
- * @param {number} s13_a13 if arcmode is false, this is the distance from
- * point 1 to point 3 (meters); otherwise it is the arc length from
- * point 1 to point 3 (degrees); it can be negative.
- */
- l.GeodesicLine.prototype.GenSetDistance = function(arcmode, s13_a13) {
- if (arcmode)
- this.SetArc(s13_a13);
- else
- this.SetDistance(s13_a13);
- };
-
- /**
- * @summary Specify position of point 3 in terms distance.
- * @param {number} s13 the distance from point 1 to point 3 (meters); it
- * can be negative.
- */
- l.GeodesicLine.prototype.SetDistance = function(s13) {
- var r;
- this.s13 = s13;
- r = this.GenPosition(false, this.s13, g.ARC);
- this.a13 = 0 + r.a12; // the 0+ converts undefined into NaN
- };
-
- /**
- * @summary Specify position of point 3 in terms of arc length.
- * @param {number} a13 the arc length from point 1 to point 3 (degrees);
- * it can be negative.
- */
- l.GeodesicLine.prototype.SetArc = function(a13) {
- var r;
- this.a13 = a13;
- r = this.GenPosition(true, this.a13, g.DISTANCE);
- this.s13 = 0 + r.s12; // the 0+ converts undefined into NaN
- };
-
-})(GeographicLib.Geodesic, GeographicLib.GeodesicLine, GeographicLib.Math);
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/Math.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/Math.js
deleted file mode 100644
index 2d625ed93c01caf6993cdb776db8f8bd77167a6f..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/Math.js
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
- * Math.js
- * Transcription of Math.hpp, Constants.hpp, and Accumulator.hpp into
- * JavaScript.
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-/**
- * @namespace GeographicLib
- * @description The parent namespace for the following modules:
- * - {@link module:GeographicLib/Geodesic GeographicLib/Geodesic} The main
- * engine for solving geodesic problems via the
- * {@link module:GeographicLib/Geodesic.Geodesic Geodesic} class.
- * - {@link module:GeographicLib/GeodesicLine GeographicLib/GeodesicLine}
- * computes points along a single geodesic line via the
- * {@link module:GeographicLib/GeodesicLine.GeodesicLine GeodesicLine}
- * class.
- * - {@link module:GeographicLib/PolygonArea GeographicLib/PolygonArea}
- * computes the area of a geodesic polygon via the
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea}
- * class.
- * - {@link module:GeographicLib/DMS GeographicLib/DMS} handles the decoding
- * and encoding of angles in degree, minutes, and seconds, via static
- * functions in this module.
- * - {@link module:GeographicLib/Constants GeographicLib/Constants} defines
- * constants specifying the version numbers and the parameters for the WGS84
- * ellipsoid.
- *
- * The following modules are used internally by the package:
- * - {@link module:GeographicLib/Math GeographicLib/Math} defines various
- * mathematical functions.
- * - {@link module:GeographicLib/Accumulator GeographicLib/Accumulator}
- * interally used by
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea} (via the
- * {@link module:GeographicLib/Accumulator.Accumulator Accumulator} class)
- * for summing the contributions to the area of a polygon.
- */
-"use strict";
-var GeographicLib = {};
-GeographicLib.Constants = {};
-GeographicLib.Math = {};
-GeographicLib.Accumulator = {};
-
-(function(
- /**
- * @exports GeographicLib/Constants
- * @description Define constants defining the version and WGS84 parameters.
- */
- c) {
-
- /**
- * @constant
- * @summary WGS84 parameters.
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- */
- c.WGS84 = { a: 6378137, f: 1/298.257223563 };
- /**
- * @constant
- * @summary an array of version numbers.
- * @property {number} major the major version number.
- * @property {number} minor the minor version number.
- * @property {number} patch the patch number.
- */
- c.version = { major: 1, minor: 50, patch: 0 };
- /**
- * @constant
- * @summary version string
- */
- c.version_string = "1.50";
-})(GeographicLib.Constants);
-
-(function(
- /**
- * @exports GeographicLib/Math
- * @description Some useful mathematical constants and functions (mainly for
- * internal use).
- */
- m) {
-
- /**
- * @summary The number of digits of precision in floating-point numbers.
- * @constant {number}
- */
- m.digits = 53;
- /**
- * @summary The machine epsilon.
- * @constant {number}
- */
- m.epsilon = Math.pow(0.5, m.digits - 1);
- /**
- * @summary The factor to convert degrees to radians.
- * @constant {number}
- */
- m.degree = Math.PI/180;
-
- /**
- * @summary Square a number.
- * @param {number} x the number.
- * @returns {number} the square.
- */
- m.sq = function(x) { return x * x; };
-
- /**
- * @summary The hypotenuse function.
- * @param {number} x the first side.
- * @param {number} y the second side.
- * @returns {number} the hypotenuse.
- */
- m.hypot = Math.hypot || function(x, y) {
- var a, b;
- x = Math.abs(x);
- y = Math.abs(y);
- a = Math.max(x, y); b = Math.min(x, y) / (a ? a : 1);
- return a * Math.sqrt(1 + b * b);
- };
-
- /**
- * @summary Cube root function.
- * @param {number} x the argument.
- * @returns {number} the real cube root.
- */
- m.cbrt = Math.cbrt || function(x) {
- var y = Math.pow(Math.abs(x), 1/3);
- return x > 0 ? y : (x < 0 ? -y : x);
- };
-
- /**
- * @summary The log1p function.
- * @param {number} x the argument.
- * @returns {number} log(1 + x).
- */
- m.log1p = Math.log1p || function(x) {
- var y = 1 + x,
- z = y - 1;
- // Here's the explanation for this magic: y = 1 + z, exactly, and z
- // approx x, thus log(y)/z (which is nearly constant near z = 0) returns
- // a good approximation to the true log(1 + x)/x. The multiplication x *
- // (log(y)/z) introduces little additional error.
- return z === 0 ? x : x * Math.log(y) / z;
- };
-
- /**
- * @summary Inverse hyperbolic tangent.
- * @param {number} x the argument.
- * @returns {number} tanh−1 x.
- */
- m.atanh = Math.atanh || function(x) {
- var y = Math.abs(x); // Enforce odd parity
- y = m.log1p(2 * y/(1 - y))/2;
- return x > 0 ? y : (x < 0 ? -y : x);
- };
-
- /**
- * @summary Copy the sign.
- * @param {number} x gives the magitude of the result.
- * @param {number} y gives the sign of the result.
- * @returns {number} value with the magnitude of x and with the sign of y.
- */
- m.copysign = function(x, y) {
- return Math.abs(x) * (y < 0 || (y === 0 && 1/y < 0) ? -1 : 1);
- };
-
- /**
- * @summary An error-free sum.
- * @param {number} u
- * @param {number} v
- * @returns {object} sum with sum.s = round(u + v) and sum.t is u + v −
- * round(u + v)
- */
- m.sum = function(u, v) {
- var s = u + v,
- up = s - v,
- vpp = s - up,
- t;
- up -= u;
- vpp -= v;
- t = -(up + vpp);
- // u + v = s + t
- // = round(u + v) + t
- return {s: s, t: t};
- };
-
- /**
- * @summary Evaluate a polynomial.
- * @param {integer} N the order of the polynomial.
- * @param {array} p the coefficient array (of size N + 1) (leading
- * order coefficient first)
- * @param {number} x the variable.
- * @returns {number} the value of the polynomial.
- */
- m.polyval = function(N, p, s, x) {
- var y = N < 0 ? 0 : p[s++];
- while (--N >= 0) y = y * x + p[s++];
- return y;
- };
-
- /**
- * @summary Coarsen a value close to zero.
- * @param {number} x
- * @returns {number} the coarsened value.
- */
- m.AngRound = function(x) {
- // The makes the smallest gap in x = 1/16 - nextafter(1/16, 0) = 1/2^57 for
- // reals = 0.7 pm on the earth if x is an angle in degrees. (This is about
- // 1000 times more resolution than we get with angles around 90 degrees.)
- // We use this to avoid having to deal with near singular cases when x is
- // non-zero but tiny (e.g., 1.0e-200). This converts -0 to +0; however
- // tiny negative numbers get converted to -0.
- if (x === 0) return x;
- var z = 1/16,
- y = Math.abs(x);
- // The compiler mustn't "simplify" z - (z - y) to y
- y = y < z ? z - (z - y) : y;
- return x < 0 ? -y : y;
- };
-
- /**
- * @summary The remainder function.
- * @param {number} x the numerator of the division
- * @param {number} y the denominator of the division
- * @return {number} the remainder in the range [−y/2, y/2].
- *
- * The range of x is unrestricted; y must be positive.
- */
- m.remainder = function(x, y) {
- x = x % y;
- return x < -y/2 ? x + y : (x < y/2 ? x : x - y);
- };
-
- /**
- * @summary Normalize an angle.
- * @param {number} x the angle in degrees.
- * @returns {number} the angle reduced to the range (−180°,
- * 180°].
- */
- m.AngNormalize = function(x) {
- // Place angle in (-180, 180].
- x = m.remainder(x, 360);
- return x == -180 ? 180 : x;
- };
-
- /**
- * @summary Normalize a latitude.
- * @param {number} x the angle in degrees.
- * @returns {number} x if it is in the range [−90°, 90°],
- * otherwise return NaN.
- */
- m.LatFix = function(x) {
- // Replace angle with NaN if outside [-90, 90].
- return Math.abs(x) > 90 ? Number.NaN : x;
- };
-
- /**
- * @summary The exact difference of two angles reduced to (−180°,
- * 180°]
- * @param {number} x the first angle in degrees.
- * @param {number} y the second angle in degrees.
- * @return {object} diff the exact difference, y − x.
- *
- * This computes z = y − x exactly, reduced to (−180°,
- * 180°]; and then sets diff.s = d = round(z) and diff.t = e = z −
- * round(z). If d = −180, then e > 0; If d = 180, then e ≤ 0.
- */
- m.AngDiff = function(x, y) {
- // Compute y - x and reduce to [-180,180] accurately.
- var r = m.sum(m.AngNormalize(-x), m.AngNormalize(y)),
- d = m.AngNormalize(r.s),
- t = r.t;
- return m.sum(d === 180 && t > 0 ? -180 : d, t);
- };
-
- /**
- * @summary Evaluate the sine and cosine function with the argument in
- * degrees
- * @param {number} x in degrees.
- * @returns {object} r with r.s = sin(x) and r.c = cos(x).
- */
- m.sincosd = function(x) {
- // In order to minimize round-off errors, this function exactly reduces
- // the argument to the range [-45, 45] before converting it to radians.
- var r, q, s, c, sinx, cosx;
- r = x % 360;
- q = 0 + Math.round(r / 90); // If r is NaN this returns NaN
- r -= 90 * q;
- // now abs(r) <= 45
- r *= this.degree;
- // Possibly could call the gnu extension sincos
- s = Math.sin(r); c = Math.cos(r);
- switch (q & 3) {
- case 0: sinx = s; cosx = c; break;
- case 1: sinx = c; cosx = -s; break;
- case 2: sinx = -s; cosx = -c; break;
- default: sinx = -c; cosx = s; break; // case 3
- }
- if (x !== 0) { sinx += 0; cosx += 0; }
- return {s: sinx, c: cosx};
- };
-
- /**
- * @summary Evaluate the atan2 function with the result in degrees
- * @param {number} y
- * @param {number} x
- * @returns atan2(y, x) in degrees, in the range (−180°
- * 180°].
- */
- m.atan2d = function(y, x) {
- // In order to minimize round-off errors, this function rearranges the
- // arguments so that result of atan2 is in the range [-pi/4, pi/4] before
- // converting it to degrees and mapping the result to the correct
- // quadrant.
- var q = 0, t, ang;
- if (Math.abs(y) > Math.abs(x)) { t = x; x = y; y = t; q = 2; }
- if (x < 0) { x = -x; ++q; }
- // here x >= 0 and x >= abs(y), so angle is in [-pi/4, pi/4]
- ang = Math.atan2(y, x) / this.degree;
- switch (q) {
- // Note that atan2d(-0.0, 1.0) will return -0. However, we expect that
- // atan2d will not be called with y = -0. If need be, include
- //
- // case 0: ang = 0 + ang; break;
- //
- // and handle mpfr as in AngRound.
- case 1: ang = (y >= 0 ? 180 : -180) - ang; break;
- case 2: ang = 90 - ang; break;
- case 3: ang = -90 + ang; break;
- }
- return ang;
- };
-})(GeographicLib.Math);
-
-(function(
- /**
- * @exports GeographicLib/Accumulator
- * @description Accurate summation via the
- * {@link module:GeographicLib/Accumulator.Accumulator Accumulator} class
- * (mainly for internal use).
- */
- a, m) {
-
- /**
- * @class
- * @summary Accurate summation of many numbers.
- * @classdesc This allows many numbers to be added together with twice the
- * normal precision. In the documentation of the member functions, sum
- * stands for the value currently held in the accumulator.
- * @param {number | Accumulator} [y = 0] set sum = y.
- */
- a.Accumulator = function(y) {
- this.Set(y);
- };
-
- /**
- * @summary Set the accumulator to a number.
- * @param {number | Accumulator} [y = 0] set sum = y.
- */
- a.Accumulator.prototype.Set = function(y) {
- if (!y) y = 0;
- if (y.constructor === a.Accumulator) {
- this._s = y._s;
- this._t = y._t;
- } else {
- this._s = y;
- this._t = 0;
- }
- };
-
- /**
- * @summary Add a number to the accumulator.
- * @param {number} [y = 0] set sum += y.
- */
- a.Accumulator.prototype.Add = function(y) {
- // Here's Shewchuk's solution...
- // Accumulate starting at least significant end
- var u = m.sum(y, this._t),
- v = m.sum(u.s, this._s);
- u = u.t;
- this._s = v.s;
- this._t = v.t;
- // Start is _s, _t decreasing and non-adjacent. Sum is now (s + t + u)
- // exactly with s, t, u non-adjacent and in decreasing order (except
- // for possible zeros). The following code tries to normalize the
- // result. Ideally, we want _s = round(s+t+u) and _u = round(s+t+u -
- // _s). The follow does an approximate job (and maintains the
- // decreasing non-adjacent property). Here are two "failures" using
- // 3-bit floats:
- //
- // Case 1: _s is not equal to round(s+t+u) -- off by 1 ulp
- // [12, -1] - 8 -> [4, 0, -1] -> [4, -1] = 3 should be [3, 0] = 3
- //
- // Case 2: _s+_t is not as close to s+t+u as it shold be
- // [64, 5] + 4 -> [64, 8, 1] -> [64, 8] = 72 (off by 1)
- // should be [80, -7] = 73 (exact)
- //
- // "Fixing" these problems is probably not worth the expense. The
- // representation inevitably leads to small errors in the accumulated
- // values. The additional errors illustrated here amount to 1 ulp of
- // the less significant word during each addition to the Accumulator
- // and an additional possible error of 1 ulp in the reported sum.
- //
- // Incidentally, the "ideal" representation described above is not
- // canonical, because _s = round(_s + _t) may not be true. For
- // example, with 3-bit floats:
- //
- // [128, 16] + 1 -> [160, -16] -- 160 = round(145).
- // But [160, 0] - 16 -> [128, 16] -- 128 = round(144).
- //
- if (this._s === 0) // This implies t == 0,
- this._s = u; // so result is u
- else
- this._t += u; // otherwise just accumulate u to t.
- };
-
- /**
- * @summary Return the result of adding a number to sum (but
- * don't change sum).
- * @param {number} [y = 0] the number to be added to the sum.
- * @return sum + y.
- */
- a.Accumulator.prototype.Sum = function(y) {
- var b;
- if (!y)
- return this._s;
- else {
- b = new a.Accumulator(this);
- b.Add(y);
- return b._s;
- }
- };
-
- /**
- * @summary Set sum = −sum.
- */
- a.Accumulator.prototype.Negate = function() {
- this._s *= -1;
- this._t *= -1;
- };
-
- /**
- * @summary Take the remainder
- * @param {number} y the divisor of the remainder operation.
- * @return sum in range [−y/2, y/2].
- */
- a.Accumulator.prototype.Remainder = function(y) {
- this._s = m.remainder(this._s, y);
- this.Add(0);
- };
-})(GeographicLib.Accumulator, GeographicLib.Math);
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/PolygonArea.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/PolygonArea.js
deleted file mode 100644
index 9f9dbdff50d0dcde71db07947146da4495fb7e7d..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/src/PolygonArea.js
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * PolygonArea.js
- * Transcription of PolygonArea.[ch]pp into JavaScript.
- *
- * See the documentation for the C++ class. The conversion is a literal
- * conversion from C++.
- *
- * The algorithms are derived in
- *
- * Charles F. F. Karney,
- * Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);
- * https://doi.org/10.1007/s00190-012-0578-z
- * Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
- *
- * Copyright (c) Charles Karney (2011-2019) and licensed
- * under the MIT/X11 License. For more information, see
- * https://geographiclib.sourceforge.io/
- */
-
-// Load AFTER GeographicLib/Math.js and GeographicLib/Geodesic.js
-
-(function(
- /**
- * @exports GeographicLib/PolygonArea
- * @description Compute the area of geodesic polygons via the
- * {@link module:GeographicLib/PolygonArea.PolygonArea PolygonArea}
- * class.
- */
- p, g, m, a) {
-
- var transit, transitdirect, AreaReduceA, AreaReduceB;
- transit = function(lon1, lon2) {
- // Return 1 or -1 if crossing prime meridian in east or west direction.
- // Otherwise return zero.
- var lon12, cross;
- // Compute lon12 the same way as Geodesic::Inverse.
- lon1 = m.AngNormalize(lon1);
- lon2 = m.AngNormalize(lon2);
- lon12 = m.AngDiff(lon1, lon2).s;
- cross = lon1 <= 0 && lon2 > 0 && lon12 > 0 ? 1 :
- (lon2 <= 0 && lon1 > 0 && lon12 < 0 ? -1 : 0);
- return cross;
- };
-
- // an alternate version of transit to deal with longitudes in the direct
- // problem.
- transitdirect = function(lon1, lon2) {
- // We want to compute exactly
- // int(ceil(lon2 / 360)) - int(ceil(lon1 / 360))
- // Since we only need the parity of the result we can use std::remquo but
- // this is buggy with g++ 4.8.3 and requires C++11. So instead we do
- lon1 = lon1 % 720.0; lon2 = lon2 % 720.0;
- return ( ((lon2 <= 0 && lon2 > -360) || lon2 > 360 ? 1 : 0) -
- ((lon1 <= 0 && lon1 > -360) || lon1 > 360 ? 1 : 0) );
- };
-
- // Reduce Accumulator area
- AreaReduceA = function(area, area0, crossings, reverse, sign) {
- area.Remainder(area0);
- if (crossings & 1)
- area.Add( (area.Sum() < 0 ? 1 : -1) * area0/2 );
- // area is with the clockwise sense. If !reverse convert to
- // counter-clockwise convention.
- if (!reverse)
- area.Negate();
- // If sign put area in (-area0/2, area0/2], else put area in [0, area0)
- if (sign) {
- if (area.Sum() > area0/2)
- area.Add( -area0 );
- else if (area.Sum() <= -area0/2)
- area.Add( +area0 );
- } else {
- if (area.Sum() >= area0)
- area.Add( -area0 );
- else if (area.Sum() < 0)
- area.Add( +area0 );
- }
- return 0 + area.Sum();
- };
-
- // Reduce double area
- AreaReduceB = function(area, area0, crossings, reverse, sign) {
- area = m.remainder(area, area0);
- if (crossings & 1)
- area += (area < 0 ? 1 : -1) * area0/2;
- // area is with the clockwise sense. If !reverse convert to
- // counter-clockwise convention.
- if (!reverse)
- area *= -1;
- // If sign put area in (-area0/2, area0/2], else put area in [0, area0)
- if (sign) {
- if (area > area0/2)
- area -= area0;
- else if (area <= -area0/2)
- area += area0;
- } else {
- if (area >= area0)
- area -= area0;
- else if (area < 0)
- area += area0;
- }
- return 0 + area;
- };
-
- /**
- * @class
- * @property {number} a the equatorial radius (meters).
- * @property {number} f the flattening.
- * @property {bool} polyline whether the PolygonArea object describes a
- * polyline or a polygon.
- * @property {number} num the number of vertices so far.
- * @property {number} lat the current latitude (degrees).
- * @property {number} lon the current longitude (degrees).
- * @summary Initialize a PolygonArea object.
- * @classdesc Computes the area and perimeter of a geodesic polygon.
- * This object is usually instantiated by
- * {@link module:GeographicLib/Geodesic.Geodesic#Polygon Geodesic.Polygon}.
- * @param {object} geod a {@link module:GeographicLib/Geodesic.Geodesic
- * Geodesic} object.
- * @param {bool} [polyline = false] if true the new PolygonArea object
- * describes a polyline instead of a polygon.
- */
- p.PolygonArea = function(geod, polyline) {
- this._geod = geod;
- this.a = this._geod.a;
- this.f = this._geod.f;
- this._area0 = 4 * Math.PI * geod._c2;
- this.polyline = !polyline ? false : polyline;
- this._mask = g.LATITUDE | g.LONGITUDE | g.DISTANCE |
- (this.polyline ? g.NONE : g.AREA | g.LONG_UNROLL);
- if (!this.polyline)
- this._areasum = new a.Accumulator(0);
- this._perimetersum = new a.Accumulator(0);
- this.Clear();
- };
-
- /**
- * @summary Clear the PolygonArea object, setting the number of vertices to
- * 0.
- */
- p.PolygonArea.prototype.Clear = function() {
- this.num = 0;
- this._crossings = 0;
- if (!this.polyline)
- this._areasum.Set(0);
- this._perimetersum.Set(0);
- this._lat0 = this._lon0 = this.lat = this.lon = Number.NaN;
- };
-
- /**
- * @summary Add the next vertex to the polygon.
- * @param {number} lat the latitude of the point (degrees).
- * @param {number} lon the longitude of the point (degrees).
- * @description This adds an edge from the current vertex to the new vertex.
- */
- p.PolygonArea.prototype.AddPoint = function(lat, lon) {
- var t;
- if (this.num === 0) {
- this._lat0 = this.lat = lat;
- this._lon0 = this.lon = lon;
- } else {
- t = this._geod.Inverse(this.lat, this.lon, lat, lon, this._mask);
- this._perimetersum.Add(t.s12);
- if (!this.polyline) {
- this._areasum.Add(t.S12);
- this._crossings += transit(this.lon, lon);
- }
- this.lat = lat;
- this.lon = lon;
- }
- ++this.num;
- };
-
- /**
- * @summary Add the next edge to the polygon.
- * @param {number} azi the azimuth at the current the point (degrees).
- * @param {number} s the length of the edge (meters).
- * @description This specifies the new vertex in terms of the edge from the
- * current vertex.
- */
- p.PolygonArea.prototype.AddEdge = function(azi, s) {
- var t;
- if (this.num) {
- t = this._geod.Direct(this.lat, this.lon, azi, s, this._mask);
- this._perimetersum.Add(s);
- if (!this.polyline) {
- this._areasum.Add(t.S12);
- this._crossings += transitdirect(this.lon, t.lon2);
- }
- this.lat = t.lat2;
- this.lon = t.lon2;
- }
- ++this.num;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon.
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description Arbitrarily complex polygons are allowed. In the case of
- * self-intersecting polygons the area is accumulated "algebraically",
- * e.g., the areas of the 2 loops in a figure-8 polygon will partially
- * cancel. If the object is a polygon (and not a polyline), the perimeter
- * includes the length of a final edge connecting the current point to the
- * initial point. If the object is a polyline, then area is nan. More
- * points can be added to the polygon after this call.
- */
- p.PolygonArea.prototype.Compute = function(reverse, sign) {
- var vals = {number: this.num}, t, tempsum;
- if (this.num < 2) {
- vals.perimeter = 0;
- if (!this.polyline)
- vals.area = 0;
- return vals;
- }
- if (this.polyline) {
- vals.perimeter = this._perimetersum.Sum();
- return vals;
- }
- t = this._geod.Inverse(this.lat, this.lon, this._lat0, this._lon0,
- this._mask);
- vals.perimeter = this._perimetersum.Sum(t.s12);
- tempsum = new a.Accumulator(this._areasum);
- tempsum.Add(t.S12);
- vals.area = AreaReduceA(tempsum, this._area0,
- this._crossings + transit(this.lon, this._lon0),
- reverse, sign);
- return vals;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon with a tentative
- * new vertex.
- * @param {number} lat the latitude of the point (degrees).
- * @param {number} lon the longitude of the point (degrees).
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description A new vertex is *not* added to the polygon.
- */
- p.PolygonArea.prototype.TestPoint = function(lat, lon, reverse, sign) {
- var vals = {number: this.num + 1}, t, tempsum, crossings, i;
- if (this.num === 0) {
- vals.perimeter = 0;
- if (!this.polyline)
- vals.area = 0;
- return vals;
- }
- vals.perimeter = this._perimetersum.Sum();
- tempsum = this.polyline ? 0 : this._areasum.Sum();
- crossings = this._crossings;
- for (i = 0; i < (this.polyline ? 1 : 2); ++i) {
- t = this._geod.Inverse(
- i === 0 ? this.lat : lat, i === 0 ? this.lon : lon,
- i !== 0 ? this._lat0 : lat, i !== 0 ? this._lon0 : lon,
- this._mask);
- vals.perimeter += t.s12;
- if (!this.polyline) {
- tempsum += t.S12;
- crossings += transit(i === 0 ? this.lon : lon,
- i !== 0 ? this._lon0 : lon);
- }
- }
-
- if (this.polyline)
- return vals;
-
- vals.area = AreaReduceB(tempsum, this._area0, crossings, reverse, sign);
- return vals;
- };
-
- /**
- * @summary Compute the perimeter and area of the polygon with a tentative
- * new edge.
- * @param {number} azi the azimuth of the edge (degrees).
- * @param {number} s the length of the edge (meters).
- * @param {bool} reverse if true then clockwise (instead of
- * counter-clockwise) traversal counts as a positive area.
- * @param {bool} sign if true then return a signed result for the area if the
- * polygon is traversed in the "wrong" direction instead of returning the
- * area for the rest of the earth.
- * @returns {object} r where r.number is the number of vertices, r.perimeter
- * is the perimeter (meters), and r.area (only returned if polyline is
- * false) is the area (meters2).
- * @description A new vertex is *not* added to the polygon.
- */
- p.PolygonArea.prototype.TestEdge = function(azi, s, reverse, sign) {
- var vals = {number: this.num ? this.num + 1 : 0}, t, tempsum, crossings;
- if (this.num === 0)
- return vals;
- vals.perimeter = this._perimetersum.Sum() + s;
- if (this.polyline)
- return vals;
-
- tempsum = this._areasum.Sum();
- crossings = this._crossings;
- t = this._geod.Direct(this.lat, this.lon, azi, s, this._mask);
- tempsum += t.S12;
- crossings += transitdirect(this.lon, t.lon2);
- crossings += transit(t.lon2, this._lon0);
- t = this._geod.Inverse(t.lat2, t.lon2, this._lat0, this._lon0, this._mask);
- vals.perimeter += t.s12;
- tempsum += t.S12;
-
- vals.area = AreaReduceB(tempsum, this._area0, crossings, reverse, sign);
- return vals;
- };
-
-})(GeographicLib.PolygonArea, GeographicLib.Geodesic,
- GeographicLib.Math, GeographicLib.Accumulator);
diff --git a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/test/geodesictest.js b/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/test/geodesictest.js
deleted file mode 100644
index 3329e7c1a9f624aa6e6cd885588715ce399d0d25..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/js/geographiclib/test/geodesictest.js
+++ /dev/null
@@ -1,869 +0,0 @@
-"use strict";
-
-var assert = require("assert"),
- G = require("../geographiclib"),
- g = G.Geodesic,
- d = G.DMS,
- m = G.Math,
- testcases = [
- [35.60777, -139.44815, 111.098748429560326,
- -11.17491, -69.95921, 129.289270889708762,
- 8935244.5604818305, 80.50729714281974, 6273170.2055303837,
- 0.16606318447386067, 0.16479116945612937, 12841384694976.432],
- [55.52454, 106.05087, 22.020059880982801,
- 77.03196, 197.18234, 109.112041110671519,
- 4105086.1713924406, 36.892740690445894, 3828869.3344387607,
- 0.80076349608092607, 0.80101006984201008, 61674961290615.615],
- [-21.97856, 142.59065, -32.44456876433189,
- 41.84138, 98.56635, -41.84359951440466,
- 8394328.894657671, 75.62930491011522, 6161154.5773110616,
- 0.24816339233950381, 0.24930251203627892, -6637997720646.717],
- [-66.99028, 112.2363, 173.73491240878403,
- -12.70631, 285.90344, 2.512956620913668,
- 11150344.2312080241, 100.278634181155759, 6289939.5670446687,
- -0.17199490274700385, -0.17722569526345708, -121287239862139.744],
- [-17.42761, 173.34268, -159.033557661192928,
- -15.84784, 5.93557, -20.787484651536988,
- 16076603.1631180673, 144.640108810286253, 3732902.1583877189,
- -0.81273638700070476, -0.81299800519154474, 97825992354058.708],
- [32.84994, 48.28919, 150.492927788121982,
- -56.28556, 202.29132, 48.113449399816759,
- 16727068.9438164461, 150.565799985466607, 3147838.1910180939,
- -0.87334918086923126, -0.86505036767110637, -72445258525585.010],
- [6.96833, 52.74123, 92.581585386317712,
- -7.39675, 206.17291, 90.721692165923907,
- 17102477.2496958388, 154.147366239113561, 2772035.6169917581,
- -0.89991282520302447, -0.89986892177110739, -1311796973197.995],
- [-50.56724, -16.30485, -105.439679907590164,
- -33.56571, -94.97412, -47.348547835650331,
- 6455670.5118668696, 58.083719495371259, 5409150.7979815838,
- 0.53053508035997263, 0.52988722644436602, 41071447902810.047],
- [-58.93002, -8.90775, 140.965397902500679,
- -8.91104, 133.13503, 19.255429433416599,
- 11756066.0219864627, 105.755691241406877, 6151101.2270708536,
- -0.26548622269867183, -0.27068483874510741, -86143460552774.735],
- [-68.82867, -74.28391, 93.774347763114881,
- -50.63005, -8.36685, 34.65564085411343,
- 3956936.926063544, 35.572254987389284, 3708890.9544062657,
- 0.81443963736383502, 0.81420859815358342, -41845309450093.787],
- [-10.62672, -32.0898, -86.426713286747751,
- 5.883, -134.31681, -80.473780971034875,
- 11470869.3864563009, 103.387395634504061, 6184411.6622659713,
- -0.23138683500430237, -0.23155097622286792, 4198803992123.548],
- [-21.76221, 166.90563, 29.319421206936428,
- 48.72884, 213.97627, 43.508671946410168,
- 9098627.3986554915, 81.963476716121964, 6299240.9166992283,
- 0.13965943368590333, 0.14152969707656796, 10024709850277.476],
- [-19.79938, -174.47484, 71.167275780171533,
- -11.99349, -154.35109, 65.589099775199228,
- 2319004.8601169389, 20.896611684802389, 2267960.8703918325,
- 0.93427001867125849, 0.93424887135032789, -3935477535005.785],
- [-11.95887, -116.94513, 92.712619830452549,
- 4.57352, 7.16501, 78.64960934409585,
- 13834722.5801401374, 124.688684161089762, 5228093.177931598,
- -0.56879356755666463, -0.56918731952397221, -9919582785894.853],
- [-87.85331, 85.66836, -65.120313040242748,
- 66.48646, 16.09921, -4.888658719272296,
- 17286615.3147144645, 155.58592449699137, 2635887.4729110181,
- -0.90697975771398578, -0.91095608883042767, 42667211366919.534],
- [1.74708, 128.32011, -101.584843631173858,
- -11.16617, 11.87109, -86.325793296437476,
- 12942901.1241347408, 116.650512484301857, 5682744.8413270572,
- -0.44857868222697644, -0.44824490340007729, 10763055294345.653],
- [-25.72959, -144.90758, -153.647468693117198,
- -57.70581, -269.17879, -48.343983158876487,
- 9413446.7452453107, 84.664533838404295, 6356176.6898881281,
- 0.09492245755254703, 0.09737058264766572, 74515122850712.444],
- [-41.22777, 122.32875, 14.285113402275739,
- -7.57291, 130.37946, 10.805303085187369,
- 3812686.035106021, 34.34330804743883, 3588703.8812128856,
- 0.82605222593217889, 0.82572158200920196, -2456961531057.857],
- [11.01307, 138.25278, 79.43682622782374,
- 6.62726, 247.05981, 103.708090215522657,
- 11911190.819018408, 107.341669954114577, 6070904.722786735,
- -0.29767608923657404, -0.29785143390252321, 17121631423099.696],
- [-29.47124, 95.14681, -163.779130441688382,
- -27.46601, -69.15955, -15.909335945554969,
- 13487015.8381145492, 121.294026715742277, 5481428.9945736388,
- -0.51527225545373252, -0.51556587964721788, 104679964020340.318]];
-
-assert.approx = function(x, y, d) {
- assert(Math.abs(x-y) <= d, x + " = " + y + " +/- " + d);
-};
-
-describe("GeographicLib", function() {
- describe("GeodesicTest", function () {
- var geod = g.WGS84, i,
- check_geod_inverse, check_geod_direct, check_geod_arcdirect;
-
- check_geod_inverse = function(l) {
- var lat1 = l[0], lon1 = l[1], azi1 = l[2],
- lat2 = l[3], lon2 = l[4], azi2 = l[5],
- s12 = l[6], a12 = l[7], m12 = l[8],
- M12 = l[9], M21 = l[10], S12 = l[11],
- inv = geod.Inverse(lat1, lon1, lat2, G.Math.AngNormalize(lon2),
- g.ALL | g.LONG_UNROLL);
- assert.approx(lon2, inv.lon2, 1e-13);
- assert.approx(azi1, inv.azi1, 1e-13);
- assert.approx(azi2, inv.azi2, 1e-13);
- assert.approx(s12, inv.s12, 1e-8);
- assert.approx(a12, inv.a12, 1e-13);
- assert.approx(m12, inv.m12, 1e-8);
- assert.approx(M12, inv.M12, 1e-15);
- assert.approx(M21, inv.M21, 1e-15);
- assert.approx(S12, inv.S12, 0.1);
- };
-
- check_geod_direct = function(l) {
- var lat1 = l[0], lon1 = l[1], azi1 = l[2],
- lat2 = l[3], lon2 = l[4], azi2 = l[5],
- s12 = l[6], a12 = l[7], m12 = l[8],
- M12 = l[9], M21 = l[10], S12 = l[11],
- dir = geod.Direct(lat1, lon1, azi1, s12, g.ALL | g.LONG_UNROLL);
- assert.approx(lat2, dir.lat2, 1e-13);
- assert.approx(lon2, dir.lon2, 1e-13);
- assert.approx(azi2, dir.azi2, 1e-13);
- assert.approx(a12, dir.a12, 1e-13);
- assert.approx(m12, dir.m12, 1e-8);
- assert.approx(M12, dir.M12, 1e-15);
- assert.approx(M21, dir.M21, 1e-15);
- assert.approx(S12, dir.S12, 0.1);
- };
-
- check_geod_arcdirect = function(l) {
- var lat1 = l[0], lon1 = l[1], azi1 = l[2],
- lat2 = l[3], lon2 = l[4], azi2 = l[5],
- s12 = l[6], a12 = l[7], m12 = l[8],
- M12 = l[9], M21 = l[10], S12 = l[11],
- dir = geod.ArcDirect(lat1, lon1, azi1, a12, g.ALL | g.LONG_UNROLL);
- assert.approx(lat2, dir.lat2, 1e-13);
- assert.approx(lon2, dir.lon2, 1e-13);
- assert.approx(azi2, dir.azi2, 1e-13);
- assert.approx(s12, dir.s12, 1e-8);
- assert.approx(m12, dir.m12, 1e-8);
- assert.approx(M12, dir.M12, 1e-15);
- assert.approx(M21, dir.M21, 1e-15);
- assert.approx(S12, dir.S12, 0.1);
- };
-
- it("check inverse", function () {
- for (i = 0; i < testcases.length; ++i) {
- check_geod_inverse(testcases[i]);
- }
- });
-
- it("check direct", function () {
- for (i = 0; i < testcases.length; ++i) {
- check_geod_direct(testcases[i]);
- }
- });
-
- it("check arcdirect", function () {
- for (i = 0; i < testcases.length; ++i) {
- check_geod_arcdirect(testcases[i]);
- }
- });
-
- });
-
- describe("DMSTest", function () {
- it("check decode", function () {
- assert.deepEqual(d.Decode("E7:33:36"), d.Decode("-7.56W"));
- });
- });
-
- describe("GeodesicSolve", function () {
- it("GeodSolve0", function () {
- var geod = g.WGS84,
- inv = geod.Inverse(40.6, -73.8, 49.01666667, 2.55);
- assert.approx(inv.azi1, 53.47022, 0.5e-5);
- assert.approx(inv.azi2, 111.59367, 0.5e-5);
- assert.approx(inv.s12, 5853226, 0.5);
- });
-
- it("GeodSolve1", function() {
- var geod = g.WGS84,
- dir = geod.Direct(40.63972222, -73.77888889, 53.5, 5850e3);
- assert.approx(dir.lat2, 49.01467, 0.5e-5);
- assert.approx(dir.lon2, 2.56106, 0.5e-5);
- assert.approx(dir.azi2, 111.62947, 0.5e-5);
- });
-
- it("GeodSolve2", function() {
- // Check fix for antipodal prolate bug found 2010-09-04
- var geod = new g.Geodesic(6.4e6, -1/150.0),
- inv = geod.Inverse(0.07476, 0, -0.07476, 180);
- assert.approx(inv.azi1, 90.00078, 0.5e-5);
- assert.approx(inv.azi2, 90.00078, 0.5e-5);
- assert.approx(inv.s12, 20106193, 0.5);
- inv = geod.Inverse(0.1, 0, -0.1, 180);
- assert.approx(inv.azi1, 90.00105, 0.5e-5);
- assert.approx(inv.azi2, 90.00105, 0.5e-5);
- assert.approx(inv.s12, 20106193, 0.5);
- });
-
- it("GeodSolve4", function() {
- // Check fix for short line bug found 2010-05-21
- var geod = g.WGS84,
- inv = geod.Inverse(36.493349428792, 0, 36.49334942879201, 0.0000008);
- assert.approx(inv.s12, 0.072, 0.5e-3);
- });
-
- it("GeodSolve5", function() {
- // Check fix for point2=pole bug found 2010-05-03
- var geod = g.WGS84,
- dir = geod.Direct(0.01777745589997, 30, 0, 10e6);
- assert.approx(dir.lat2, 90, 0.5e-5);
- if (dir.lon2 < 0) {
- assert.approx(dir.lon2, -150, 0.5e-5);
- assert.approx(Math.abs(dir.azi2), 180, 0.5e-5);
- } else {
- assert.approx(dir.lon2, 30, 0.5e-5);
- assert.approx(dir.azi2, 0, 0.5e-5);
- }
- });
-
- it("GeodSolve6", function() {
- // Check fix for volatile sbet12a bug found 2011-06-25 (gcc 4.4.4
- // x86 -O3). Found again on 2012-03-27 with tdm-mingw32 (g++ 4.6.1).
- var geod = g.WGS84,
- inv = geod.Inverse(88.202499451857, 0,
- -88.202499451857, 179.981022032992859592);
- assert.approx(inv.s12, 20003898.214, 0.5e-3);
- inv = geod.Inverse(89.262080389218, 0,
- -89.262080389218, 179.992207982775375662);
- assert.approx(inv.s12, 20003925.854, 0.5e-3);
- inv = geod.Inverse(89.333123580033, 0,
- -89.333123580032997687, 179.99295812360148422);
- assert.approx(inv.s12, 20003926.881, 0.5e-3);
- });
-
- it("GeodSolve9", function() {
- // Check fix for volatile x bug found 2011-06-25 (gcc 4.4.4 x86 -O3)
- var geod = g.WGS84,
- inv = geod.Inverse(56.320923501171, 0,
- -56.320923501171, 179.664747671772880215);
- assert.approx(inv.s12, 19993558.287, 0.5e-3);
- });
-
- it("GeodSolve10", function() {
- // Check fix for adjust tol1_ bug found 2011-06-25 (Visual Studio
- // 10 rel + debug)
- var geod = g.WGS84,
- inv = geod.Inverse(52.784459512564, 0,
- -52.784459512563990912, 179.634407464943777557);
- assert.approx(inv.s12, 19991596.095, 0.5e-3);
- });
-
- it("GeodSolve11", function() {
- // Check fix for bet2 = -bet1 bug found 2011-06-25 (Visual Studio
- // 10 rel + debug)
- var geod = g.WGS84,
- inv = geod.Inverse(48.522876735459, 0,
- -48.52287673545898293, 179.599720456223079643);
- assert.approx(inv.s12, 19989144.774, 0.5e-3);
- });
-
- it("GeodSolve12", function() {
- // Check fix for inverse geodesics on extreme prolate/oblate
- // ellipsoids Reported 2012-08-29 Stefan Guenther
- // ; fixed 2012-10-07
- var geod = new g.Geodesic(89.8, -1.83),
- inv = geod.Inverse(0, 0, -10, 160);
- assert.approx(inv.azi1, 120.27, 1e-2);
- assert.approx(inv.azi2, 105.15, 1e-2);
- assert.approx(inv.s12, 266.7, 1e-1);
- });
-
- it("GeodSolve14", function() {
- // Check fix for inverse ignoring lon12 = nan
- var geod = g.WGS84,
- inv = geod.Inverse(0, 0, 1, NaN);
- assert(isNaN(inv.azi1));
- assert(isNaN(inv.azi2));
- assert(isNaN(inv.s12));
- });
-
- it("GeodSolve15", function() {
- // Initial implementation of Math::eatanhe was wrong for e^2 < 0. This
- // checks that this is fixed.
- var geod = new g.Geodesic(6.4e6, -1/150.0),
- dir = geod.Direct(1, 2, 3, 4, g.AREA);
- assert.approx(dir.S12, 23700, 0.5);
- });
-
- it("GeodSolve17", function() {
- // Check fix for LONG_UNROLL bug found on 2015-05-07
- var geod = g.WGS84,
- dir = geod.Direct(40, -75, -10, 2e7, g.LONG_UNROLL),
- line;
- assert.approx(dir.lat2, -39, 1);
- assert.approx(dir.lon2, -254, 1);
- assert.approx(dir.azi2, -170, 1);
- line = geod.Line(40, -75, -10);
- dir = line.Position(2e7, g.LONG_UNROLL);
- assert.approx(dir.lat2, -39, 1);
- assert.approx(dir.lon2, -254, 1);
- assert.approx(dir.azi2, -170, 1);
- dir = geod.Direct(40, -75, -10, 2e7);
- assert.approx(dir.lat2, -39, 1);
- assert.approx(dir.lon2, 105, 1);
- assert.approx(dir.azi2, -170, 1);
- dir = line.Position(2e7);
- assert.approx(dir.lat2, -39, 1);
- assert.approx(dir.lon2, 105, 1);
- assert.approx(dir.azi2, -170, 1);
- });
-
- it("GeodSolve26", function() {
- // Check 0/0 problem with area calculation on sphere 2015-09-08
- var geod = new g.Geodesic(6.4e6, 0),
- inv = geod.Inverse(1, 2, 3, 4, g.AREA);
- assert.approx(inv.S12, 49911046115.0, 0.5);
- });
-
- it("GeodSolve28", function() {
- // Check for bad placement of assignment of r.a12 with |f| > 0.01 (bug in
- // Java implementation fixed on 2015-05-19).
- var geod = new g.Geodesic(6.4e6, 0.1),
- dir = geod.Direct(1, 2, 10, 5e6);
- assert.approx(dir.a12, 48.55570690, 0.5e-8);
- });
-
- it("GeodSolve29", function() {
- // Check longitude unrolling with inverse calculation 2015-09-16
- var geod = g.WGS84,
- dir = geod.Inverse(0, 539, 0, 181);
- assert.approx(dir.lon1, 179, 1e-10);
- assert.approx(dir.lon2, -179, 1e-10);
- assert.approx(dir.s12, 222639, 0.5);
- dir = geod.Inverse(0, 539, 0, 181, g.LONG_UNROLL);
- assert.approx(dir.lon1, 539, 1e-10);
- assert.approx(dir.lon2, 541, 1e-10);
- assert.approx(dir.s12, 222639, 0.5);
- });
-
- it("GeodSolve33", function() {
- // Check max(-0.0,+0.0) issues 2015-08-22 (triggered by bugs in Octave --
- // sind(-0.0) = +0.0 -- and in some version of Visual Studio --
- // fmod(-0.0, 360.0) = +0.0.
- var geod = g.WGS84,
- inv = geod.Inverse(0, 0, 0, 179);
- assert.approx(inv.azi1, 90.00000, 0.5e-5);
- assert.approx(inv.azi2, 90.00000, 0.5e-5);
- assert.approx(inv.s12, 19926189, 0.5);
- inv = geod.Inverse(0, 0, 0, 179.5);
- assert.approx(inv.azi1, 55.96650, 0.5e-5);
- assert.approx(inv.azi2, 124.03350, 0.5e-5);
- assert.approx(inv.s12, 19980862, 0.5);
- inv = geod.Inverse(0, 0, 0, 180);
- assert.approx(inv.azi1, 0.00000, 0.5e-5);
- assert.approx(Math.abs(inv.azi2), 180.00000, 0.5e-5);
- assert.approx(inv.s12, 20003931, 0.5);
- inv = geod.Inverse(0, 0, 1, 180);
- assert.approx(inv.azi1, 0.00000, 0.5e-5);
- assert.approx(Math.abs(inv.azi2), 180.00000, 0.5e-5);
- assert.approx(inv.s12, 19893357, 0.5);
- geod = new g.Geodesic(6.4e6, 0);
- inv = geod.Inverse(0, 0, 0, 179);
- assert.approx(inv.azi1, 90.00000, 0.5e-5);
- assert.approx(inv.azi2, 90.00000, 0.5e-5);
- assert.approx(inv.s12, 19994492, 0.5);
- inv = geod.Inverse(0, 0, 0, 180);
- assert.approx(inv.azi1, 0.00000, 0.5e-5);
- assert.approx(Math.abs(inv.azi2), 180.00000, 0.5e-5);
- assert.approx(inv.s12, 20106193, 0.5);
- inv = geod.Inverse(0, 0, 1, 180);
- assert.approx(inv.azi1, 0.00000, 0.5e-5);
- assert.approx(Math.abs(inv.azi2), 180.00000, 0.5e-5);
- assert.approx(inv.s12, 19994492, 0.5);
- geod = new g.Geodesic(6.4e6, -1/300.0);
- inv = geod.Inverse(0, 0, 0, 179);
- assert.approx(inv.azi1, 90.00000, 0.5e-5);
- assert.approx(inv.azi2, 90.00000, 0.5e-5);
- assert.approx(inv.s12, 19994492, 0.5);
- inv = geod.Inverse(0, 0, 0, 180);
- assert.approx(inv.azi1, 90.00000, 0.5e-5);
- assert.approx(inv.azi2, 90.00000, 0.5e-5);
- assert.approx(inv.s12, 20106193, 0.5);
- inv = geod.Inverse(0, 0, 0.5, 180);
- assert.approx(inv.azi1, 33.02493, 0.5e-5);
- assert.approx(inv.azi2, 146.97364, 0.5e-5);
- assert.approx(inv.s12, 20082617, 0.5);
- inv = geod.Inverse(0, 0, 1, 180);
- assert.approx(inv.azi1, 0.00000, 0.5e-5);
- assert.approx(Math.abs(inv.azi2), 180.00000, 0.5e-5);
- assert.approx(inv.s12, 20027270, 0.5);
- });
-
- it("GeodSolve55", function() {
- // Check fix for nan + point on equator or pole not returning all nans in
- // Geodesic::Inverse, found 2015-09-23.
- var geod = g.WGS84,
- inv = geod.Inverse(NaN, 0, 0, 90);
- assert(isNaN(inv.azi1));
- assert(isNaN(inv.azi2));
- assert(isNaN(inv.s12));
- inv = geod.Inverse(NaN, 0, 90, 9);
- assert(isNaN(inv.azi1));
- assert(isNaN(inv.azi2));
- assert(isNaN(inv.s12));
- });
-
- it("GeodSolve59", function() {
- // Check for points close with longitudes close to 180 deg apart.
- var geod = g.WGS84,
- inv = geod.Inverse(5, 0.00000000000001, 10, 180);
- assert.approx(inv.azi1, 0.000000000000035, 1.5e-14);
- assert.approx(inv.azi2, 179.99999999999996, 1.5e-14);
- assert.approx(inv.s12, 18345191.174332713, 5e-9);
- });
-
- it("GeodSolve61", function() {
- // Make sure small negative azimuths are west-going
- var geod = g.WGS84,
- dir = geod.Direct(45, 0, -0.000000000000000003, 1e7,
- g.LONG_UNROLL),
- line;
- assert.approx(dir.lat2, 45.30632, 0.5e-5);
- assert.approx(dir.lon2, -180, 0.5e-5);
- assert.approx(Math.abs(dir.azi2), 180, 0.5e-5);
- line = geod.InverseLine(45, 0, 80, -0.000000000000000003);
- dir = line.Position(1e7, g.LONG_UNROLL);
- assert.approx(dir.lat2, 45.30632, 0.5e-5);
- assert.approx(dir.lon2, -180, 0.5e-5);
- assert.approx(Math.abs(dir.azi2), 180, 0.5e-5);
- });
-
- it("GeodSolve65", function() {
- // Check for bug in east-going check in GeodesicLine (needed to check for
- // sign of 0) and sign error in area calculation due to a bogus override
- // of the code for alp12. Found/fixed on 2015-12-19.
- var geod = g.WGS84,
- line = geod.InverseLine(30, -0.000000000000000001, -31, 180,
- g.ALL),
- dir = line.Position(1e7, g.ALL | g.LONG_UNROLL);
- assert.approx(dir.lat1, 30.00000 , 0.5e-5);
- assert.approx(dir.lon1, -0.00000 , 0.5e-5);
- assert.approx(Math.abs(dir.azi1), 180.00000, 0.5e-5);
- assert.approx(dir.lat2, -60.23169 , 0.5e-5);
- assert.approx(dir.lon2, -0.00000 , 0.5e-5);
- assert.approx(Math.abs(dir.azi2), 180.00000, 0.5e-5);
- assert.approx(dir.s12 , 10000000 , 0.5);
- assert.approx(dir.a12 , 90.06544 , 0.5e-5);
- assert.approx(dir.m12 , 6363636 , 0.5);
- assert.approx(dir.M12 , -0.0012834, 0.5e7);
- assert.approx(dir.M21 , 0.0013749 , 0.5e-7);
- assert.approx(dir.S12 , 0 , 0.5);
- dir = line.Position(2e7, g.ALL | g.LONG_UNROLL);
- assert.approx(dir.lat1, 30.00000 , 0.5e-5);
- assert.approx(dir.lon1, -0.00000 , 0.5e-5);
- assert.approx(Math.abs(dir.azi1), 180.00000, 0.5e-5);
- assert.approx(dir.lat2, -30.03547 , 0.5e-5);
- assert.approx(dir.lon2, -180.00000, 0.5e-5);
- assert.approx(dir.azi2, -0.00000 , 0.5e-5);
- assert.approx(dir.s12 , 20000000 , 0.5);
- assert.approx(dir.a12 , 179.96459 , 0.5e-5);
- assert.approx(dir.m12 , 54342 , 0.5);
- assert.approx(dir.M12 , -1.0045592, 0.5e7);
- assert.approx(dir.M21 , -0.9954339, 0.5e-7);
- assert.approx(dir.S12 , 127516405431022.0, 0.5);
- });
-
- it("GeodSolve69", function() {
- // Check for InverseLine if line is slightly west of S and that s13 is
- // correctly set.
- var geod = g.WGS84,
- line = geod.InverseLine(-5, -0.000000000000002, -10, 180),
- dir = line.Position(2e7, g.LONG_UNROLL);
- assert.approx(dir.lat2, 4.96445 , 0.5e-5);
- assert.approx(dir.lon2, -180.00000, 0.5e-5);
- assert.approx(dir.azi2, -0.00000 , 0.5e-5);
- dir = line.Position(0.5 * line.s13, g.LONG_UNROLL);
- assert.approx(dir.lat2, -87.52461 , 0.5e-5);
- assert.approx(dir.lon2, -0.00000 , 0.5e-5);
- assert.approx(dir.azi2, -180.00000, 0.5e-5);
- });
-
- it("GeodSolve71", function() {
- // Check that DirectLine sets s13.
- var geod = g.WGS84,
- line = geod.DirectLine(1, 2, 45, 1e7),
- dir = line.Position(0.5 * line.s13, g.LONG_UNROLL);
- assert.approx(dir.lat2, 30.92625, 0.5e-5);
- assert.approx(dir.lon2, 37.54640, 0.5e-5);
- assert.approx(dir.azi2, 55.43104, 0.5e-5);
- });
-
- it("GeodSolve73", function() {
- // Check for backwards from the pole bug reported by Anon on 2016-02-13.
- // This only affected the Java implementation. It was introduced in Java
- // version 1.44 and fixed in 1.46-SNAPSHOT on 2016-01-17.
- // Also the + sign on azi2 is a check on the normalizing of azimuths
- // (converting -0.0 to +0.0).
- var geod = g.WGS84,
- dir = geod.Direct(90, 10, 180, -1e6);
- assert.approx(dir.lat2, 81.04623, 0.5e-5);
- assert.approx(dir.lon2, -170, 0.5e-5);
- assert.approx(dir.azi2, 0, 0.5e-5);
- assert.ok(m.copysign(1, dir.azi2) > 0);
- });
-
- it("GeodSolve74", function() {
- // Check fix for inaccurate areas, bug introduced in v1.46, fixed
- // 2015-10-16.
- var geod = g.WGS84,
- inv = geod.Inverse(54.1589, 15.3872, 54.1591, 15.3877, g.ALL);
- assert.approx(inv.azi1, 55.723110355, 5e-9);
- assert.approx(inv.azi2, 55.723515675, 5e-9);
- assert.approx(inv.s12, 39.527686385, 5e-9);
- assert.approx(inv.a12, 0.000355495, 5e-9);
- assert.approx(inv.m12, 39.527686385, 5e-9);
- assert.approx(inv.M12, 0.999999995, 5e-9);
- assert.approx(inv.M21, 0.999999995, 5e-9);
- assert.approx(inv.S12, 286698586.30197, 5e-4);
- });
-
- it("GeodSolve76", function() {
- // The distance from Wellington and Salamanca (a classic failure of
- // Vincenty)
- var geod = g.WGS84,
- inv = geod.Inverse(-(41+19/60.0), 174+49/60.0,
- 40+58/60.0, -(5+30/60.0));
- assert.approx(inv.azi1, 160.39137649664, 0.5e-11);
- assert.approx(inv.azi2, 19.50042925176, 0.5e-11);
- assert.approx(inv.s12, 19960543.857179, 0.5e-6);
- });
-
- it("GeodSolve78", function() {
- // An example where the NGS calculator fails to converge
- var geod = g.WGS84,
- inv = geod.Inverse(27.2, 0.0, -27.1, 179.5);
- assert.approx(inv.azi1, 45.82468716758, 0.5e-11);
- assert.approx(inv.azi2, 134.22776532670, 0.5e-11);
- assert.approx(inv.s12, 19974354.765767, 0.5e-6);
- });
-
- it("GeodSolve80", function() {
- // Some tests to add code coverage: computing scale in special cases +
- // zero length geodesic (includes GeodSolve80 - GeodSolve83).
- var geod = g.WGS84, inv, line, dir;
-
- inv = geod.Inverse(0, 0, 0, 90, g.GEODESICSCALE);
- assert.approx(inv.M12, -0.00528427534, 0.5e-10);
- assert.approx(inv.M21, -0.00528427534, 0.5e-10);
-
- inv = geod.Inverse(0, 0, 1e-6, 1e-6, g.GEODESICSCALE);
- assert.approx(inv.M12, 1, 0.5e-10);
- assert.approx(inv.M21, 1, 0.5e-10);
-
- inv = geod.Inverse(20.001, 0, 20.001, 0, g.ALL);
- assert.approx(inv.a12, 0, 1e-13);
- assert.approx(inv.s12, 0, 1e-8);
- assert.approx(inv.azi1, 180, 1e-13);
- assert.approx(inv.azi2, 180, 1e-13);
- assert.approx(inv.m12, 0, 1e-8);
- assert.approx(inv.M12, 1, 1e-15);
- assert.approx(inv.M21, 1, 1e-15);
- assert.approx(inv.S12, 0, 1e-10);
-
- inv = geod.Inverse(90, 0, 90, 180, g.ALL);
- assert.approx(inv.a12, 0, 1e-13);
- assert.approx(inv.s12, 0, 1e-8);
- assert.approx(inv.azi1, 0, 1e-13);
- assert.approx(inv.azi2, 180, 1e-13);
- assert.approx(inv.m12, 0, 1e-8);
- assert.approx(inv.M12, 1, 1e-15);
- assert.approx(inv.M21, 1, 1e-15);
- assert.approx(inv.S12, 127516405431022.0, 0.5);
-
- // An incapable line which can't take distance as input
- line = geod.Line(1, 2, 90, g.LATITUDE);
- dir = line.Position(1000, g.NONE);
- assert(isNaN(dir.a12));
- });
-
- it("GeodSolve84", function() {
- // Tests for python implementation to check fix for range errors with
- // {fmod,sin,cos}(inf) (includes GeodSolve84 - GeodSolve86).
- var geod = g.WGS84, dir;
- dir = geod.Direct(0, 0, 90, Infinity);
- assert(isNaN(dir.lat2));
- assert(isNaN(dir.lon2));
- assert(isNaN(dir.azi2));
- dir = geod.Direct(0, 0, 90, NaN);
- assert(isNaN(dir.lat2));
- assert(isNaN(dir.lon2));
- assert(isNaN(dir.azi2));
- dir = geod.Direct(0, 0, Infinity, 1000);
- assert(isNaN(dir.lat2));
- assert(isNaN(dir.lon2));
- assert(isNaN(dir.azi2));
- dir = geod.Direct(0, 0, NaN, 1000);
- assert(isNaN(dir.lat2));
- assert(isNaN(dir.lon2));
- assert(isNaN(dir.azi2));
- dir = geod.Direct(0, Infinity, 90, 1000);
- assert(dir.lat2 == 0);
- assert(isNaN(dir.lon2));
- assert(dir.azi2 == 90);
- dir = geod.Direct(0, NaN, 90, 1000);
- assert(dir.lat2 == 0);
- assert(isNaN(dir.lon2));
- assert(dir.azi2 == 90);
- dir = geod.Direct(Infinity, 0, 90, 1000);
- assert(isNaN(dir.lat2));
- assert(isNaN(dir.lon2));
- assert(isNaN(dir.azi2));
- dir = geod.Direct(NaN, 0, 90, 1000);
- assert(isNaN(dir.lat2));
- assert(isNaN(dir.lon2));
- assert(isNaN(dir.azi2));
- });
-
- });
-
- describe("Planimeter", function () {
-
- var geod = g.WGS84,
- polygon = geod.Polygon(false),
- polyline = geod.Polygon(true),
- Planimeter, PolyLength;
-
- Planimeter = function(points) {
- var i;
- polygon.Clear();
- for (i = 0; i < points.length; ++i) {
- polygon.AddPoint(points[i][0], points[i][1]);
- }
- return polygon.Compute(false, true);
- };
-
- PolyLength = function(points) {
- var i;
- polyline.Clear();
- for (i = 0; i < points.length; ++i) {
- polyline.AddPoint(points[i][0], points[i][1]);
- }
- return polyline.Compute(false, true);
- };
-
- it("Planimeter0", function() {
- // Check fix for pole-encircling bug found 2011-03-16
- var points, a;
- points = [[89, 0], [89, 90], [89, 180], [89, 270]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 631819.8745, 1e-4);
- assert.approx(a.area, 24952305678.0, 1);
-
- points = [[-89, 0], [-89, 90], [-89, 180], [-89, 270]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 631819.8745, 1e-4);
- assert.approx(a.area, -24952305678.0, 1);
-
- points = [[0, -1], [-1, 0], [0, 1], [1, 0]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 627598.2731, 1e-4);
- assert.approx(a.area, 24619419146.0, 1);
-
- points = [[90, 0], [0, 0], [0, 90]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 30022685, 1);
- assert.approx(a.area, 63758202715511.0, 1);
- a = PolyLength(points);
- assert.approx(a.perimeter, 20020719, 1);
- assert(isNaN(a.area));
- });
-
- it("Planimeter5", function() {
- // Check fix for Planimeter pole crossing bug found 2011-06-24
- var points, a;
- points = [[89, 0.1], [89, 90.1], [89, -179.9]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 539297, 1);
- assert.approx(a.area, 12476152838.5, 1);
- });
-
- it("Planimeter6", function() {
- // Check fix for Planimeter lon12 rounding bug found 2012-12-03
- var points, a;
- points = [[9, -0.00000000000001], [9, 180], [9, 0]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 36026861, 1);
- assert.approx(a.area, 0, 1);
- points = [[9, 0.00000000000001], [9, 0], [9, 180]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 36026861, 1);
- assert.approx(a.area, 0, 1);
- points = [[9, 0.00000000000001], [9, 180], [9, 0]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 36026861, 1);
- assert.approx(a.area, 0, 1);
- points = [[9, -0.00000000000001], [9, 0], [9, 180]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 36026861, 1);
- assert.approx(a.area, 0, 1);
- });
-
- it("Planimeter12", function() {
- // Area of arctic circle (not really -- adjunct to rhumb-area test)
- var points, a;
- points = [[66.562222222, 0], [66.562222222, 180]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 10465729, 1);
- assert.approx(a.area, 0, 1);
- });
-
- it("Planimeter13", function() {
- // Check encircling pole twice
- var points, a;
- points = [[89,-360], [89,-240], [89,-120], [89,0], [89,120], [89,240]];
- a = Planimeter(points);
- assert.approx(a.perimeter, 1160741, 1);
- assert.approx(a.area, 32415230256.0, 1);
- });
-
- it("Planimeter15", function() {
- // Coverage tests, includes Planimeter15 - Planimeter18 (combinations of
- // reverse and sign) + calls to testpoint, testedge.
- var a, lat, lon, r, a0, area, inv;
- lat = [2, 1, 3]; lon = [1, 2, 3];
- r = 18454562325.45119;
- a0 = 510065621724088.5093; // ellipsoid area
- polygon.Clear();
- polygon.AddPoint(lat[0], lon[0]);
- polygon.AddPoint(lat[1], lon[1]);
- a = polygon.TestPoint(lat[2], lon[2], false, true);
- assert.approx(a.area, r, 0.5);
- a = polygon.TestPoint(lat[2], lon[2], false, false);
- assert.approx(a.area, r, 0.5);
- a = polygon.TestPoint(lat[2], lon[2], true, true);
- assert.approx(a.area, -r, 0.5);
- a = polygon.TestPoint(lat[2], lon[2], true, false);
- assert.approx(a.area, a0-r, 0.5);
- inv = geod.Inverse(lat[1], lon[1], lat[2], lon[2]);
- a = polygon.TestEdge(inv.azi1, inv.s12, false, true);
- assert.approx(a.area, r, 0.5);
- a = polygon.TestEdge(inv.azi1, inv.s12, false, false);
- assert.approx(a.area, r, 0.5);
- a = polygon.TestEdge(inv.azi1, inv.s12, true, true);
- assert.approx(a.area, -r, 0.5);
- a = polygon.TestEdge(inv.azi1, inv.s12, true, false);
- assert.approx(a.area, a0-r, 0.5);
- polygon.AddPoint(lat[2], lon[2]);
- a = polygon.Compute(false, true);
- assert.approx(a.area, r, 0.5);
- a = polygon.Compute(false, false);
- assert.approx(a.area, r, 0.5);
- a = polygon.Compute(true, true);
- assert.approx(a.area, -r, 0.5);
- a = polygon.Compute(true, false);
- assert.approx(a.area, a0-r, 0.5);
- });
-
- it("Planimeter19", function() {
- // Coverage tests, includes Planimeter19 - Planimeter20 (degenerate
- // polygons) + extra cases.
- var a;
- polygon.Clear();
- a = polygon.Compute(false, true);
- assert(a.area == 0);
- assert(a.perimeter == 0);
- a = polygon.TestPoint(1, 1, false, true);
- assert(a.area == 0);
- assert(a.perimeter == 0);
- a = polygon.TestEdge(90, 1000, false, true);
- assert(isNaN(a.area));
- assert(isNaN(a.perimeter));
- polygon.AddPoint(1, 1);
- a = polygon.Compute(false, true);
- assert(a.area == 0);
- assert(a.perimeter == 0);
- polyline.Clear();
- a = polyline.Compute(false, true);
- assert(a.perimeter == 0);
- a = polyline.TestPoint(1, 1, false, true);
- assert(a.perimeter == 0);
- a = polyline.TestEdge(90, 1000, false, true);
- assert(isNaN(a.perimeter));
- polyline.AddPoint(1, 1);
- a = polyline.Compute(false, true);
- assert(a.perimeter == 0);
- polygon.AddPoint(1, 1);
- a = polyline.TestEdge(90, 1000, false, true);
- assert.approx(a.perimeter, 1000, 1e-10);
- a = polyline.TestPoint(2, 2, false, true);
- assert.approx(a.perimeter, 156876.149, 0.5e-3);
- });
-
- it("Planimeter21", function() {
- // Some test to add code coverage: multiple circlings of pole (includes
- // Planimeter21 - Planimeter28) + invocations via testpoint and testedge.
- var a, lat, azi, s, r, a0, i;
- lat = 45;
- azi = 39.2144607176828184218;
- s = 8420705.40957178156285;
- r = 39433884866571.4277; // Area for one circuit
- a0 = 510065621724088.5093; // Ellipsoid area
- polygon.Clear();
- polygon.AddPoint(lat, 60);
- polygon.AddPoint(lat, 180);
- polygon.AddPoint(lat, -60);
- polygon.AddPoint(lat, 60);
- polygon.AddPoint(lat, 180);
- polygon.AddPoint(lat, -60);
- for (i = 3; i <= 4; ++i) {
- polygon.AddPoint(lat, 60);
- polygon.AddPoint(lat, 180);
- a = polygon.TestPoint(lat, -60, false, true);
- assert.approx(a.area, i*r, 0.5);
- a = polygon.TestPoint(lat, -60, false, false);
- assert.approx(a.area, i*r, 0.5);
- a = polygon.TestPoint(lat, -60, true, true);
- assert.approx(a.area, -i*r, 0.5);
- a = polygon.TestPoint(lat, -60, true, false);
- assert.approx(a.area, -i*r + a0, 0.5);
- a = polygon.TestEdge(azi, s, false, true);
- assert.approx(a.area, i*r, 0.5);
- a = polygon.TestEdge(azi, s, false, false);
- assert.approx(a.area, i*r, 0.5);
- a = polygon.TestEdge(azi, s, true, true);
- assert.approx(a.area, -i*r, 0.5);
- a = polygon.TestEdge(azi, s, true, false);
- assert.approx(a.area, -i*r + a0, 0.5);
- polygon.AddPoint(lat, -60);
- a = polygon.Compute(false, true);
- assert.approx(a.area, i*r, 0.5);
- a = polygon.Compute(false, false);
- assert.approx(a.area, i*r, 0.5);
- a = polygon.Compute(true, true);
- assert.approx(a.area, -i*r, 0.5);
- a = polygon.Compute(true, false);
- assert.approx(a.area, -i*r + a0, 0.5);
- }
- });
-
- it("Planimeter29", function() {
- // Check fix to transitdirect vs transit zero handling inconsistency
- var a;
- polygon.Clear();
- polygon.AddPoint(0, 0);
- polygon.AddEdge( 90, 1000);
- polygon.AddEdge( 0, 1000);
- polygon.AddEdge(-90, 1000);
- a = polygon.Compute(false, true);
- // The area should be 1e6. Prior to the fix it was 1e6 - A/2, where
- // A = ellipsoid area.
- assert.approx(a.area, 1000000.0, 0.01);
- });
-
- it("check TestEdge", function() {
- // Check fix of bugs found by threepointone, 2015-10-14
- polygon.Clear();
- polygon.AddPoint(33, 44);
- polygon.TestEdge(90, 10e3, false, true);
- polygon.AddEdge(90, 10e3, false, true);
- });
-
- });
-});
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.1 b/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.1
deleted file mode 100644
index 011c1d1877f9932c5d25134f97ba0c3fa218c80e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.1
+++ /dev/null
@@ -1,263 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "CARTCONVERT 1"
-.TH CARTCONVERT 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-CartConvert \-\- convert geodetic coordinates to geocentric or local cartesian
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBCartConvert\fR [ \fB\-r\fR ] [ \fB\-l\fR \fIlat0\fR \fIlon0\fR \fIh0\fR ]
-[ \fB\-e\fR \fIa\fR \fIf\fR ] [ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-Convert geodetic coordinates to either geocentric or local cartesian
-coordinates. Geocentric coordinates have the origin at the center of
-the earth, with the \fIz\fR axis going thru the north pole, and the \fIx\fR
-axis thru \fIlatitude\fR = 0, \fIlongitude\fR = 0. By default, the
-conversion is to geocentric coordinates. Specifying \fB\-l\fR \fIlat0\fR
-\&\fIlon0\fR \fIh0\fR causes a local coordinate system to be used with the
-origin at \fIlatitude\fR = \fIlat0\fR, \fIlongitude\fR = \fIlon0\fR, \fIheight\fR =
-\&\fIh0\fR, \fIz\fR normal to the ellipsoid and \fIy\fR due north.
-.PP
-Geodetic coordinates are provided on standard input as a set of lines
-containing (blank separated) \fIlatitude\fR, \fIlongitude\fR (decimal degrees
-or degrees, minutes and seconds), and \fIheight\fR above the ellipsoid
-(meters); for details on the allowed formats for latitude and longitude,
-see the \f(CW\*(C`GEOGRAPHIC COORDINATES\*(C'\fR section of \fIGeoConvert\fR\|(1). For each
-set of geodetic coordinates, the corresponding cartesian coordinates
-\&\fIx\fR, \fIy\fR, \fIz\fR (meters) are printed on standard output.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-r\fR" 4
-.IX Item "-r"
-perform the reverse projection. \fIx\fR, \fIy\fR, \fIz\fR are given on
-standard input and each line of standard output gives \fIlatitude\fR,
-\&\fIlongitude\fR, \fIheight\fR. In general there are multiple solutions and
-the result which minimizes the absolute value of \fIheight\fR is
-returned, i.e., (\fIlatitude\fR, \fIlongitude\fR) corresponds to the closest
-point on the ellipsoid.
-.IP "\fB\-l\fR \fIlat0\fR \fIlon0\fR \fIh0\fR" 4
-.IX Item "-l lat0 lon0 h0"
-specifies conversions to and from a local cartesion coordinate systems
-with origin \fIlat0\fR \fIlon0\fR \fIh0\fR, instead of a geocentric coordinate
-system. The \fB\-w\fR flag can be used to swap the default order of the 2
-geographic coordinates, provided that it appears before \fB\-l\fR.
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 6). \fIprec\fR is the number
-of digits after the decimal point for geocentric and local cartesion
-coordinates and for the height (in meters). For latitudes and
-longitudes (in degrees), the number of digits after the decimal point is
-\&\fIprec\fR + 5.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-.Vb 6
-\& echo 33.3 44.4 6000 | CartConvert
-\& => 3816209.60 3737108.55 3485109.57
-\& echo 33.3 44.4 6000 | CartConvert \-l 33 44 20
-\& => 37288.97 33374.29 5783.64
-\& echo 30000 30000 0 | CartConvert \-r
-\& => 6.483 45 \-6335709.73
-.Ve
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBCartConvert\fR to return an exit
-code of 1. However, an error does not cause \fBCartConvert\fR to
-terminate; following lines will be converted.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-The algorithm for converting geocentric to geodetic coordinates is given
-in Appendix B of C. F. F. Karney, \fIGeodesics on an ellipsoid of
-revolution\fR, Feb. 2011; preprint .
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBCartConvert\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBCartConvert\fR was added to GeographicLib,
-, in 2009\-02. Prior to 2009\-03 it was
-called ECEFConvert.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.1.html b/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.1.html
deleted file mode 100644
index 2b2af19b668cf755fc453052e30ea768bbbc417e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.1.html
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-CartConvert(1)
-
-
-
-
-
-
-
-
-
NAME
-
-
CartConvert -- convert geodetic coordinates to geocentric or local cartesian
Convert geodetic coordinates to either geocentric or local cartesian coordinates. Geocentric coordinates have the origin at the center of the earth, with the z axis going thru the north pole, and the x axis thru latitude = 0, longitude = 0. By default, the conversion is to geocentric coordinates. Specifying -llat0lon0h0 causes a local coordinate system to be used with the origin at latitude = lat0, longitude = lon0, height = h0, z normal to the ellipsoid and y due north.
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude, longitude (decimal degrees or degrees, minutes and seconds), and height above the ellipsoid (meters); for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding cartesian coordinates x, y, z (meters) are printed on standard output.
-
-
OPTIONS
-
-
-
-
-r
-
-
-
perform the reverse projection. x, y, z are given on standard input and each line of standard output gives latitude, longitude, height. In general there are multiple solutions and the result which minimizes the absolute value of height is returned, i.e., (latitude, longitude) corresponds to the closest point on the ellipsoid.
-
-
-
-llat0lon0h0
-
-
-
specifies conversions to and from a local cartesion coordinate systems with origin lat0lon0h0, instead of a geocentric coordinate system. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -l.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for geocentric and local cartesion coordinates and for the height (in meters). For latitudes and longitudes (in degrees), the number of digits after the decimal point is prec + 5.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes CartConvert to return an exit code of 1. However, an error does not cause CartConvert to terminate; following lines will be converted.
-
-
SEE ALSO
-
-
The algorithm for converting geocentric to geodetic coordinates is given in Appendix B of C. F. F. Karney, Geodesics on an ellipsoid of revolution, Feb. 2011; preprint https://arxiv.org/abs/1102.1215.
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.usage b/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.usage
deleted file mode 100644
index 6adc00c2d12d94cc43e40cc19fa411f09c3e7ccb..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/CartConvert.usage
+++ /dev/null
@@ -1,138 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" CartConvert [ -r ] [ -l lat0 lon0 h0 ] [ -e a f ] [ -w ] [ -p prec ] [\n"
-" --comment-delimiter commentdelim ] [ --version | -h | --help ] [\n"
-" --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" CartConvert --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/CartConvert.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" CartConvert -- convert geodetic coordinates to geocentric or local\n"
-" cartesian\n"
-"\n"
-"SYNOPSIS\n"
-" CartConvert [ -r ] [ -l lat0 lon0 h0 ] [ -e a f ] [ -w ] [ -p prec ] [\n"
-" --comment-delimiter commentdelim ] [ --version | -h | --help ] [\n"
-" --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" Convert geodetic coordinates to either geocentric or local cartesian\n"
-" coordinates. Geocentric coordinates have the origin at the center of\n"
-" the earth, with the z axis going thru the north pole, and the x axis\n"
-" thru latitude = 0, longitude = 0. By default, the conversion is to\n"
-" geocentric coordinates. Specifying -l lat0 lon0 h0 causes a local\n"
-" coordinate system to be used with the origin at latitude = lat0,\n"
-" longitude = lon0, height = h0, z normal to the ellipsoid and y due\n"
-" north.\n"
-"\n"
-" Geodetic coordinates are provided on standard input as a set of lines\n"
-" containing (blank separated) latitude, longitude (decimal degrees or\n"
-" degrees, minutes and seconds), and height above the ellipsoid (meters);\n"
-" for details on the allowed formats for latitude and longitude, see the\n"
-" \"GEOGRAPHIC COORDINATES\" section of GeoConvert(1). For each set of\n"
-" geodetic coordinates, the corresponding cartesian coordinates x, y, z\n"
-" (meters) are printed on standard output.\n"
-"\n"
-"OPTIONS\n"
-" -r perform the reverse projection. x, y, z are given on standard\n"
-" input and each line of standard output gives latitude, longitude,\n"
-" height. In general there are multiple solutions and the result\n"
-" which minimizes the absolute value of height is returned, i.e.,\n"
-" (latitude, longitude) corresponds to the closest point on the\n"
-" ellipsoid.\n"
-"\n"
-" -l lat0 lon0 h0\n"
-" specifies conversions to and from a local cartesion coordinate\n"
-" systems with origin lat0 lon0 h0, instead of a geocentric\n"
-" coordinate system. The -w flag can be used to swap the default\n"
-" order of the 2 geographic coordinates, provided that it appears\n"
-" before -l.\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 6). prec is the number\n"
-" of digits after the decimal point for geocentric and local\n"
-" cartesion coordinates and for the height (in meters). For\n"
-" latitudes and longitudes (in degrees), the number of digits after\n"
-" the decimal point is prec + 5.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"EXAMPLES\n"
-" echo 33.3 44.4 6000 | CartConvert\n"
-" => 3816209.60 3737108.55 3485109.57\n"
-" echo 33.3 44.4 6000 | CartConvert -l 33 44 20\n"
-" => 37288.97 33374.29 5783.64\n"
-" echo 30000 30000 0 | CartConvert -r\n"
-" => 6.483 45 -6335709.73\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes CartConvert to return an exit code\n"
-" of 1. However, an error does not cause CartConvert to terminate;\n"
-" following lines will be converted.\n"
-"\n"
-"SEE ALSO\n"
-" The algorithm for converting geocentric to geodetic coordinates is\n"
-" given in Appendix B of C. F. F. Karney, Geodesics on an ellipsoid of\n"
-" revolution, Feb. 2011; preprint .\n"
-"\n"
-"AUTHOR\n"
-" CartConvert was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" CartConvert was added to GeographicLib,\n"
-" , in 2009-02. Prior to 2009-03\n"
-" it was called ECEFConvert.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.1 b/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.1
deleted file mode 100644
index 777eda69f432157613ac16064ab3dba567ffe29f..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.1
+++ /dev/null
@@ -1,276 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "CONICPROJ 1"
-.TH CONICPROJ 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-ConicProj \-\- perform conic projections
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBConicProj\fR ( \fB\-c\fR | \fB\-a\fR ) \fIlat1\fR \fIlat2\fR
-[ \fB\-l\fR \fIlon0\fR ] [ \fB\-k\fR \fIk1\fR ] [ \fB\-r\fR ]
-[ \fB\-e\fR \fIa\fR \fIf\fR ] [ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-Perform one of two conic projections geodesics. Convert geodetic
-coordinates to either Lambert conformal conic or Albers equal area
-coordinates. The standard latitudes \fIlat1\fR and \fIlat2\fR are specified
-by that the \fB\-c\fR option (for Lambert conformal conic) or the \fB\-a\fR
-option (for Albers equal area). At least one of these options must be
-given (the last one given is used). Specify \fIlat1\fR = \fIlat2\fR, to
-obtain the case with a single standard parallel. The central meridian
-is given by \fIlon0\fR. The longitude of origin is given by the latitude
-of minimum (azimuthal) scale for Lambert conformal conic (Albers equal
-area). The (azimuthal) scale on the standard parallels is \fIk1\fR.
-.PP
-Geodetic coordinates are provided on standard input as a set of lines
-containing (blank separated) \fIlatitude\fR and \fIlongitude\fR (decimal
-degrees or degrees, minutes, seconds); for details on the allowed
-formats for latitude and longitude, see the \f(CW\*(C`GEOGRAPHIC COORDINATES\*(C'\fR
-section of \fIGeoConvert\fR\|(1). For each set of geodetic coordinates, the
-corresponding projected easting, \fIx\fR, and northing, \fIy\fR, (meters) are
-printed on standard output together with the meridian convergence
-\&\fIgamma\fR (degrees) and (azimuthal) scale \fIk\fR. For Albers equal area,
-the radial scale is 1/\fIk\fR. The meridian convergence is the bearing of
-the \fIy\fR axis measured clockwise from true north.
-.PP
-Special cases of the Lambert conformal projection are the Mercator
-projection (the standard latitudes equal and opposite) and the polar
-stereographic projection (both standard latitudes correspond to the same
-pole). Special cases of the Albers equal area projection are the
-cylindrical equal area projection (the standard latitudes equal and
-opposite), the Lambert azimuthal equal area projection (both standard
-latitude corresponds to the same pole), and the Lambert equal area conic
-projection (one standard parallel is at a pole).
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-c\fR \fIlat1\fR \fIlat2\fR" 4
-.IX Item "-c lat1 lat2"
-use the Lambert conformal conic projection with standard parallels
-\&\fIlat1\fR and \fIlat2\fR.
-.IP "\fB\-a\fR \fIlat1\fR \fIlat2\fR" 4
-.IX Item "-a lat1 lat2"
-use the Albers equal area projection with standard parallels \fIlat1\fR and
-\&\fIlat2\fR.
-.IP "\fB\-l\fR \fIlon0\fR" 4
-.IX Item "-l lon0"
-specify the longitude of origin \fIlon0\fR (degrees, default 0).
-.IP "\fB\-k\fR \fIk1\fR" 4
-.IX Item "-k k1"
-specify the (azimuthal) scale \fIk1\fR on the standard parallels (default
-1).
-.IP "\fB\-r\fR" 4
-.IX Item "-r"
-perform the reverse projection. \fIx\fR and \fIy\fR are given on standard
-input and each line of standard output gives \fIlatitude\fR, \fIlongitude\fR,
-\&\fIgamma\fR, and \fIk\fR.
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 6). \fIprec\fR is the number
-of digits after the decimal point for lengths (in meters). For
-latitudes and longitudes (in degrees), the number of digits after the
-decimal point is \fIprec\fR + 5. For the convergence (in degrees) and
-scale, the number of digits after the decimal point is \fIprec\fR + 6.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-.Vb 4
-\& echo 39.95N 75.17W | ConicProj \-c 40d58 39d56 \-l 77d45W
-\& => 220445 \-52372 1.67 1.0
-\& echo 220445 \-52372 | ConicProj \-c 40d58 39d56 \-l 77d45W \-r
-\& => 39.95 \-75.17 1.67 1.0
-.Ve
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBConicProj\fR to return an exit
-code of 1. However, an error does not cause \fBConicProj\fR to
-terminate; following lines will be converted.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBConicProj\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBConicProj\fR was added to GeographicLib,
-, in version 1.9.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.1.html b/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.1.html
deleted file mode 100644
index 47366a1d9e9b8a3bb76a17eb05a366b1c3334fc5..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.1.html
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
-
-ConicProj(1)
-
-
-
-
-
-
-
-
-
Perform one of two conic projections geodesics. Convert geodetic coordinates to either Lambert conformal conic or Albers equal area coordinates. The standard latitudes lat1 and lat2 are specified by that the -c option (for Lambert conformal conic) or the -a option (for Albers equal area). At least one of these options must be given (the last one given is used). Specify lat1 = lat2, to obtain the case with a single standard parallel. The central meridian is given by lon0. The longitude of origin is given by the latitude of minimum (azimuthal) scale for Lambert conformal conic (Albers equal area). The (azimuthal) scale on the standard parallels is k1.
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude and longitude (decimal degrees or degrees, minutes, seconds); for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding projected easting, x, and northing, y, (meters) are printed on standard output together with the meridian convergence gamma (degrees) and (azimuthal) scale k. For Albers equal area, the radial scale is 1/k. The meridian convergence is the bearing of the y axis measured clockwise from true north.
-
-
Special cases of the Lambert conformal projection are the Mercator projection (the standard latitudes equal and opposite) and the polar stereographic projection (both standard latitudes correspond to the same pole). Special cases of the Albers equal area projection are the cylindrical equal area projection (the standard latitudes equal and opposite), the Lambert azimuthal equal area projection (both standard latitude corresponds to the same pole), and the Lambert equal area conic projection (one standard parallel is at a pole).
-
-
OPTIONS
-
-
-
-
-clat1lat2
-
-
-
use the Lambert conformal conic projection with standard parallels lat1 and lat2.
-
-
-
-alat1lat2
-
-
-
use the Albers equal area projection with standard parallels lat1 and lat2.
-
-
-
-llon0
-
-
-
specify the longitude of origin lon0 (degrees, default 0).
-
-
-
-kk1
-
-
-
specify the (azimuthal) scale k1 on the standard parallels (default 1).
-
-
-
-r
-
-
-
perform the reverse projection. x and y are given on standard input and each line of standard output gives latitude, longitude, gamma, and k.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for lengths (in meters). For latitudes and longitudes (in degrees), the number of digits after the decimal point is prec + 5. For the convergence (in degrees) and scale, the number of digits after the decimal point is prec + 6.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes ConicProj to return an exit code of 1. However, an error does not cause ConicProj to terminate; following lines will be converted.
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.usage b/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.usage
deleted file mode 100644
index 72671438446725309cf9a5827179fb0e6c3fa00c..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/ConicProj.usage
+++ /dev/null
@@ -1,149 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" ConicProj ( -c | -a ) lat1 lat2 [ -l lon0 ] [ -k k1 ] [ -r ] [ -e a f ]\n"
-" [ -w ] [ -p prec ] [ --comment-delimiter commentdelim ] [ --version |\n"
-" -h | --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" ConicProj --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/ConicProj.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" ConicProj -- perform conic projections\n"
-"\n"
-"SYNOPSIS\n"
-" ConicProj ( -c | -a ) lat1 lat2 [ -l lon0 ] [ -k k1 ] [ -r ] [ -e a f ]\n"
-" [ -w ] [ -p prec ] [ --comment-delimiter commentdelim ] [ --version |\n"
-" -h | --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" Perform one of two conic projections geodesics. Convert geodetic\n"
-" coordinates to either Lambert conformal conic or Albers equal area\n"
-" coordinates. The standard latitudes lat1 and lat2 are specified by\n"
-" that the -c option (for Lambert conformal conic) or the -a option (for\n"
-" Albers equal area). At least one of these options must be given (the\n"
-" last one given is used). Specify lat1 = lat2, to obtain the case with\n"
-" a single standard parallel. The central meridian is given by lon0.\n"
-" The longitude of origin is given by the latitude of minimum (azimuthal)\n"
-" scale for Lambert conformal conic (Albers equal area). The (azimuthal)\n"
-" scale on the standard parallels is k1.\n"
-"\n"
-" Geodetic coordinates are provided on standard input as a set of lines\n"
-" containing (blank separated) latitude and longitude (decimal degrees or\n"
-" degrees, minutes, seconds); for details on the allowed formats for\n"
-" latitude and longitude, see the \"GEOGRAPHIC COORDINATES\" section of\n"
-" GeoConvert(1). For each set of geodetic coordinates, the corresponding\n"
-" projected easting, x, and northing, y, (meters) are printed on standard\n"
-" output together with the meridian convergence gamma (degrees) and\n"
-" (azimuthal) scale k. For Albers equal area, the radial scale is 1/k.\n"
-" The meridian convergence is the bearing of the y axis measured\n"
-" clockwise from true north.\n"
-"\n"
-" Special cases of the Lambert conformal projection are the Mercator\n"
-" projection (the standard latitudes equal and opposite) and the polar\n"
-" stereographic projection (both standard latitudes correspond to the\n"
-" same pole). Special cases of the Albers equal area projection are the\n"
-" cylindrical equal area projection (the standard latitudes equal and\n"
-" opposite), the Lambert azimuthal equal area projection (both standard\n"
-" latitude corresponds to the same pole), and the Lambert equal area\n"
-" conic projection (one standard parallel is at a pole).\n"
-"\n"
-"OPTIONS\n"
-" -c lat1 lat2\n"
-" use the Lambert conformal conic projection with standard parallels\n"
-" lat1 and lat2.\n"
-"\n"
-" -a lat1 lat2\n"
-" use the Albers equal area projection with standard parallels lat1\n"
-" and lat2.\n"
-"\n"
-" -l lon0\n"
-" specify the longitude of origin lon0 (degrees, default 0).\n"
-"\n"
-" -k k1\n"
-" specify the (azimuthal) scale k1 on the standard parallels (default\n"
-" 1).\n"
-"\n"
-" -r perform the reverse projection. x and y are given on standard\n"
-" input and each line of standard output gives latitude, longitude,\n"
-" gamma, and k.\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 6). prec is the number\n"
-" of digits after the decimal point for lengths (in meters). For\n"
-" latitudes and longitudes (in degrees), the number of digits after\n"
-" the decimal point is prec + 5. For the convergence (in degrees)\n"
-" and scale, the number of digits after the decimal point is prec +\n"
-" 6.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"EXAMPLES\n"
-" echo 39.95N 75.17W | ConicProj -c 40d58 39d56 -l 77d45W\n"
-" => 220445 -52372 1.67 1.0\n"
-" echo 220445 -52372 | ConicProj -c 40d58 39d56 -l 77d45W -r\n"
-" => 39.95 -75.17 1.67 1.0\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes ConicProj to return an exit code of\n"
-" 1. However, an error does not cause ConicProj to terminate; following\n"
-" lines will be converted.\n"
-"\n"
-"AUTHOR\n"
-" ConicProj was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" ConicProj was added to GeographicLib,\n"
-" , in version 1.9.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.1 b/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.1
deleted file mode 100644
index 4e8ae3c2572387b89f1c337bebff8010784941cd..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.1
+++ /dev/null
@@ -1,528 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "GEOCONVERT 1"
-.TH GEOCONVERT 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-GeoConvert \-\- convert geographic coordinates
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBGeoConvert\fR [ \fB\-g\fR | \fB\-d\fR | \fB\-:\fR | \fB\-u\fR | \fB\-m\fR | \fB\-c\fR ]
-[ \fB\-z\fR \fIzone\fR | \fB\-s\fR | \fB\-t\fR | \fB\-S\fR | \fB\-T\fR ]
-[ \fB\-n\fR ] [ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ] [ \fB\-l\fR | \fB\-a\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\&\fBGeoConvert\fR reads from standard input interpreting each line as a
-geographic coordinate and prints the coordinate in the format specified
-by the options on standard output. The input is interpreted in one of
-three different ways depending on how many space or comma delimited
-tokens there are on the line. The options \fB\-g\fR, \fB\-d\fR, \fB\-u\fR, and \fB\-m\fR
-govern the format of output. In all cases, the \s-1WGS84\s0 model of the earth
-is used (\fIa\fR = 6378137 m, \fIf\fR = 1/298.257223563).
-.IP "\fBgeographic\fR" 4
-.IX Item "geographic"
-2 tokens (output options \fB\-g\fR, \fB\-d\fR, or \fB\-:\fR) given as \fIlatitude\fR
-\&\fIlongitude\fR using decimal degrees or degrees, minutes, and seconds.
-Latitude is given first (unless the \fB\-w\fR option is given). See
-\&\*(L"\s-1GEOGRAPHIC COORDINATES\*(R"\s0 for a description of the format. For
-example, the following are all equivalent
-.Sp
-.Vb 5
-\& 33.3 44.4
-\& E44.4 N33.3
-\& 33d18\*(AqN 44d24\*(AqE
-\& 44d24 33d18N
-\& 33:18 +44:24
-.Ve
-.IP "\fB\s-1UTM/UPS\s0\fR" 4
-.IX Item "UTM/UPS"
-3 tokens (output option \fB\-u\fR) given as \fIzone\fR+\fIhemisphere\fR \fIeasting\fR
-\&\fInorthing\fR or \fIeasting\fR \fInorthing\fR \fIzone\fR+\fIhemisphere\fR, where
-\&\fIhemisphere\fR is either \fIn\fR (or \fInorth\fR) or \fIs\fR (or \fIsouth\fR). The
-\&\fIzone\fR is absent for a \s-1UPS\s0 specification. For example,
-.Sp
-.Vb 4
-\& 38n 444140.54 3684706.36
-\& 444140.54 3684706.36 38n
-\& s 2173854.98 2985980.58
-\& 2173854.98 2985980.58 s
-.Ve
-.IP "\fB\s-1MRGS\s0\fR" 4
-.IX Item "MRGS"
-1 token (output option \fB\-m\fR) is used to specify the center of an \s-1MGRS\s0
-grid square. For example,
-.Sp
-.Vb 2
-\& 38SMB4484
-\& 38SMB44140847064
-.Ve
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-g\fR" 4
-.IX Item "-g"
-output latitude and longitude using decimal degrees. Default output mode.
-.IP "\fB\-d\fR" 4
-.IX Item "-d"
-output latitude and longitude using degrees, minutes, and seconds (\s-1DMS\s0).
-.IP "\fB\-:\fR" 4
-.IX Item "-:"
-like \fB\-d\fR, except use : as a separator instead of the d, ', and "
-delimiters.
-.IP "\fB\-u\fR" 4
-.IX Item "-u"
-output \s-1UTM\s0 or \s-1UPS.\s0
-.IP "\fB\-m\fR" 4
-.IX Item "-m"
-output \s-1MGRS.\s0
-.IP "\fB\-c\fR" 4
-.IX Item "-c"
-output meridian convergence and scale for the corresponding \s-1UTM\s0 or \s-1UPS\s0
-projection. The meridian convergence is the bearing of grid north given
-as degrees clockwise from true north.
-.IP "\fB\-z\fR \fIzone\fR" 4
-.IX Item "-z zone"
-set the zone to \fIzone\fR for output. Use either 0 < \fIzone\fR <=
-60 for a \s-1UTM\s0 zone or \fIzone\fR = 0 for \s-1UPS.\s0 Alternatively use a
-\&\fIzone\fR+\fIhemisphere\fR designation, e.g., 38n. See \*(L"\s-1ZONE\*(R"\s0.
-.IP "\fB\-s\fR" 4
-.IX Item "-s"
-use the standard \s-1UPS\s0 and \s-1UTM\s0 zones.
-.IP "\fB\-t\fR" 4
-.IX Item "-t"
-similar to \fB\-s\fR but forces \s-1UPS\s0 regions to the closest \s-1UTM\s0 zone.
-.IP "\fB\-S\fR or \fB\-T\fR" 4
-.IX Item "-S or -T"
-behave the same as \fB\-s\fR and \fB\-t\fR, respectively, until the first legal
-conversion is performed. For subsequent points, the zone and hemisphere
-of that conversion are used. This enables a sequence of points to be
-converted into \s-1UTM\s0 or \s-1UPS\s0 using a consistent coordinate system.
-.IP "\fB\-n\fR" 4
-.IX Item "-n"
-on input, \s-1MGRS\s0 coordinates refer to the south-west corner of the \s-1MGRS\s0
-square instead of the center; see \*(L"\s-1MGRS\*(R"\s0.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 0); \fIprec\fR is the
-precision relative to 1 m. See \*(L"\s-1PRECISION\*(R"\s0.
-.IP "\fB\-l\fR" 4
-.IX Item "-l"
-on output, \s-1UTM/UPS\s0 uses the long forms \fInorth\fR and \fIsouth\fR to
-designate the hemisphere instead of \fIn\fR or \fIs\fR.
-.IP "\fB\-a\fR" 4
-.IX Item "-a"
-on output, \s-1UTM/UPS\s0 uses the abbreviations \fIn\fR and \fIs\fR to designate the
-hemisphere instead of \fInorth\fR or \fIsouth\fR; this is the default
-representation.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "PRECISION"
-.IX Header "PRECISION"
-\&\fIprec\fR gives precision of the output with \fIprec\fR = 0 giving 1 m
-precision, \fIprec\fR = 3 giving 1 mm precision, etc. \fIprec\fR is the
-number of digits after the decimal point for \s-1UTM/UPS.\s0 For \s-1MGRS,\s0 The
-number of digits per coordinate is 5 + \fIprec\fR; \fIprec\fR = \-6 results in
-just the grid zone. For decimal degrees, the number of digits after the
-decimal point is 5 + \fIprec\fR. For \s-1DMS\s0 (degree, minute, seconds) output,
-the number of digits after the decimal point in the seconds components
-is 1 + \fIprec\fR; if this is negative then use minutes (\fIprec\fR = \-2 or
-\&\-3) or degrees (\fIprec\fR <= \-4) as the least significant component.
-Print convergence, resp. scale, with 5 + \fIprec\fR, resp. 7 + \fIprec\fR,
-digits after the decimal point. The minimum value of \fIprec\fR is \-5 (\-6
-for \s-1MGRS\s0) and the maximum is 9 for \s-1UTM/UPS, 9\s0 for decimal degrees, 10
-for \s-1DMS, 6\s0 for \s-1MGRS,\s0 and 8 for convergence and scale.
-.SH "GEOGRAPHIC COORDINATES"
-.IX Header "GEOGRAPHIC COORDINATES"
-The utility accepts geographic coordinates, latitude and longitude, in a
-number of common formats. Latitude precedes longitude, unless the \fB\-w\fR
-option is given which switches this convention. On input, either
-coordinate may be given first by appending or prepending \fIN\fR or \fIS\fR to
-the latitude and \fIE\fR or \fIW\fR to the longitude. These hemisphere
-designators carry an implied sign, positive for \fIN\fR and \fIE\fR and
-negative for \fIS\fR and \fIW\fR. This sign multiplies any +/\- sign prefixing
-the coordinate. The coordinates may be given as decimal degree or as
-degrees, minutes, and seconds. d, ', and " are used to denote degrees,
-minutes, and seconds, with the least significant designator optional.
-(See \*(L"\s-1QUOTING\*(R"\s0 for how to quote the characters ' and " when entering
-coordinates on the command line.) Alternatively, : (colon) may be used
-to separate the various components. Only the final component of
-coordinate can include a decimal point, and the minutes and seconds
-components must be less than 60.
-.PP
-It is also possible to carry out addition or subtraction operations in
-geographic coordinates. If the coordinate includes interior signs
-(i.e., not at the beginning or immediately after an initial hemisphere
-designator), then the coordinate is split before such signs; the pieces
-are parsed separately and the results summed. For example the point 15"
-east of 39N 70W is
-.PP
-.Vb 1
-\& 39N 70W+0:0:15E
-.Ve
-.PP
-\&\fB\s-1WARNING:\s0\fR \*(L"Exponential\*(R" notation is not recognized for geographic
-coordinates. Thus 7.0E1 is illegal, while 7.0E+1 is parsed
-as (7.0E) + (+1), yielding the same result as 8.0E.
-.PP
-Various unicode characters (encoded with \s-1UTF\-8\s0) may also be used to
-denote degrees, minutes, and seconds, e.g., the degree, prime, and
-double prime symbols; in addition two single quotes can be used to
-represent ".
-.PP
-The other GeographicLib utilities use the same rules for interpreting
-geographic coordinates; in addition, azimuths and arc lengths are
-interpreted the same way.
-.SH "QUOTING"
-.IX Header "QUOTING"
-Unfortunately the characters ' and \*(L" have special meanings in many
-shells and have to be entered with care. However note (1) that the
-trailing designator is optional and that (2) you can use colons as a
-separator character. Thus 10d20' can be entered as 10d20 or 10:20 and
-10d20'30\*(R" can be entered as 10:20:30.
-.IP "Unix shells (sh, bash, tsch)" 4
-.IX Item "Unix shells (sh, bash, tsch)"
-The characters ' and \*(L" can be quoted by preceding them with a \e
-(backslash); or you can quote a string containing ' with a pair of \*(R"s.
-The two alternatives are illustrated by
-.Sp
-.Vb 2
-\& echo 10d20\e\*(Aq30\e" "20d30\*(Aq40" | GeoConvert \-d \-p \-1
-\& => 10d20\*(Aq30"N 020d30\*(Aq40"E
-.Ve
-.Sp
-Quoting of command line arguments is similar
-.Sp
-.Vb 2
-\& GeoConvert \-d \-p \-1 \-\-input\-string "10d20\*(Aq30\e" 20d30\*(Aq40"
-\& => 10d20\*(Aq30"N 020d30\*(Aq40"E
-.Ve
-.IP "Windows command shell (cmd)" 4
-.IX Item "Windows command shell (cmd)"
-The ' character needs no quoting; the " character can either be quoted
-by a ^ or can be represented by typing ' twice. (This quoting is
-usually unnecessary because the trailing designator can be omitted.)
-Thus
-.Sp
-.Vb 2
-\& echo 10d20\*(Aq30\*(Aq\*(Aq 20d30\*(Aq40 | GeoConvert \-d \-p \-1
-\& => 10d20\*(Aq30"N 020d30\*(Aq40"E
-.Ve
-.Sp
-Use \e to quote the " character in a command line argument
-.Sp
-.Vb 2
-\& GeoConvert \-d \-p \-1 \-\-input\-string "10d20\*(Aq30\e" 20d30\*(Aq40"
-\& => 10d20\*(Aq30"N 020d30\*(Aq40"E
-.Ve
-.IP "Input from a file" 4
-.IX Item "Input from a file"
-No quoting need be done if the input from a file. Thus each line of the
-file \f(CW\*(C`input.txt\*(C'\fR should just contain the plain coordinates.
-.Sp
-.Vb 1
-\& GeoConvert \-d \-p \-1 < input.txt
-.Ve
-.SH "MGRS"
-.IX Header "MGRS"
-\&\s-1MGRS\s0 coordinates represent a square patch of the earth, thus
-\&\f(CW\*(C`38SMB4488\*(C'\fR is in zone \f(CW\*(C`38n\*(C'\fR with 444km <= \fIeasting\fR <
-445km and 3688km <= \fInorthing\fR < 3689km. Consistent with
-this representation, coordinates are \fItruncated\fR (instead of
-\&\fIrounded\fR) to the requested precision. When an \s-1MGRS\s0 coordinate is
-provided as input, \fBGeoConvert\fR treats this as a representative point
-within the square. By default, this representative point is the
-\&\fIcenter\fR of the square (\f(CW\*(C`38n 444500 3688500\*(C'\fR in the example above).
-(This leads to a stable conversion between \s-1MGRS\s0 and geographic
-coordinates.) However, if the \fB\-n\fR option is given then the
-south-west corner of the square is returned instead (\f(CW\*(C`38n 444000
-3688000\*(C'\fR in the example above).
-.SH "ZONE"
-.IX Header "ZONE"
-If the input is \fBgeographic\fR, \fBGeoConvert\fR uses the standard rules of
-selecting \s-1UTM\s0 vs \s-1UPS\s0 and for assigning the \s-1UTM\s0 zone (with the Norway and
-Svalbard exceptions). If the input is \fB\s-1UTM/UPS\s0\fR or \fB\s-1MGRS\s0\fR, then the
-choice between \s-1UTM\s0 and \s-1UPS\s0 and the \s-1UTM\s0 zone mirrors the input. The \fB\-z\fR
-\&\fIzone\fR, \fB\-s\fR, and \fB\-t\fR options allow these rules to be overridden
-with \fIzone\fR = 0 being used to indicate \s-1UPS.\s0 For example, the point
-.PP
-.Vb 1
-\& 79.9S 6.1E
-.Ve
-.PP
-corresponds to possible \s-1MGRS\s0 coordinates
-.PP
-.Vb 3
-\& 32CMS4324728161 (standard UTM zone = 32)
-\& 31CEM6066227959 (neighboring UTM zone = 31)
-\& BBZ1945517770 (neighboring UPS zone)
-.Ve
-.PP
-then
-.PP
-.Vb 4
-\& echo 79.9S 6.1E | GeoConvert \-p \-3 \-m => 32CMS4328
-\& echo 31CEM6066227959 | GeoConvert \-p \-3 \-m => 31CEM6027
-\& echo 31CEM6066227959 | GeoConvert \-p \-3 \-m \-s => 32CMS4328
-\& echo 31CEM6066227959 | GeoConvert \-p \-3 \-m \-z 0 => BBZ1917
-.Ve
-.PP
-Is \fIzone\fR is specified with a hemisphere, then this is honored when
-printing \s-1UTM\s0 coordinates:
-.PP
-.Vb 4
-\& echo \-1 3 | GeoConvert \-u => 31s 500000 9889470
-\& echo \-1 3 | GeoConvert \-u \-z 31 => 31s 500000 9889470
-\& echo \-1 3 | GeoConvert \-u \-z 31s => 31s 500000 9889470
-\& echo \-1 3 | GeoConvert \-u \-z 31n => 31n 500000 \-110530
-.Ve
-.PP
-\&\fB\s-1NOTE\s0\fR: the letter in the zone specification for \s-1UTM\s0 is a hemisphere
-designator \fIn\fR or \fIs\fR and \fInot\fR an \s-1MGRS\s0 latitude band letter.
-Convert the \s-1MGRS\s0 latitude band letter to a hemisphere as follows:
-replace \fIC\fR thru \fIM\fR by \fIs\fR (or \fIsouth\fR); replace \fIN\fR thru \fIX\fR by
-\&\fIn\fR (or \fInorth\fR).
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-.Vb 4
-\& echo 38SMB4488 | GeoConvert => 33.33424 44.40363
-\& echo 38SMB4488 | GeoConvert \-: \-p 1 => 33:20:03.25N 044:2413.06E
-\& echo 38SMB4488 | GeoConvert \-u => 38n 444500 3688500
-\& echo E44d24 N33d20 | GeoConvert \-m \-p \-3 => 38SMB4488
-.Ve
-.PP
-GeoConvert can be used to do simple arithmetic using degree, minutes,
-and seconds. For example, sometimes data is tiled in 15 second squares
-tagged by the \s-1DMS\s0 representation of the \s-1SW\s0 corner. The tags of the tile
-at 38:59:45N 077:02:00W and its 8 neighbors are then given by
-.PP
-.Vb 10
-\& t=0:0:15
-\& for y in \-$t +0 +$t; do
-\& for x in \-$t +0 +$t; do
-\& echo 38:59:45N$y 077:02:00W$x
-\& done
-\& done | GeoConvert \-: \-p \-1 | tr \-d \*(Aq: \*(Aq
-\& =>
-\& 385930N0770215W
-\& 385930N0770200W
-\& 385930N0770145W
-\& 385945N0770215W
-\& 385945N0770200W
-\& 385945N0770145W
-\& 390000N0770215W
-\& 390000N0770200W
-\& 390000N0770145W
-.Ve
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBGeoConvert\fR to return an exit code
-of 1. However, an error does not cause \fBGeoConvert\fR to terminate;
-following lines will be converted.
-.SH "ABBREVIATIONS"
-.IX Header "ABBREVIATIONS"
-.IP "\fB\s-1UTM\s0\fR" 4
-.IX Item "UTM"
-Universal Transverse Mercator,
-.
-.IP "\fB\s-1UPS\s0\fR" 4
-.IX Item "UPS"
-Universal Polar Stereographic,
-.
-.IP "\fB\s-1MGRS\s0\fR" 4
-.IX Item "MGRS"
-Military Grid Reference System,
-.
-.IP "\fB\s-1WGS84\s0\fR" 4
-.IX Item "WGS84"
-World Geodetic System 1984,
-.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-An online version of this utility is availbable at
-.
-.PP
-The algorithms for the transverse Mercator projection are described in
-C. F. F. Karney, \fITransverse Mercator with an accuracy of a few
-nanometers\fR, J. Geodesy \fB85\fR(8), 475\-485 (Aug. 2011); \s-1DOI\s0
-; preprint
-.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBGeoConvert\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBGeoConvert\fR was added to GeographicLib,
-, in 2009\-01.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.1.html b/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.1.html
deleted file mode 100644
index c0ac67a39bfad0b87fdd1162c064a9802a00269b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.1.html
+++ /dev/null
@@ -1,379 +0,0 @@
-
-
-
-
-GeoConvert(1)
-
-
-
-
-
-
-
-
-
GeoConvert reads from standard input interpreting each line as a geographic coordinate and prints the coordinate in the format specified by the options on standard output. The input is interpreted in one of three different ways depending on how many space or comma delimited tokens there are on the line. The options -g, -d, -u, and -m govern the format of output. In all cases, the WGS84 model of the earth is used (a = 6378137 m, f = 1/298.257223563).
-
-
-
-
geographic
-
-
-
2 tokens (output options -g, -d, or -:) given as latitudelongitude using decimal degrees or degrees, minutes, and seconds. Latitude is given first (unless the -w option is given). See "GEOGRAPHIC COORDINATES" for a description of the format. For example, the following are all equivalent
3 tokens (output option -u) given as zone+hemisphereeastingnorthing or eastingnorthingzone+hemisphere, where hemisphere is either n (or north) or s (or south). The zone is absent for a UPS specification. For example,
-
-
38n 444140.54 3684706.36
- 444140.54 3684706.36 38n
- s 2173854.98 2985980.58
- 2173854.98 2985980.58 s
-
-
-
MRGS
-
-
-
1 token (output option -m) is used to specify the center of an MGRS grid square. For example,
-
-
38SMB4484
- 38SMB44140847064
-
-
-
-
-
OPTIONS
-
-
-
-
-g
-
-
-
output latitude and longitude using decimal degrees. Default output mode.
-
-
-
-d
-
-
-
output latitude and longitude using degrees, minutes, and seconds (DMS).
-
-
-
-:
-
-
-
like -d, except use : as a separator instead of the d, ', and " delimiters.
-
-
-
-u
-
-
-
output UTM or UPS.
-
-
-
-m
-
-
-
output MGRS.
-
-
-
-c
-
-
-
output meridian convergence and scale for the corresponding UTM or UPS projection. The meridian convergence is the bearing of grid north given as degrees clockwise from true north.
-
-
-
-zzone
-
-
-
set the zone to zone for output. Use either 0 < zone <= 60 for a UTM zone or zone = 0 for UPS. Alternatively use a zone+hemisphere designation, e.g., 38n. See "ZONE".
-
-
-
-s
-
-
-
use the standard UPS and UTM zones.
-
-
-
-t
-
-
-
similar to -s but forces UPS regions to the closest UTM zone.
-
-
-
-S or -T
-
-
-
behave the same as -s and -t, respectively, until the first legal conversion is performed. For subsequent points, the zone and hemisphere of that conversion are used. This enables a sequence of points to be converted into UTM or UPS using a consistent coordinate system.
-
-
-
-n
-
-
-
on input, MGRS coordinates refer to the south-west corner of the MGRS square instead of the center; see "MGRS".
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 0); prec is the precision relative to 1 m. See "PRECISION".
-
-
-
-l
-
-
-
on output, UTM/UPS uses the long forms north and south to designate the hemisphere instead of n or s.
-
-
-
-a
-
-
-
on output, UTM/UPS uses the abbreviations n and s to designate the hemisphere instead of north or south; this is the default representation.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
PRECISION
-
-
prec gives precision of the output with prec = 0 giving 1 m precision, prec = 3 giving 1 mm precision, etc. prec is the number of digits after the decimal point for UTM/UPS. For MGRS, The number of digits per coordinate is 5 + prec; prec = -6 results in just the grid zone. For decimal degrees, the number of digits after the decimal point is 5 + prec. For DMS (degree, minute, seconds) output, the number of digits after the decimal point in the seconds components is 1 + prec; if this is negative then use minutes (prec = -2 or -3) or degrees (prec <= -4) as the least significant component. Print convergence, resp. scale, with 5 + prec, resp. 7 + prec, digits after the decimal point. The minimum value of prec is -5 (-6 for MGRS) and the maximum is 9 for UTM/UPS, 9 for decimal degrees, 10 for DMS, 6 for MGRS, and 8 for convergence and scale.
-
-
GEOGRAPHIC COORDINATES
-
-
The utility accepts geographic coordinates, latitude and longitude, in a number of common formats. Latitude precedes longitude, unless the -w option is given which switches this convention. On input, either coordinate may be given first by appending or prepending N or S to the latitude and E or W to the longitude. These hemisphere designators carry an implied sign, positive for N and E and negative for S and W. This sign multiplies any +/- sign prefixing the coordinate. The coordinates may be given as decimal degree or as degrees, minutes, and seconds. d, ', and " are used to denote degrees, minutes, and seconds, with the least significant designator optional. (See "QUOTING" for how to quote the characters ' and " when entering coordinates on the command line.) Alternatively, : (colon) may be used to separate the various components. Only the final component of coordinate can include a decimal point, and the minutes and seconds components must be less than 60.
-
-
It is also possible to carry out addition or subtraction operations in geographic coordinates. If the coordinate includes interior signs (i.e., not at the beginning or immediately after an initial hemisphere designator), then the coordinate is split before such signs; the pieces are parsed separately and the results summed. For example the point 15" east of 39N 70W is
-
-
39N 70W+0:0:15E
-
-
WARNING: "Exponential" notation is not recognized for geographic coordinates. Thus 7.0E1 is illegal, while 7.0E+1 is parsed as (7.0E) + (+1), yielding the same result as 8.0E.
-
-
Various unicode characters (encoded with UTF-8) may also be used to denote degrees, minutes, and seconds, e.g., the degree, prime, and double prime symbols; in addition two single quotes can be used to represent ".
-
-
The other GeographicLib utilities use the same rules for interpreting geographic coordinates; in addition, azimuths and arc lengths are interpreted the same way.
-
-
QUOTING
-
-
Unfortunately the characters ' and " have special meanings in many shells and have to be entered with care. However note (1) that the trailing designator is optional and that (2) you can use colons as a separator character. Thus 10d20' can be entered as 10d20 or 10:20 and 10d20'30" can be entered as 10:20:30.
-
-
-
-
Unix shells (sh, bash, tsch)
-
-
-
The characters ' and " can be quoted by preceding them with a \ (backslash); or you can quote a string containing ' with a pair of "s. The two alternatives are illustrated by
The ' character needs no quoting; the " character can either be quoted by a ^ or can be represented by typing ' twice. (This quoting is usually unnecessary because the trailing designator can be omitted.) Thus
No quoting need be done if the input from a file. Thus each line of the file input.txt should just contain the plain coordinates.
-
-
GeoConvert -d -p -1 < input.txt
-
-
-
-
-
MGRS
-
-
MGRS coordinates represent a square patch of the earth, thus 38SMB4488 is in zone 38n with 444km <= easting < 445km and 3688km <= northing < 3689km. Consistent with this representation, coordinates are truncated (instead of rounded) to the requested precision. When an MGRS coordinate is provided as input, GeoConvert treats this as a representative point within the square. By default, this representative point is the center of the square (38n 444500 3688500 in the example above). (This leads to a stable conversion between MGRS and geographic coordinates.) However, if the -n option is given then the south-west corner of the square is returned instead (38n 444000 3688000 in the example above).
-
-
ZONE
-
-
If the input is geographic, GeoConvert uses the standard rules of selecting UTM vs UPS and for assigning the UTM zone (with the Norway and Svalbard exceptions). If the input is UTM/UPS or MGRS, then the choice between UTM and UPS and the UTM zone mirrors the input. The -zzone, -s, and -t options allow these rules to be overridden with zone = 0 being used to indicate UPS. For example, the point
-
-
79.9S 6.1E
-
-
corresponds to possible MGRS coordinates
-
-
32CMS4324728161 (standard UTM zone = 32)
- 31CEM6066227959 (neighboring UTM zone = 31)
- BBZ1945517770 (neighboring UPS zone)
NOTE: the letter in the zone specification for UTM is a hemisphere designator n or s and not an MGRS latitude band letter. Convert the MGRS latitude band letter to a hemisphere as follows: replace C thru M by s (or south); replace N thru X by n (or north).
GeoConvert can be used to do simple arithmetic using degree, minutes, and seconds. For example, sometimes data is tiled in 15 second squares tagged by the DMS representation of the SW corner. The tags of the tile at 38:59:45N 077:02:00W and its 8 neighbors are then given by
-
-
t=0:0:15
- for y in -$t +0 +$t; do
- for x in -$t +0 +$t; do
- echo 38:59:45N$y 077:02:00W$x
- done
- done | GeoConvert -: -p -1 | tr -d ': '
- =>
- 385930N0770215W
- 385930N0770200W
- 385930N0770145W
- 385945N0770215W
- 385945N0770200W
- 385945N0770145W
- 390000N0770215W
- 390000N0770200W
- 390000N0770145W
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeoConvert to return an exit code of 1. However, an error does not cause GeoConvert to terminate; following lines will be converted.
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.usage b/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.usage
deleted file mode 100644
index 6d914adf2e9de5f4728490c9c04d852bfe172b6b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeoConvert.usage
+++ /dev/null
@@ -1,361 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" GeoConvert [ -g | -d | -: | -u | -m | -c ] [ -z zone | -s | -t | -S |\n"
-" -T ] [ -n ] [ -w ] [ -p prec ] [ -l | -a ] [ --comment-delimiter\n"
-" commentdelim ] [ --version | -h | --help ] [ --input-file infile |\n"
-" --input-string instring ] [ --line-separator linesep ] [ --output-file\n"
-" outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" GeoConvert --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/GeoConvert.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" GeoConvert -- convert geographic coordinates\n"
-"\n"
-"SYNOPSIS\n"
-" GeoConvert [ -g | -d | -: | -u | -m | -c ] [ -z zone | -s | -t | -S |\n"
-" -T ] [ -n ] [ -w ] [ -p prec ] [ -l | -a ] [ --comment-delimiter\n"
-" commentdelim ] [ --version | -h | --help ] [ --input-file infile |\n"
-" --input-string instring ] [ --line-separator linesep ] [ --output-file\n"
-" outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" GeoConvert reads from standard input interpreting each line as a\n"
-" geographic coordinate and prints the coordinate in the format specified\n"
-" by the options on standard output. The input is interpreted in one of\n"
-" three different ways depending on how many space or comma delimited\n"
-" tokens there are on the line. The options -g, -d, -u, and -m govern\n"
-" the format of output. In all cases, the WGS84 model of the earth is\n"
-" used (a = 6378137 m, f = 1/298.257223563).\n"
-"\n"
-" geographic\n"
-" 2 tokens (output options -g, -d, or -:) given as latitude longitude\n"
-" using decimal degrees or degrees, minutes, and seconds. Latitude\n"
-" is given first (unless the -w option is given). See \"GEOGRAPHIC\n"
-" COORDINATES\" for a description of the format. For example, the\n"
-" following are all equivalent\n"
-"\n"
-" 33.3 44.4\n"
-" E44.4 N33.3\n"
-" 33d18'N 44d24'E\n"
-" 44d24 33d18N\n"
-" 33:18 +44:24\n"
-"\n"
-" UTM/UPS\n"
-" 3 tokens (output option -u) given as zone+hemisphere easting\n"
-" northing or easting northing zone+hemisphere, where hemisphere is\n"
-" either n (or north) or s (or south). The zone is absent for a UPS\n"
-" specification. For example,\n"
-"\n"
-" 38n 444140.54 3684706.36\n"
-" 444140.54 3684706.36 38n\n"
-" s 2173854.98 2985980.58\n"
-" 2173854.98 2985980.58 s\n"
-"\n"
-" MRGS\n"
-" 1 token (output option -m) is used to specify the center of an MGRS\n"
-" grid square. For example,\n"
-"\n"
-" 38SMB4484\n"
-" 38SMB44140847064\n"
-"\n"
-"OPTIONS\n"
-" -g output latitude and longitude using decimal degrees. Default\n"
-" output mode.\n"
-"\n"
-" -d output latitude and longitude using degrees, minutes, and seconds\n"
-" (DMS).\n"
-"\n"
-" -: like -d, except use : as a separator instead of the d, ', and \"\n"
-" delimiters.\n"
-"\n"
-" -u output UTM or UPS.\n"
-"\n"
-" -m output MGRS.\n"
-"\n"
-" -c output meridian convergence and scale for the corresponding UTM or\n"
-" UPS projection. The meridian convergence is the bearing of grid\n"
-" north given as degrees clockwise from true north.\n"
-"\n"
-" -z zone\n"
-" set the zone to zone for output. Use either 0 < zone <= 60 for a\n"
-" UTM zone or zone = 0 for UPS. Alternatively use a zone+hemisphere\n"
-" designation, e.g., 38n. See \"ZONE\".\n"
-"\n"
-" -s use the standard UPS and UTM zones.\n"
-"\n"
-" -t similar to -s but forces UPS regions to the closest UTM zone.\n"
-"\n"
-" -S or -T\n"
-" behave the same as -s and -t, respectively, until the first legal\n"
-" conversion is performed. For subsequent points, the zone and\n"
-" hemisphere of that conversion are used. This enables a sequence of\n"
-" points to be converted into UTM or UPS using a consistent\n"
-" coordinate system.\n"
-"\n"
-" -n on input, MGRS coordinates refer to the south-west corner of the\n"
-" MGRS square instead of the center; see \"MGRS\".\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 0); prec is the precision\n"
-" relative to 1 m. See \"PRECISION\".\n"
-"\n"
-" -l on output, UTM/UPS uses the long forms north and south to designate\n"
-" the hemisphere instead of n or s.\n"
-"\n"
-" -a on output, UTM/UPS uses the abbreviations n and s to designate the\n"
-" hemisphere instead of north or south; this is the default\n"
-" representation.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"PRECISION\n"
-" prec gives precision of the output with prec = 0 giving 1 m precision,\n"
-" prec = 3 giving 1 mm precision, etc. prec is the number of digits\n"
-" after the decimal point for UTM/UPS. For MGRS, The number of digits\n"
-" per coordinate is 5 + prec; prec = -6 results in just the grid zone.\n"
-" For decimal degrees, the number of digits after the decimal point is 5\n"
-" + prec. For DMS (degree, minute, seconds) output, the number of digits\n"
-" after the decimal point in the seconds components is 1 + prec; if this\n"
-" is negative then use minutes (prec = -2 or -3) or degrees (prec <= -4)\n"
-" as the least significant component. Print convergence, resp. scale,\n"
-" with 5 + prec, resp. 7 + prec, digits after the decimal point. The\n"
-" minimum value of prec is -5 (-6 for MGRS) and the maximum is 9 for\n"
-" UTM/UPS, 9 for decimal degrees, 10 for DMS, 6 for MGRS, and 8 for\n"
-" convergence and scale.\n"
-"\n"
-"GEOGRAPHIC COORDINATES\n"
-" The utility accepts geographic coordinates, latitude and longitude, in\n"
-" a number of common formats. Latitude precedes longitude, unless the -w\n"
-" option is given which switches this convention. On input, either\n"
-" coordinate may be given first by appending or prepending N or S to the\n"
-" latitude and E or W to the longitude. These hemisphere designators\n"
-" carry an implied sign, positive for N and E and negative for S and W.\n"
-" This sign multiplies any +/- sign prefixing the coordinate. The\n"
-" coordinates may be given as decimal degree or as degrees, minutes, and\n"
-" seconds. d, ', and \" are used to denote degrees, minutes, and seconds,\n"
-" with the least significant designator optional. (See \"QUOTING\" for how\n"
-" to quote the characters ' and \" when entering coordinates on the\n"
-" command line.) Alternatively, : (colon) may be used to separate the\n"
-" various components. Only the final component of coordinate can include\n"
-" a decimal point, and the minutes and seconds components must be less\n"
-" than 60.\n"
-"\n"
-" It is also possible to carry out addition or subtraction operations in\n"
-" geographic coordinates. If the coordinate includes interior signs\n"
-" (i.e., not at the beginning or immediately after an initial hemisphere\n"
-" designator), then the coordinate is split before such signs; the pieces\n"
-" are parsed separately and the results summed. For example the point\n"
-" 15\" east of 39N 70W is\n"
-"\n"
-" 39N 70W+0:0:15E\n"
-"\n"
-" WARNING: \"Exponential\" notation is not recognized for geographic\n"
-" coordinates. Thus 7.0E1 is illegal, while 7.0E+1 is parsed as (7.0E) +\n"
-" (+1), yielding the same result as 8.0E.\n"
-"\n"
-" Various unicode characters (encoded with UTF-8) may also be used to\n"
-" denote degrees, minutes, and seconds, e.g., the degree, prime, and\n"
-" double prime symbols; in addition two single quotes can be used to\n"
-" represent \".\n"
-"\n"
-" The other GeographicLib utilities use the same rules for interpreting\n"
-" geographic coordinates; in addition, azimuths and arc lengths are\n"
-" interpreted the same way.\n"
-"\n"
-"QUOTING\n"
-" Unfortunately the characters ' and \" have special meanings in many\n"
-" shells and have to be entered with care. However note (1) that the\n"
-" trailing designator is optional and that (2) you can use colons as a\n"
-" separator character. Thus 10d20' can be entered as 10d20 or 10:20 and\n"
-" 10d20'30\" can be entered as 10:20:30.\n"
-"\n"
-" Unix shells (sh, bash, tsch)\n"
-" The characters ' and \" can be quoted by preceding them with a \\\n"
-" (backslash); or you can quote a string containing ' with a pair of\n"
-" \"s. The two alternatives are illustrated by\n"
-"\n"
-" echo 10d20\\'30\\\" \"20d30'40\" | GeoConvert -d -p -1\n"
-" => 10d20'30\"N 020d30'40\"E\n"
-"\n"
-" Quoting of command line arguments is similar\n"
-"\n"
-" GeoConvert -d -p -1 --input-string \"10d20'30\\\" 20d30'40\"\n"
-" => 10d20'30\"N 020d30'40\"E\n"
-"\n"
-" Windows command shell (cmd)\n"
-" The ' character needs no quoting; the \" character can either be\n"
-" quoted by a ^ or can be represented by typing ' twice. (This\n"
-" quoting is usually unnecessary because the trailing designator can\n"
-" be omitted.) Thus\n"
-"\n"
-" echo 10d20'30'' 20d30'40 | GeoConvert -d -p -1\n"
-" => 10d20'30\"N 020d30'40\"E\n"
-"\n"
-" Use \\ to quote the \" character in a command line argument\n"
-"\n"
-" GeoConvert -d -p -1 --input-string \"10d20'30\\\" 20d30'40\"\n"
-" => 10d20'30\"N 020d30'40\"E\n"
-"\n"
-" Input from a file\n"
-" No quoting need be done if the input from a file. Thus each line\n"
-" of the file \"input.txt\" should just contain the plain coordinates.\n"
-"\n"
-" GeoConvert -d -p -1 < input.txt\n"
-"\n"
-"MGRS\n"
-" MGRS coordinates represent a square patch of the earth, thus\n"
-" \"38SMB4488\" is in zone \"38n\" with 444km <= easting < 445km and 3688km\n"
-" <= northing < 3689km. Consistent with this representation, coordinates\n"
-" are truncated (instead of rounded) to the requested precision. When an\n"
-" MGRS coordinate is provided as input, GeoConvert treats this as a\n"
-" representative point within the square. By default, this\n"
-" representative point is the center of the square (\"38n 444500 3688500\"\n"
-" in the example above). (This leads to a stable conversion between MGRS\n"
-" and geographic coordinates.) However, if the -n option is given then\n"
-" the south-west corner of the square is returned instead (\"38n 444000\n"
-" 3688000\" in the example above).\n"
-"\n"
-"ZONE\n"
-" If the input is geographic, GeoConvert uses the standard rules of\n"
-" selecting UTM vs UPS and for assigning the UTM zone (with the Norway\n"
-" and Svalbard exceptions). If the input is UTM/UPS or MGRS, then the\n"
-" choice between UTM and UPS and the UTM zone mirrors the input. The -z\n"
-" zone, -s, and -t options allow these rules to be overridden with zone =\n"
-" 0 being used to indicate UPS. For example, the point\n"
-"\n"
-" 79.9S 6.1E\n"
-"\n"
-" corresponds to possible MGRS coordinates\n"
-"\n"
-" 32CMS4324728161 (standard UTM zone = 32)\n"
-" 31CEM6066227959 (neighboring UTM zone = 31)\n"
-" BBZ1945517770 (neighboring UPS zone)\n"
-"\n"
-" then\n"
-"\n"
-" echo 79.9S 6.1E | GeoConvert -p -3 -m => 32CMS4328\n"
-" echo 31CEM6066227959 | GeoConvert -p -3 -m => 31CEM6027\n"
-" echo 31CEM6066227959 | GeoConvert -p -3 -m -s => 32CMS4328\n"
-" echo 31CEM6066227959 | GeoConvert -p -3 -m -z 0 => BBZ1917\n"
-"\n"
-" Is zone is specified with a hemisphere, then this is honored when\n"
-" printing UTM coordinates:\n"
-"\n"
-" echo -1 3 | GeoConvert -u => 31s 500000 9889470\n"
-" echo -1 3 | GeoConvert -u -z 31 => 31s 500000 9889470\n"
-" echo -1 3 | GeoConvert -u -z 31s => 31s 500000 9889470\n"
-" echo -1 3 | GeoConvert -u -z 31n => 31n 500000 -110530\n"
-"\n"
-" NOTE: the letter in the zone specification for UTM is a hemisphere\n"
-" designator n or s and not an MGRS latitude band letter. Convert the\n"
-" MGRS latitude band letter to a hemisphere as follows: replace C thru M\n"
-" by s (or south); replace N thru X by n (or north).\n"
-"\n"
-"EXAMPLES\n"
-" echo 38SMB4488 | GeoConvert => 33.33424 44.40363\n"
-" echo 38SMB4488 | GeoConvert -: -p 1 => 33:20:03.25N 044:2413.06E\n"
-" echo 38SMB4488 | GeoConvert -u => 38n 444500 3688500\n"
-" echo E44d24 N33d20 | GeoConvert -m -p -3 => 38SMB4488\n"
-"\n"
-" GeoConvert can be used to do simple arithmetic using degree, minutes,\n"
-" and seconds. For example, sometimes data is tiled in 15 second squares\n"
-" tagged by the DMS representation of the SW corner. The tags of the\n"
-" tile at 38:59:45N 077:02:00W and its 8 neighbors are then given by\n"
-"\n"
-" t=0:0:15\n"
-" for y in -$t +0 +$t; do\n"
-" for x in -$t +0 +$t; do\n"
-" echo 38:59:45N$y 077:02:00W$x\n"
-" done\n"
-" done | GeoConvert -: -p -1 | tr -d ': '\n"
-" =>\n"
-" 385930N0770215W\n"
-" 385930N0770200W\n"
-" 385930N0770145W\n"
-" 385945N0770215W\n"
-" 385945N0770200W\n"
-" 385945N0770145W\n"
-" 390000N0770215W\n"
-" 390000N0770200W\n"
-" 390000N0770145W\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes GeoConvert to return an exit code of\n"
-" 1. However, an error does not cause GeoConvert to terminate; following\n"
-" lines will be converted.\n"
-"\n"
-"ABBREVIATIONS\n"
-" UTM Universal Transverse Mercator,\n"
-" .\n"
-"\n"
-" UPS Universal Polar Stereographic,\n"
-" .\n"
-"\n"
-" MGRS\n"
-" Military Grid Reference System,\n"
-" .\n"
-"\n"
-" WGS84\n"
-" World Geodetic System 1984, .\n"
-"\n"
-"SEE ALSO\n"
-" An online version of this utility is availbable at\n"
-" .\n"
-"\n"
-" The algorithms for the transverse Mercator projection are described in\n"
-" C. F. F. Karney, Transverse Mercator with an accuracy of a few\n"
-" nanometers, J. Geodesy 85(8), 475-485 (Aug. 2011); DOI\n"
-" ; preprint\n"
-" .\n"
-"\n"
-"AUTHOR\n"
-" GeoConvert was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" GeoConvert was added to GeographicLib,\n"
-" , in 2009-01.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.1 b/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.1
deleted file mode 100644
index 96bebd9a17440368cce345ed19027ebf8b011fbd..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.1
+++ /dev/null
@@ -1,486 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "GEODSOLVE 1"
-.TH GEODSOLVE 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-GeodSolve \-\- perform geodesic calculations
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBGeodSolve\fR
-[ \fB\-i\fR | \fB\-L\fR \fIlat1\fR \fIlon1\fR \fIazi1\fR |
-\&\fB\-D\fR \fIlat1\fR \fIlon1\fR \fIazi1\fR \fIs13\fR | \fB\-I\fR \fIlat1\fR \fIlon1\fR \fIlat3\fR \fIlon3\fR ]
-[ \fB\-a\fR ] [ \fB\-e\fR \fIa\fR \fIf\fR ] [ \fB\-u\fR ] [ \fB\-F\fR ]
-[ \fB\-d\fR | \fB\-:\fR ] [ \fB\-w\fR ] [ \fB\-b\fR ] [ \fB\-f\fR ] [ \fB\-p\fR \fIprec\fR ] [ \fB\-E\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-The shortest path between two points on the ellipsoid at (\fIlat1\fR,
-\&\fIlon1\fR) and (\fIlat2\fR, \fIlon2\fR) is called the geodesic. Its length is
-\&\fIs12\fR and the geodesic from point 1 to point 2 has forward azimuths
-\&\fIazi1\fR and \fIazi2\fR at the two end points.
-.PP
-\&\fBGeodSolve\fR operates in one of three modes:
-.IP "1." 4
-By default, \fBGeodSolve\fR accepts lines on the standard input containing
-\&\fIlat1\fR \fIlon1\fR \fIazi1\fR \fIs12\fR and prints \fIlat2\fR \fIlon2\fR \fIazi2\fR
-on standard output. This is the direct geodesic calculation.
-.IP "2." 4
-With the \fB\-i\fR command line argument, \fBGeodSolve\fR performs the inverse
-geodesic calculation. It reads lines containing \fIlat1\fR \fIlon1\fR \fIlat2\fR
-\&\fIlon2\fR and prints the corresponding values of \fIazi1\fR \fIazi2\fR \fIs12\fR.
-.IP "3." 4
-Command line arguments \fB\-L\fR \fIlat1\fR \fIlon1\fR \fIazi1\fR specify a geodesic
-line. \fBGeodSolve\fR then accepts a sequence of \fIs12\fR values (one per
-line) on standard input and prints \fIlat2\fR \fIlon2\fR \fIazi2\fR for each.
-This generates a sequence of points on a single geodesic. Command line
-arguments \fB\-D\fR and \fB\-I\fR work similarly with the geodesic line defined
-in terms of a direct or inverse geodesic calculation, respectively.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-i\fR" 4
-.IX Item "-i"
-perform an inverse geodesic calculation (see 2 above).
-.IP "\fB\-L\fR \fIlat1\fR \fIlon1\fR \fIazi1\fR" 4
-.IX Item "-L lat1 lon1 azi1"
-line mode (see 3 above); generate a sequence of points along the
-geodesic specified by \fIlat1\fR \fIlon1\fR \fIazi1\fR. The \fB\-w\fR flag can be
-used to swap the default order of the 2 geographic coordinates, provided
-that it appears before \fB\-L\fR. (\fB\-l\fR is an alternative, deprecated,
-spelling of this flag.)
-.IP "\fB\-D\fR \fIlat1\fR \fIlon1\fR \fIazi1\fR \fIs13\fR" 4
-.IX Item "-D lat1 lon1 azi1 s13"
-line mode (see 3 above); generate a sequence of points along the
-geodesic specified by \fIlat1\fR \fIlon1\fR \fIazi1\fR \fIs13\fR. The \fB\-w\fR flag
-can be used to swap the default order of the 2 geographic coordinates,
-provided that it appears before \fB\-D\fR. Similarly, the \fB\-a\fR flag can be
-used to change the interpretation of \fIs13\fR to \fIa13\fR, provided that it
-appears before \fB\-D\fR.
-.IP "\fB\-I\fR \fIlat1\fR \fIlon1\fR \fIlat3\fR \fIlon3\fR" 4
-.IX Item "-I lat1 lon1 lat3 lon3"
-line mode (see 3 above); generate a sequence of points along the
-geodesic specified by \fIlat1\fR \fIlon1\fR \fIlat3\fR \fIlon3\fR. The \fB\-w\fR flag
-can be used to swap the default order of the 2 geographic coordinates,
-provided that it appears before \fB\-I\fR.
-.IP "\fB\-a\fR" 4
-.IX Item "-a"
-toggle the arc mode flag (it starts off); if this flag is on, then on
-input \fIand\fR output \fIs12\fR is replaced by \fIa12\fR the arc length (in
-degrees) on the auxiliary sphere. See \*(L"\s-1AUXILIARY SPHERE\*(R"\s0.
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563.
-.IP "\fB\-u\fR" 4
-.IX Item "-u"
-unroll the longitude. Normally, on output longitudes are reduced to lie
-in [\-180deg,180deg). However with this option, the returned longitude
-\&\fIlon2\fR is \*(L"unrolled\*(R" so that \fIlon2\fR \- \fIlon1\fR indicates how often and
-in what sense the geodesic has encircled the earth. Use the \fB\-f\fR
-option, to get both longitudes printed.
-.IP "\fB\-F\fR" 4
-.IX Item "-F"
-fractional mode. This only has any effect with the \fB\-D\fR and \fB\-I\fR
-options (and is otherwise ignored). The values read on standard input
-are interpreted as fractional distances to point 3, i.e., as
-\&\fIs12\fR/\fIs13\fR instead of \fIs12\fR. If arc mode is in effect, then the
-values denote fractional arc length, i.e., \fIa12\fR/\fIa13\fR. The
-fractional distances can be entered as a simple fraction, e.g., 3/4.
-.IP "\fB\-d\fR" 4
-.IX Item "-d"
-output angles as degrees, minutes, seconds instead of decimal degrees.
-.IP "\fB\-:\fR" 4
-.IX Item "-:"
-like \fB\-d\fR, except use : as a separator instead of the d, ', and "
-delimiters.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-b\fR" 4
-.IX Item "-b"
-report the \fIback\fR azimuth at point 2 instead of the forward azimuth.
-.IP "\fB\-f\fR" 4
-.IX Item "-f"
-full output; each line of output consists of 12 quantities: \fIlat1\fR
-\&\fIlon1\fR \fIazi1\fR \fIlat2\fR \fIlon2\fR \fIazi2\fR \fIs12\fR \fIa12\fR \fIm12\fR \fIM12\fR
-\&\fIM21\fR \fIS12\fR. \fIa12\fR is described in \*(L"\s-1AUXILIARY SPHERE\*(R"\s0. The four
-quantities \fIm12\fR, \fIM12\fR, \fIM21\fR, and \fIS12\fR are described in
-\&\*(L"\s-1ADDITIONAL QUANTITIES\*(R"\s0.
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 3); \fIprec\fR is the
-precision relative to 1 m. See \*(L"\s-1PRECISION\*(R"\s0.
-.IP "\fB\-E\fR" 4
-.IX Item "-E"
-use \*(L"exact\*(R" algorithms (based on elliptic integrals) for the geodesic
-calculations. These are more accurate than the (default) series
-expansions for |\fIf\fR| > 0.02.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "INPUT"
-.IX Header "INPUT"
-\&\fBGeodSolve\fR measures all angles in degrees and all lengths (\fIs12\fR) in
-meters, and all areas (\fIS12\fR) in meters^2. On input angles (latitude,
-longitude, azimuth, arc length) can be as decimal degrees or degrees,
-minutes, seconds. For example, \f(CW\*(C`40d30\*(C'\fR, \f(CW\*(C`40d30\*(Aq\*(C'\fR, \f(CW\*(C`40:30\*(C'\fR, \f(CW\*(C`40.5d\*(C'\fR,
-and \f(CW40.5\fR are all equivalent. By default, latitude precedes longitude
-for each point (the \fB\-w\fR flag switches this convention); however on
-input either may be given first by appending (or prepending) \fIN\fR or
-\&\fIS\fR to the latitude and \fIE\fR or \fIW\fR to the longitude. Azimuths are
-measured clockwise from north; however this may be overridden with \fIE\fR
-or \fIW\fR.
-.PP
-For details on the allowed formats for angles, see the \f(CW\*(C`GEOGRAPHIC
-COORDINATES\*(C'\fR section of \fIGeoConvert\fR\|(1).
-.SH "AUXILIARY SPHERE"
-.IX Header "AUXILIARY SPHERE"
-Geodesics on the ellipsoid can be transferred to the \fIauxiliary sphere\fR
-on which the distance is measured in terms of the arc length \fIa12\fR
-(measured in degrees) instead of \fIs12\fR. In terms of \fIa12\fR, 180
-degrees is the distance from one equator crossing to the next or from
-the minimum latitude to the maximum latitude. Geodesics with \fIa12\fR
-> 180 degrees do not correspond to shortest paths. With the \fB\-a\fR
-flag, \fIs12\fR (on both input and output) is replaced by \fIa12\fR. The
-\&\fB\-a\fR flag does \fInot\fR affect the full output given by the \fB\-f\fR flag
-(which always includes both \fIs12\fR and \fIa12\fR).
-.SH "ADDITIONAL QUANTITIES"
-.IX Header "ADDITIONAL QUANTITIES"
-The \fB\-f\fR flag reports four additional quantities.
-.PP
-The reduced length of the geodesic, \fIm12\fR, is defined such that if the
-initial azimuth is perturbed by d\fIazi1\fR (radians) then the second point
-is displaced by \fIm12\fR d\fIazi1\fR in the direction perpendicular to the
-geodesic. \fIm12\fR is given in meters. On a curved surface the
-reduced length obeys a symmetry relation, \fIm12\fR + \fIm21\fR = 0. On a
-flat surface, we have \fIm12\fR = \fIs12\fR.
-.PP
-\&\fIM12\fR and \fIM21\fR are geodesic scales. If two geodesics are parallel at
-point 1 and separated by a small distance \fIdt\fR, then they are separated
-by a distance \fIM12\fR \fIdt\fR at point 2. \fIM21\fR is defined similarly
-(with the geodesics being parallel to one another at point 2). \fIM12\fR
-and \fIM21\fR are dimensionless quantities. On a flat surface, we have
-\&\fIM12\fR = \fIM21\fR = 1.
-.PP
-If points 1, 2, and 3 lie on a single geodesic, then the following
-addition rules hold:
-.PP
-.Vb 6
-\& s13 = s12 + s23,
-\& a13 = a12 + a23,
-\& S13 = S12 + S23,
-\& m13 = m12 M23 + m23 M21,
-\& M13 = M12 M23 \- (1 \- M12 M21) m23 / m12,
-\& M31 = M32 M21 \- (1 \- M23 M32) m12 / m23.
-.Ve
-.PP
-Finally, \fIS12\fR is the area between the geodesic from point 1 to point 2
-and the equator; i.e., it is the area, measured counter-clockwise, of
-the geodesic quadrilateral with corners (\fIlat1\fR,\fIlon1\fR), (0,\fIlon1\fR),
-(0,\fIlon2\fR), and (\fIlat2\fR,\fIlon2\fR). It is given in meters^2.
-.SH "PRECISION"
-.IX Header "PRECISION"
-\&\fIprec\fR gives precision of the output with \fIprec\fR = 0 giving 1 m
-precision, \fIprec\fR = 3 giving 1 mm precision, etc. \fIprec\fR is the
-number of digits after the decimal point for lengths. For decimal
-degrees, the number of digits after the decimal point is \fIprec\fR + 5.
-For \s-1DMS\s0 (degree, minute, seconds) output, the number of digits after the
-decimal point in the seconds component is \fIprec\fR + 1. The minimum
-value of \fIprec\fR is 0 and the maximum is 10.
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBGeodSolve\fR to return an exit code
-of 1. However, an error does not cause \fBGeodSolve\fR to terminate;
-following lines will be converted.
-.SH "ACCURACY"
-.IX Header "ACCURACY"
-Using the (default) series solution, GeodSolve is accurate to about 15
-nm (15 nanometers) for the \s-1WGS84\s0 ellipsoid. The approximate maximum
-error (expressed as a distance) for an ellipsoid with the same equatorial
-radius as the \s-1WGS84\s0 ellipsoid and different values of the flattening is
-.PP
-.Vb 6
-\& |f| error
-\& 0.01 25 nm
-\& 0.02 30 nm
-\& 0.05 10 um
-\& 0.1 1.5 mm
-\& 0.2 300 mm
-.Ve
-.PP
-If \fB\-E\fR is specified, GeodSolve is accurate to about 40 nm (40
-nanometers) for the \s-1WGS84\s0 ellipsoid. The approximate maximum error
-(expressed as a distance) for an ellipsoid with a quarter meridian of
-10000 km and different values of the \fIa/b\fR = 1 \- \fIf\fR is
-.PP
-.Vb 10
-\& 1\-f error (nm)
-\& 1/128 387
-\& 1/64 345
-\& 1/32 269
-\& 1/16 210
-\& 1/8 115
-\& 1/4 69
-\& 1/2 36
-\& 1 15
-\& 2 25
-\& 4 96
-\& 8 318
-\& 16 985
-\& 32 2352
-\& 64 6008
-\& 128 19024
-.Ve
-.SH "MULTIPLE SOLUTIONS"
-.IX Header "MULTIPLE SOLUTIONS"
-The shortest distance returned for the inverse problem is (obviously)
-uniquely defined. However, in a few special cases there are multiple
-azimuths which yield the same shortest distance. Here is a catalog of
-those cases:
-.IP "\fIlat1\fR = \-\fIlat2\fR (with neither point at a pole)" 4
-.IX Item "lat1 = -lat2 (with neither point at a pole)"
-If \fIazi1\fR = \fIazi2\fR, the geodesic is unique. Otherwise there are two
-geodesics and the second one is obtained by setting [\fIazi1\fR,\fIazi2\fR] =
-[\fIazi2\fR,\fIazi1\fR], [\fIM12\fR,\fIM21\fR] = [\fIM21\fR,\fIM12\fR], \fIS12\fR = \-\fIS12\fR.
-(This occurs when the longitude difference is near +/\-180 for oblate
-ellipsoids.)
-.IP "\fIlon2\fR = \fIlon1\fR +/\- 180 (with neither point at a pole)" 4
-.IX Item "lon2 = lon1 +/- 180 (with neither point at a pole)"
-If \fIazi1\fR = 0 or +/\-180, the geodesic is unique. Otherwise there are
-two geodesics and the second one is obtained by setting
-[\fIazi1\fR,\fIazi2\fR] = [\-\fIazi1\fR,\-\fIazi2\fR], \fIS12\fR = \-\fIS12\fR. (This occurs
-when \fIlat2\fR is near \-\fIlat1\fR for prolate ellipsoids.)
-.IP "Points 1 and 2 at opposite poles" 4
-.IX Item "Points 1 and 2 at opposite poles"
-There are infinitely many geodesics which can be generated by setting
-[\fIazi1\fR,\fIazi2\fR] = [\fIazi1\fR,\fIazi2\fR] + [\fId\fR,\-\fId\fR], for arbitrary
-\&\fId\fR. (For spheres, this prescription applies when points 1 and 2 are
-antipodal.)
-.IP "\fIs12\fR = 0 (coincident points)" 4
-.IX Item "s12 = 0 (coincident points)"
-There are infinitely many geodesics which can be generated by setting
-[\fIazi1\fR,\fIazi2\fR] = [\fIazi1\fR,\fIazi2\fR] + [\fId\fR,\fId\fR], for arbitrary \fId\fR.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-Route from \s-1JFK\s0 Airport to Singapore Changi Airport:
-.PP
-.Vb 2
-\& echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |
-\& GeodSolve \-i \-: \-p 0
-\&
-\& 003:18:29.9 177:29:09.2 15347628
-.Ve
-.PP
-Equally spaced waypoints on the route:
-.PP
-.Vb 2
-\& for ((i = 0; i <= 10; ++i)); do echo $i/10; done |
-\& GeodSolve \-I 40:38:23N 073:46:44W 01:21:33N 103:59:22E \-F \-: \-p 0
-\&
-\& 40:38:23.0N 073:46:44.0W 003:18:29.9
-\& 54:24:51.3N 072:25:39.6W 004:18:44.1
-\& 68:07:37.7N 069:40:42.9W 006:44:25.4
-\& 81:38:00.4N 058:37:53.9W 017:28:52.7
-\& 83:43:26.0N 080:37:16.9E 156:26:00.4
-\& 70:20:29.2N 097:01:29.4E 172:31:56.4
-\& 56:38:36.0N 100:14:47.6E 175:26:10.5
-\& 42:52:37.1N 101:43:37.2E 176:34:28.6
-\& 29:03:57.0N 102:39:34.8E 177:07:35.2
-\& 15:13:18.6N 103:22:08.0E 177:23:44.7
-\& 01:21:33.0N 103:59:22.0E 177:29:09.2
-.Ve
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIGeoConvert\fR\|(1).
-.PP
-An online version of this utility is availbable at
-.
-.PP
-The algorithms are described in C. F. F. Karney,
-\&\fIAlgorithms for geodesics\fR, J. Geodesy 87, 43\-55 (2013); \s-1DOI:\s0
-;
-addenda: .
-.PP
-The Wikipedia page, Geodesics on an ellipsoid,
-.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBGeodSolve\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBGeodSolve\fR was added to GeographicLib,
-, in 2009\-03. Prior to version
-1.30, it was called \fBGeod\fR. (The name was changed to avoid a conflict
-with the \fBgeod\fR utility in \fIproj.4\fR.)
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.1.html b/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.1.html
deleted file mode 100644
index 31f5d291c3b73e6557307fe4dda7e43d945979bc..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.1.html
+++ /dev/null
@@ -1,333 +0,0 @@
-
-
-
-
-GeodSolve(1)
-
-
-
-
-
-
-
-
-
The shortest path between two points on the ellipsoid at (lat1, lon1) and (lat2, lon2) is called the geodesic. Its length is s12 and the geodesic from point 1 to point 2 has forward azimuths azi1 and azi2 at the two end points.
-
-
GeodSolve operates in one of three modes:
-
-
-
-
By default, GeodSolve accepts lines on the standard input containing lat1lon1azi1s12 and prints lat2lon2azi2 on standard output. This is the direct geodesic calculation.
-
-
-
With the -i command line argument, GeodSolve performs the inverse geodesic calculation. It reads lines containing lat1lon1lat2lon2 and prints the corresponding values of azi1azi2s12.
-
-
-
Command line arguments -Llat1lon1azi1 specify a geodesic line. GeodSolve then accepts a sequence of s12 values (one per line) on standard input and prints lat2lon2azi2 for each. This generates a sequence of points on a single geodesic. Command line arguments -D and -I work similarly with the geodesic line defined in terms of a direct or inverse geodesic calculation, respectively.
-
-
-
-
-
OPTIONS
-
-
-
-
-i
-
-
-
perform an inverse geodesic calculation (see 2 above).
-
-
-
-Llat1lon1azi1
-
-
-
line mode (see 3 above); generate a sequence of points along the geodesic specified by lat1lon1azi1. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -L. (-l is an alternative, deprecated, spelling of this flag.)
-
-
-
-Dlat1lon1azi1s13
-
-
-
line mode (see 3 above); generate a sequence of points along the geodesic specified by lat1lon1azi1s13. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -D. Similarly, the -a flag can be used to change the interpretation of s13 to a13, provided that it appears before -D.
-
-
-
-Ilat1lon1lat3lon3
-
-
-
line mode (see 3 above); generate a sequence of points along the geodesic specified by lat1lon1lat3lon3. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -I.
-
-
-
-a
-
-
-
toggle the arc mode flag (it starts off); if this flag is on, then on input and output s12 is replaced by a12 the arc length (in degrees) on the auxiliary sphere. See "AUXILIARY SPHERE".
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-u
-
-
-
unroll the longitude. Normally, on output longitudes are reduced to lie in [-180deg,180deg). However with this option, the returned longitude lon2 is "unrolled" so that lon2 - lon1 indicates how often and in what sense the geodesic has encircled the earth. Use the -f option, to get both longitudes printed.
-
-
-
-F
-
-
-
fractional mode. This only has any effect with the -D and -I options (and is otherwise ignored). The values read on standard input are interpreted as fractional distances to point 3, i.e., as s12/s13 instead of s12. If arc mode is in effect, then the values denote fractional arc length, i.e., a12/a13. The fractional distances can be entered as a simple fraction, e.g., 3/4.
-
-
-
-d
-
-
-
output angles as degrees, minutes, seconds instead of decimal degrees.
-
-
-
-:
-
-
-
like -d, except use : as a separator instead of the d, ', and " delimiters.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-b
-
-
-
report the back azimuth at point 2 instead of the forward azimuth.
-
-
-
-f
-
-
-
full output; each line of output consists of 12 quantities: lat1lon1azi1lat2lon2azi2s12a12m12M12M21S12. a12 is described in "AUXILIARY SPHERE". The four quantities m12, M12, M21, and S12 are described in "ADDITIONAL QUANTITIES".
-
-
-
-pprec
-
-
-
set the output precision to prec (default 3); prec is the precision relative to 1 m. See "PRECISION".
-
-
-
-E
-
-
-
use "exact" algorithms (based on elliptic integrals) for the geodesic calculations. These are more accurate than the (default) series expansions for |f| > 0.02.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
INPUT
-
-
GeodSolve measures all angles in degrees and all lengths (s12) in meters, and all areas (S12) in meters^2. On input angles (latitude, longitude, azimuth, arc length) can be as decimal degrees or degrees, minutes, seconds. For example, 40d30, 40d30', 40:30, 40.5d, and 40.5 are all equivalent. By default, latitude precedes longitude for each point (the -w flag switches this convention); however on input either may be given first by appending (or prepending) N or S to the latitude and E or W to the longitude. Azimuths are measured clockwise from north; however this may be overridden with E or W.
-
-
For details on the allowed formats for angles, see the GEOGRAPHIC COORDINATES section of GeoConvert(1).
-
-
AUXILIARY SPHERE
-
-
Geodesics on the ellipsoid can be transferred to the auxiliary sphere on which the distance is measured in terms of the arc length a12 (measured in degrees) instead of s12. In terms of a12, 180 degrees is the distance from one equator crossing to the next or from the minimum latitude to the maximum latitude. Geodesics with a12 > 180 degrees do not correspond to shortest paths. With the -a flag, s12 (on both input and output) is replaced by a12. The -a flag does not affect the full output given by the -f flag (which always includes both s12 and a12).
-
-
ADDITIONAL QUANTITIES
-
-
The -f flag reports four additional quantities.
-
-
The reduced length of the geodesic, m12, is defined such that if the initial azimuth is perturbed by dazi1 (radians) then the second point is displaced by m12 dazi1 in the direction perpendicular to the geodesic. m12 is given in meters. On a curved surface the reduced length obeys a symmetry relation, m12 + m21 = 0. On a flat surface, we have m12 = s12.
-
-
M12 and M21 are geodesic scales. If two geodesics are parallel at point 1 and separated by a small distance dt, then they are separated by a distance M12dt at point 2. M21 is defined similarly (with the geodesics being parallel to one another at point 2). M12 and M21 are dimensionless quantities. On a flat surface, we have M12 = M21 = 1.
-
-
If points 1, 2, and 3 lie on a single geodesic, then the following addition rules hold:
Finally, S12 is the area between the geodesic from point 1 to point 2 and the equator; i.e., it is the area, measured counter-clockwise, of the geodesic quadrilateral with corners (lat1,lon1), (0,lon1), (0,lon2), and (lat2,lon2). It is given in meters^2.
-
-
PRECISION
-
-
prec gives precision of the output with prec = 0 giving 1 m precision, prec = 3 giving 1 mm precision, etc. prec is the number of digits after the decimal point for lengths. For decimal degrees, the number of digits after the decimal point is prec + 5. For DMS (degree, minute, seconds) output, the number of digits after the decimal point in the seconds component is prec + 1. The minimum value of prec is 0 and the maximum is 10.
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeodSolve to return an exit code of 1. However, an error does not cause GeodSolve to terminate; following lines will be converted.
-
-
ACCURACY
-
-
Using the (default) series solution, GeodSolve is accurate to about 15 nm (15 nanometers) for the WGS84 ellipsoid. The approximate maximum error (expressed as a distance) for an ellipsoid with the same equatorial radius as the WGS84 ellipsoid and different values of the flattening is
-
-
|f| error
- 0.01 25 nm
- 0.02 30 nm
- 0.05 10 um
- 0.1 1.5 mm
- 0.2 300 mm
-
-
If -E is specified, GeodSolve is accurate to about 40 nm (40 nanometers) for the WGS84 ellipsoid. The approximate maximum error (expressed as a distance) for an ellipsoid with a quarter meridian of 10000 km and different values of the a/b = 1 - f is
The shortest distance returned for the inverse problem is (obviously) uniquely defined. However, in a few special cases there are multiple azimuths which yield the same shortest distance. Here is a catalog of those cases:
-
-
-
-
lat1 = -lat2 (with neither point at a pole)
-
-
-
If azi1 = azi2, the geodesic is unique. Otherwise there are two geodesics and the second one is obtained by setting [azi1,azi2] = [azi2,azi1], [M12,M21] = [M21,M12], S12 = -S12. (This occurs when the longitude difference is near +/-180 for oblate ellipsoids.)
-
-
-
lon2 = lon1 +/- 180 (with neither point at a pole)
-
-
-
If azi1 = 0 or +/-180, the geodesic is unique. Otherwise there are two geodesics and the second one is obtained by setting [azi1,azi2] = [-azi1,-azi2], S12 = -S12. (This occurs when lat2 is near -lat1 for prolate ellipsoids.)
-
-
-
Points 1 and 2 at opposite poles
-
-
-
There are infinitely many geodesics which can be generated by setting [azi1,azi2] = [azi1,azi2] + [d,-d], for arbitrary d. (For spheres, this prescription applies when points 1 and 2 are antipodal.)
-
-
-
s12 = 0 (coincident points)
-
-
-
There are infinitely many geodesics which can be generated by setting [azi1,azi2] = [azi1,azi2] + [d,d], for arbitrary d.
-
-
-
-
-
EXAMPLES
-
-
Route from JFK Airport to Singapore Changi Airport:
GeodSolve was added to GeographicLib, https://geographiclib.sourceforge.io, in 2009-03. Prior to version 1.30, it was called Geod. (The name was changed to avoid a conflict with the geod utility in proj.4.)
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.usage b/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.usage
deleted file mode 100644
index 38f2c9c9b073a39063fa6d0a5b3fcde3d4288cf1..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeodSolve.usage
+++ /dev/null
@@ -1,339 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" GeodSolve [ -i | -L lat1 lon1 azi1 | -D lat1 lon1 azi1 s13 | -I lat1\n"
-" lon1 lat3 lon3 ] [ -a ] [ -e a f ] [ -u ] [ -F ] [ -d | -: ] [ -w ] [\n"
-" -b ] [ -f ] [ -p prec ] [ -E ] [ --comment-delimiter commentdelim ] [\n"
-" --version | -h | --help ] [ --input-file infile | --input-string\n"
-" instring ] [ --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" GeodSolve --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/GeodSolve.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" GeodSolve -- perform geodesic calculations\n"
-"\n"
-"SYNOPSIS\n"
-" GeodSolve [ -i | -L lat1 lon1 azi1 | -D lat1 lon1 azi1 s13 | -I lat1\n"
-" lon1 lat3 lon3 ] [ -a ] [ -e a f ] [ -u ] [ -F ] [ -d | -: ] [ -w ] [\n"
-" -b ] [ -f ] [ -p prec ] [ -E ] [ --comment-delimiter commentdelim ] [\n"
-" --version | -h | --help ] [ --input-file infile | --input-string\n"
-" instring ] [ --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" The shortest path between two points on the ellipsoid at (lat1, lon1)\n"
-" and (lat2, lon2) is called the geodesic. Its length is s12 and the\n"
-" geodesic from point 1 to point 2 has forward azimuths azi1 and azi2 at\n"
-" the two end points.\n"
-"\n"
-" GeodSolve operates in one of three modes:\n"
-"\n"
-" 1. By default, GeodSolve accepts lines on the standard input\n"
-" containing lat1 lon1 azi1 s12 and prints lat2 lon2 azi2 on standard\n"
-" output. This is the direct geodesic calculation.\n"
-"\n"
-" 2. With the -i command line argument, GeodSolve performs the inverse\n"
-" geodesic calculation. It reads lines containing lat1 lon1 lat2\n"
-" lon2 and prints the corresponding values of azi1 azi2 s12.\n"
-"\n"
-" 3. Command line arguments -L lat1 lon1 azi1 specify a geodesic line.\n"
-" GeodSolve then accepts a sequence of s12 values (one per line) on\n"
-" standard input and prints lat2 lon2 azi2 for each. This generates\n"
-" a sequence of points on a single geodesic. Command line arguments\n"
-" -D and -I work similarly with the geodesic line defined in terms of\n"
-" a direct or inverse geodesic calculation, respectively.\n"
-"\n"
-"OPTIONS\n"
-" -i perform an inverse geodesic calculation (see 2 above).\n"
-"\n"
-" -L lat1 lon1 azi1\n"
-" line mode (see 3 above); generate a sequence of points along the\n"
-" geodesic specified by lat1 lon1 azi1. The -w flag can be used to\n"
-" swap the default order of the 2 geographic coordinates, provided\n"
-" that it appears before -L. (-l is an alternative, deprecated,\n"
-" spelling of this flag.)\n"
-"\n"
-" -D lat1 lon1 azi1 s13\n"
-" line mode (see 3 above); generate a sequence of points along the\n"
-" geodesic specified by lat1 lon1 azi1 s13. The -w flag can be used\n"
-" to swap the default order of the 2 geographic coordinates, provided\n"
-" that it appears before -D. Similarly, the -a flag can be used to\n"
-" change the interpretation of s13 to a13, provided that it appears\n"
-" before -D.\n"
-"\n"
-" -I lat1 lon1 lat3 lon3\n"
-" line mode (see 3 above); generate a sequence of points along the\n"
-" geodesic specified by lat1 lon1 lat3 lon3. The -w flag can be used\n"
-" to swap the default order of the 2 geographic coordinates, provided\n"
-" that it appears before -I.\n"
-"\n"
-" -a toggle the arc mode flag (it starts off); if this flag is on, then\n"
-" on input and output s12 is replaced by a12 the arc length (in\n"
-" degrees) on the auxiliary sphere. See \"AUXILIARY SPHERE\".\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563.\n"
-"\n"
-" -u unroll the longitude. Normally, on output longitudes are reduced\n"
-" to lie in [-180deg,180deg). However with this option, the returned\n"
-" longitude lon2 is \"unrolled\" so that lon2 - lon1 indicates how\n"
-" often and in what sense the geodesic has encircled the earth. Use\n"
-" the -f option, to get both longitudes printed.\n"
-"\n"
-" -F fractional mode. This only has any effect with the -D and -I\n"
-" options (and is otherwise ignored). The values read on standard\n"
-" input are interpreted as fractional distances to point 3, i.e., as\n"
-" s12/s13 instead of s12. If arc mode is in effect, then the values\n"
-" denote fractional arc length, i.e., a12/a13. The fractional\n"
-" distances can be entered as a simple fraction, e.g., 3/4.\n"
-"\n"
-" -d output angles as degrees, minutes, seconds instead of decimal\n"
-" degrees.\n"
-"\n"
-" -: like -d, except use : as a separator instead of the d, ', and \"\n"
-" delimiters.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -b report the back azimuth at point 2 instead of the forward azimuth.\n"
-"\n"
-" -f full output; each line of output consists of 12 quantities: lat1\n"
-" lon1 azi1 lat2 lon2 azi2 s12 a12 m12 M12 M21 S12. a12 is described\n"
-" in \"AUXILIARY SPHERE\". The four quantities m12, M12, M21, and S12\n"
-" are described in \"ADDITIONAL QUANTITIES\".\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 3); prec is the precision\n"
-" relative to 1 m. See \"PRECISION\".\n"
-"\n"
-" -E use \"exact\" algorithms (based on elliptic integrals) for the\n"
-" geodesic calculations. These are more accurate than the (default)\n"
-" series expansions for |f| > 0.02.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"INPUT\n"
-" GeodSolve measures all angles in degrees and all lengths (s12) in\n"
-" meters, and all areas (S12) in meters^2. On input angles (latitude,\n"
-" longitude, azimuth, arc length) can be as decimal degrees or degrees,\n"
-" minutes, seconds. For example, \"40d30\", \"40d30'\", \"40:30\", \"40.5d\",\n"
-" and 40.5 are all equivalent. By default, latitude precedes longitude\n"
-" for each point (the -w flag switches this convention); however on input\n"
-" either may be given first by appending (or prepending) N or S to the\n"
-" latitude and E or W to the longitude. Azimuths are measured clockwise\n"
-" from north; however this may be overridden with E or W.\n"
-"\n"
-" For details on the allowed formats for angles, see the \"GEOGRAPHIC\n"
-" COORDINATES\" section of GeoConvert(1).\n"
-"\n"
-"AUXILIARY SPHERE\n"
-" Geodesics on the ellipsoid can be transferred to the auxiliary sphere\n"
-" on which the distance is measured in terms of the arc length a12\n"
-" (measured in degrees) instead of s12. In terms of a12, 180 degrees is\n"
-" the distance from one equator crossing to the next or from the minimum\n"
-" latitude to the maximum latitude. Geodesics with a12 > 180 degrees do\n"
-" not correspond to shortest paths. With the -a flag, s12 (on both input\n"
-" and output) is replaced by a12. The -a flag does not affect the full\n"
-" output given by the -f flag (which always includes both s12 and a12).\n"
-"\n"
-"ADDITIONAL QUANTITIES\n"
-" The -f flag reports four additional quantities.\n"
-"\n"
-" The reduced length of the geodesic, m12, is defined such that if the\n"
-" initial azimuth is perturbed by dazi1 (radians) then the second point\n"
-" is displaced by m12 dazi1 in the direction perpendicular to the\n"
-" geodesic. m12 is given in meters. On a curved surface the reduced\n"
-" length obeys a symmetry relation, m12 + m21 = 0. On a flat surface, we\n"
-" have m12 = s12.\n"
-"\n"
-" M12 and M21 are geodesic scales. If two geodesics are parallel at\n"
-" point 1 and separated by a small distance dt, then they are separated\n"
-" by a distance M12 dt at point 2. M21 is defined similarly (with the\n"
-" geodesics being parallel to one another at point 2). M12 and M21 are\n"
-" dimensionless quantities. On a flat surface, we have M12 = M21 = 1.\n"
-"\n"
-" If points 1, 2, and 3 lie on a single geodesic, then the following\n"
-" addition rules hold:\n"
-"\n"
-" s13 = s12 + s23,\n"
-" a13 = a12 + a23,\n"
-" S13 = S12 + S23,\n"
-" m13 = m12 M23 + m23 M21,\n"
-" M13 = M12 M23 - (1 - M12 M21) m23 / m12,\n"
-" M31 = M32 M21 - (1 - M23 M32) m12 / m23.\n"
-"\n"
-" Finally, S12 is the area between the geodesic from point 1 to point 2\n"
-" and the equator; i.e., it is the area, measured counter-clockwise, of\n"
-" the geodesic quadrilateral with corners (lat1,lon1), (0,lon1),\n"
-" (0,lon2), and (lat2,lon2). It is given in meters^2.\n"
-"\n"
-"PRECISION\n"
-" prec gives precision of the output with prec = 0 giving 1 m precision,\n"
-" prec = 3 giving 1 mm precision, etc. prec is the number of digits\n"
-" after the decimal point for lengths. For decimal degrees, the number\n"
-" of digits after the decimal point is prec + 5. For DMS (degree,\n"
-" minute, seconds) output, the number of digits after the decimal point\n"
-" in the seconds component is prec + 1. The minimum value of prec is 0\n"
-" and the maximum is 10.\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes GeodSolve to return an exit code of\n"
-" 1. However, an error does not cause GeodSolve to terminate; following\n"
-" lines will be converted.\n"
-"\n"
-"ACCURACY\n"
-" Using the (default) series solution, GeodSolve is accurate to about 15\n"
-" nm (15 nanometers) for the WGS84 ellipsoid. The approximate maximum\n"
-" error (expressed as a distance) for an ellipsoid with the same\n"
-" equatorial radius as the WGS84 ellipsoid and different values of the\n"
-" flattening is\n"
-"\n"
-" |f| error\n"
-" 0.01 25 nm\n"
-" 0.02 30 nm\n"
-" 0.05 10 um\n"
-" 0.1 1.5 mm\n"
-" 0.2 300 mm\n"
-"\n"
-" If -E is specified, GeodSolve is accurate to about 40 nm (40\n"
-" nanometers) for the WGS84 ellipsoid. The approximate maximum error\n"
-" (expressed as a distance) for an ellipsoid with a quarter meridian of\n"
-" 10000 km and different values of the a/b = 1 - f is\n"
-"\n"
-" 1-f error (nm)\n"
-" 1/128 387\n"
-" 1/64 345\n"
-" 1/32 269\n"
-" 1/16 210\n"
-" 1/8 115\n"
-" 1/4 69\n"
-" 1/2 36\n"
-" 1 15\n"
-" 2 25\n"
-" 4 96\n"
-" 8 318\n"
-" 16 985\n"
-" 32 2352\n"
-" 64 6008\n"
-" 128 19024\n"
-"\n"
-"MULTIPLE SOLUTIONS\n"
-" The shortest distance returned for the inverse problem is (obviously)\n"
-" uniquely defined. However, in a few special cases there are multiple\n"
-" azimuths which yield the same shortest distance. Here is a catalog of\n"
-" those cases:\n"
-"\n"
-" lat1 = -lat2 (with neither point at a pole)\n"
-" If azi1 = azi2, the geodesic is unique. Otherwise there are two\n"
-" geodesics and the second one is obtained by setting [azi1,azi2] =\n"
-" [azi2,azi1], [M12,M21] = [M21,M12], S12 = -S12. (This occurs when\n"
-" the longitude difference is near +/-180 for oblate ellipsoids.)\n"
-"\n"
-" lon2 = lon1 +/- 180 (with neither point at a pole)\n"
-" If azi1 = 0 or +/-180, the geodesic is unique. Otherwise there are\n"
-" two geodesics and the second one is obtained by setting [azi1,azi2]\n"
-" = [-azi1,-azi2], S12 = -S12. (This occurs when lat2 is near -lat1\n"
-" for prolate ellipsoids.)\n"
-"\n"
-" Points 1 and 2 at opposite poles\n"
-" There are infinitely many geodesics which can be generated by\n"
-" setting [azi1,azi2] = [azi1,azi2] + [d,-d], for arbitrary d. (For\n"
-" spheres, this prescription applies when points 1 and 2 are\n"
-" antipodal.)\n"
-"\n"
-" s12 = 0 (coincident points)\n"
-" There are infinitely many geodesics which can be generated by\n"
-" setting [azi1,azi2] = [azi1,azi2] + [d,d], for arbitrary d.\n"
-"\n"
-"EXAMPLES\n"
-" Route from JFK Airport to Singapore Changi Airport:\n"
-"\n"
-" echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |\n"
-" GeodSolve -i -: -p 0\n"
-"\n"
-" 003:18:29.9 177:29:09.2 15347628\n"
-"\n"
-" Equally spaced waypoints on the route:\n"
-"\n"
-" for ((i = 0; i <= 10; ++i)); do echo $i/10; done |\n"
-" GeodSolve -I 40:38:23N 073:46:44W 01:21:33N 103:59:22E -F -: -p 0\n"
-"\n"
-" 40:38:23.0N 073:46:44.0W 003:18:29.9\n"
-" 54:24:51.3N 072:25:39.6W 004:18:44.1\n"
-" 68:07:37.7N 069:40:42.9W 006:44:25.4\n"
-" 81:38:00.4N 058:37:53.9W 017:28:52.7\n"
-" 83:43:26.0N 080:37:16.9E 156:26:00.4\n"
-" 70:20:29.2N 097:01:29.4E 172:31:56.4\n"
-" 56:38:36.0N 100:14:47.6E 175:26:10.5\n"
-" 42:52:37.1N 101:43:37.2E 176:34:28.6\n"
-" 29:03:57.0N 102:39:34.8E 177:07:35.2\n"
-" 15:13:18.6N 103:22:08.0E 177:23:44.7\n"
-" 01:21:33.0N 103:59:22.0E 177:29:09.2\n"
-"\n"
-"SEE ALSO\n"
-" GeoConvert(1).\n"
-"\n"
-" An online version of this utility is availbable at\n"
-" .\n"
-"\n"
-" The algorithms are described in C. F. F. Karney, Algorithms for\n"
-" geodesics, J. Geodesy 87, 43-55 (2013); DOI:\n"
-" ; addenda:\n"
-" .\n"
-"\n"
-" The Wikipedia page, Geodesics on an ellipsoid,\n"
-" .\n"
-"\n"
-"AUTHOR\n"
-" GeodSolve was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" GeodSolve was added to GeographicLib,\n"
-" , in 2009-03. Prior to version\n"
-" 1.30, it was called Geod. (The name was changed to avoid a conflict\n"
-" with the geod utility in proj.4.)\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1 b/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1
deleted file mode 100644
index 0068a4864316a331d01d0bc27b2d8bc3898809a7..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1
+++ /dev/null
@@ -1,273 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "GEODESICPROJ 1"
-.TH GEODESICPROJ 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-GeodesicProj \-\- perform projections based on geodesics
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBGeodesicProj\fR ( \fB\-z\fR | \fB\-c\fR | \fB\-g\fR ) \fIlat0\fR \fIlon0\fR [ \fB\-r\fR ]
-[ \fB\-e\fR \fIa\fR \fIf\fR ] [ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-Perform projections based on geodesics. Convert geodetic coordinates to
-either azimuthal equidistant, Cassini-Soldner, or gnomonic coordinates.
-The center of the projection (\fIlat0\fR, \fIlon0\fR) is specified by either
-the \fB\-c\fR option (for Cassini-Soldner), the \fB\-z\fR option (for azimuthal
-equidistant), or the \fB\-g\fR option (for gnomonic). At least one of these
-options must be given (the last one given is used).
-.PP
-Geodetic coordinates are provided on standard input as a set of lines
-containing (blank separated) \fIlatitude\fR and \fIlongitude\fR (decimal
-degrees or degrees, minutes, seconds); for details on the allowed
-formats for latitude and longitude, see the \f(CW\*(C`GEOGRAPHIC COORDINATES\*(C'\fR
-section of \fIGeoConvert\fR\|(1). For each set of geodetic coordinates, the
-corresponding projected coordinates \fIx\fR, \fIy\fR (meters) are printed on
-standard output together with the azimuth \fIazi\fR (degrees) and
-reciprocal scale \fIrk\fR. For Cassini-Soldner, \fIazi\fR is the bearing of
-the easting direction and the scale in the easting direction is 1 and
-the scale in the northing direction is 1/\fIrk\fR. For azimuthal
-equidistant and gnomonic, \fIazi\fR is the bearing of the radial direction
-and the scale in the azimuthal direction is 1/\fIrk\fR. For azimuthal
-equidistant and gnomonic, the scales in the radial direction are 1 and
-1/\fIrk\fR^2, respectively.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-z\fR \fIlat0\fR \fIlon0\fR" 4
-.IX Item "-z lat0 lon0"
-use the azimuthal equidistant projection centered at latitude = \fIlat0\fR,
-longitude = \fIlon0\fR. The \fB\-w\fR flag can be used to swap the default
-order of the 2 coordinates, provided that it appears before \fB\-z\fR.
-.IP "\fB\-c\fR \fIlat0\fR \fIlon0\fR" 4
-.IX Item "-c lat0 lon0"
-use the Cassini-Soldner projection centered at latitude = \fIlat0\fR,
-longitude = \fIlon0\fR. The \fB\-w\fR flag can be used to swap the default
-order of the 2 coordinates, provided that it appears before \fB\-c\fR.
-.IP "\fB\-g\fR \fIlat0\fR \fIlon0\fR" 4
-.IX Item "-g lat0 lon0"
-use the ellipsoidal gnomonic projection centered at latitude = \fIlat0\fR,
-longitude = \fIlon0\fR. The \fB\-w\fR flag can be used to swap the default
-order of the 2 coordinates, provided that it appears before \fB\-g\fR.
-.IP "\fB\-r\fR" 4
-.IX Item "-r"
-perform the reverse projection. \fIx\fR and \fIy\fR are given on standard
-input and each line of standard output gives \fIlatitude\fR, \fIlongitude\fR,
-\&\fIazi\fR, and \fIrk\fR.
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 6). \fIprec\fR is the number
-of digits after the decimal point for lengths (in meters). For
-latitudes, longitudes, and azimuths (in degrees), the number of digits
-after the decimal point is \fIprec\fR + 5. For the scale, the number of
-digits after the decimal point is \fIprec\fR + 6.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-.Vb 4
-\& echo 48.648 \-2.007 | GeodesicProj \-c 48.836 2.337
-\& => \-319919 \-11791 86.7 0.999
-\& echo \-319919 \-11791 | GeodesicProj \-c 48.836 2.337 \-r
-\& => 48.648 \-2.007 86.7 0.999
-.Ve
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBGeodesicProj\fR to return an exit
-code of 1. However, an error does not cause \fBGeodesicProj\fR to
-terminate; following lines will be converted.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-The ellipsoidal gnomonic projection is derived in Section 8 of
-C. F. F. Karney, \fIAlgorithms for geodesics\fR, J. Geodesy 87, 43\-55 (2013); \s-1DOI\s0
-;
-addenda: .
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBGeodesicProj\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBGeodesicProj\fR was added to GeographicLib,
-, in 2009\-08.
-Prior to version 1.9 it was called EquidistantTest.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1.html b/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1.html
deleted file mode 100644
index cabc84a0720e0e7389992490635d502af7ee1535..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1.html
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
-
-
-GeodesicProj(1)
-
-
-
-
-
-
-
-
-
NAME
-
-
GeodesicProj -- perform projections based on geodesics
Perform projections based on geodesics. Convert geodetic coordinates to either azimuthal equidistant, Cassini-Soldner, or gnomonic coordinates. The center of the projection (lat0, lon0) is specified by either the -c option (for Cassini-Soldner), the -z option (for azimuthal equidistant), or the -g option (for gnomonic). At least one of these options must be given (the last one given is used).
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude and longitude (decimal degrees or degrees, minutes, seconds); for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding projected coordinates x, y (meters) are printed on standard output together with the azimuth azi (degrees) and reciprocal scale rk. For Cassini-Soldner, azi is the bearing of the easting direction and the scale in the easting direction is 1 and the scale in the northing direction is 1/rk. For azimuthal equidistant and gnomonic, azi is the bearing of the radial direction and the scale in the azimuthal direction is 1/rk. For azimuthal equidistant and gnomonic, the scales in the radial direction are 1 and 1/rk^2, respectively.
-
-
OPTIONS
-
-
-
-
-zlat0lon0
-
-
-
use the azimuthal equidistant projection centered at latitude = lat0, longitude = lon0. The -w flag can be used to swap the default order of the 2 coordinates, provided that it appears before -z.
-
-
-
-clat0lon0
-
-
-
use the Cassini-Soldner projection centered at latitude = lat0, longitude = lon0. The -w flag can be used to swap the default order of the 2 coordinates, provided that it appears before -c.
-
-
-
-glat0lon0
-
-
-
use the ellipsoidal gnomonic projection centered at latitude = lat0, longitude = lon0. The -w flag can be used to swap the default order of the 2 coordinates, provided that it appears before -g.
-
-
-
-r
-
-
-
perform the reverse projection. x and y are given on standard input and each line of standard output gives latitude, longitude, azi, and rk.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for lengths (in meters). For latitudes, longitudes, and azimuths (in degrees), the number of digits after the decimal point is prec + 5. For the scale, the number of digits after the decimal point is prec + 6.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeodesicProj to return an exit code of 1. However, an error does not cause GeodesicProj to terminate; following lines will be converted.
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.usage b/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.usage
deleted file mode 100644
index e7bf2b7af0d4426a670dd04d4d69fc9be2bef1cb..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeodesicProj.usage
+++ /dev/null
@@ -1,147 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" GeodesicProj ( -z | -c | -g ) lat0 lon0 [ -r ] [ -e a f ] [ -w ] [ -p\n"
-" prec ] [ --comment-delimiter commentdelim ] [ --version | -h | --help ]\n"
-" [ --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" GeodesicProj --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/GeodesicProj.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" GeodesicProj -- perform projections based on geodesics\n"
-"\n"
-"SYNOPSIS\n"
-" GeodesicProj ( -z | -c | -g ) lat0 lon0 [ -r ] [ -e a f ] [ -w ] [ -p\n"
-" prec ] [ --comment-delimiter commentdelim ] [ --version | -h | --help ]\n"
-" [ --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" Perform projections based on geodesics. Convert geodetic coordinates\n"
-" to either azimuthal equidistant, Cassini-Soldner, or gnomonic\n"
-" coordinates. The center of the projection (lat0, lon0) is specified by\n"
-" either the -c option (for Cassini-Soldner), the -z option (for\n"
-" azimuthal equidistant), or the -g option (for gnomonic). At least one\n"
-" of these options must be given (the last one given is used).\n"
-"\n"
-" Geodetic coordinates are provided on standard input as a set of lines\n"
-" containing (blank separated) latitude and longitude (decimal degrees or\n"
-" degrees, minutes, seconds); for details on the allowed formats for\n"
-" latitude and longitude, see the \"GEOGRAPHIC COORDINATES\" section of\n"
-" GeoConvert(1). For each set of geodetic coordinates, the corresponding\n"
-" projected coordinates x, y (meters) are printed on standard output\n"
-" together with the azimuth azi (degrees) and reciprocal scale rk. For\n"
-" Cassini-Soldner, azi is the bearing of the easting direction and the\n"
-" scale in the easting direction is 1 and the scale in the northing\n"
-" direction is 1/rk. For azimuthal equidistant and gnomonic, azi is the\n"
-" bearing of the radial direction and the scale in the azimuthal\n"
-" direction is 1/rk. For azimuthal equidistant and gnomonic, the scales\n"
-" in the radial direction are 1 and 1/rk^2, respectively.\n"
-"\n"
-"OPTIONS\n"
-" -z lat0 lon0\n"
-" use the azimuthal equidistant projection centered at latitude =\n"
-" lat0, longitude = lon0. The -w flag can be used to swap the\n"
-" default order of the 2 coordinates, provided that it appears before\n"
-" -z.\n"
-"\n"
-" -c lat0 lon0\n"
-" use the Cassini-Soldner projection centered at latitude = lat0,\n"
-" longitude = lon0. The -w flag can be used to swap the default\n"
-" order of the 2 coordinates, provided that it appears before -c.\n"
-"\n"
-" -g lat0 lon0\n"
-" use the ellipsoidal gnomonic projection centered at latitude =\n"
-" lat0, longitude = lon0. The -w flag can be used to swap the\n"
-" default order of the 2 coordinates, provided that it appears before\n"
-" -g.\n"
-"\n"
-" -r perform the reverse projection. x and y are given on standard\n"
-" input and each line of standard output gives latitude, longitude,\n"
-" azi, and rk.\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 6). prec is the number\n"
-" of digits after the decimal point for lengths (in meters). For\n"
-" latitudes, longitudes, and azimuths (in degrees), the number of\n"
-" digits after the decimal point is prec + 5. For the scale, the\n"
-" number of digits after the decimal point is prec + 6.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"EXAMPLES\n"
-" echo 48.648 -2.007 | GeodesicProj -c 48.836 2.337\n"
-" => -319919 -11791 86.7 0.999\n"
-" echo -319919 -11791 | GeodesicProj -c 48.836 2.337 -r\n"
-" => 48.648 -2.007 86.7 0.999\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes GeodesicProj to return an exit code\n"
-" of 1. However, an error does not cause GeodesicProj to terminate;\n"
-" following lines will be converted.\n"
-"\n"
-"SEE ALSO\n"
-" The ellipsoidal gnomonic projection is derived in Section 8 of C. F. F.\n"
-" Karney, Algorithms for geodesics, J. Geodesy 87, 43-55 (2013); DOI\n"
-" ; addenda:\n"
-" .\n"
-"\n"
-"AUTHOR\n"
-" GeodesicProj was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" GeodesicProj was added to GeographicLib,\n"
-" , in 2009-08. Prior to version\n"
-" 1.9 it was called EquidistantTest.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.1 b/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.1
deleted file mode 100644
index 7a2b66829d90ad94ab0e6d0053613b1660ae5ddf..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.1
+++ /dev/null
@@ -1,412 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "GEOIDEVAL 1"
-.TH GEOIDEVAL 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-GeoidEval \-\- look up geoid heights
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBGeoidEval\fR [ \fB\-n\fR \fIname\fR ] [ \fB\-d\fR \fIdir\fR ] [ \fB\-l\fR ]
-[ \fB\-a\fR | \fB\-c\fR \fIsouth\fR \fIwest\fR \fInorth\fR \fIeast\fR ] [ \fB\-w\fR ]
-[ \fB\-z\fR \fIzone\fR ] [ \fB\-\-msltohae\fR ] [ \fB\-\-haetomsl\fR ]
-[ \fB\-v\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\&\fBGeoidEval\fR reads in positions on standard input and prints out the
-corresponding heights of the geoid above the \s-1WGS84\s0 ellipsoid on standard
-output.
-.PP
-Positions are given as latitude and longitude, \s-1UTM/UPS,\s0 or \s-1MGRS,\s0 in any
-of the formats accepted by \fIGeoConvert\fR\|(1). (\s-1MGRS\s0 coordinates signify the
-\&\fIcenter\fR of the corresponding \s-1MGRS\s0 square.) If the \fB\-z\fR option is
-specified then the specified zone is prepended to each line of input
-(which must be in \s-1UTM/UPS\s0 coordinates). This allows a file with \s-1UTM\s0
-eastings and northings in a single zone to be used as standard input.
-.PP
-More accurate results for the geoid height are provided by \fIGravity\fR\|(1).
-This utility can also compute the direction of gravity accurately.
-.PP
-The height of the geoid above the ellipsoid, \fIN\fR, is sometimes called
-the geoid undulation. It can be used to convert a height above the
-ellipsoid, \fIh\fR, to the corresponding height above the geoid (the
-orthometric height, roughly the height above mean sea level), \fIH\fR,
-using the relations
-.Sp
-.RS 4
-\&\fIh\fR = \fIN\fR + \fIH\fR, \ \ \fIH\fR = \-\fIN\fR + \fIh\fR.
-.RE
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-n\fR \fIname\fR" 4
-.IX Item "-n name"
-use geoid \fIname\fR instead of the default \f(CW\*(C`egm96\-5\*(C'\fR. See
-\&\*(L"\s-1GEOIDS\*(R"\s0.
-.IP "\fB\-d\fR \fIdir\fR" 4
-.IX Item "-d dir"
-read geoid data from \fIdir\fR instead of the default. See
-\&\*(L"\s-1GEOIDS\*(R"\s0.
-.IP "\fB\-l\fR" 4
-.IX Item "-l"
-use bilinear interpolation instead of cubic. See
-\&\*(L"\s-1INTERPOLATION\*(R"\s0.
-.IP "\fB\-a\fR" 4
-.IX Item "-a"
-cache the entire data set in memory. See \*(L"\s-1CACHE\*(R"\s0.
-.IP "\fB\-c\fR \fIsouth\fR \fIwest\fR \fInorth\fR \fIeast\fR" 4
-.IX Item "-c south west north east"
-cache the data bounded by \fIsouth\fR \fIwest\fR \fInorth\fR \fIeast\fR in memory.
-The first two arguments specify the \s-1SW\s0 corner of the cache and the last
-two arguments specify the \s-1NE\s0 corner. The \fB\-w\fR flag specifies that
-longitude precedes latitude for these corners, provided that it appears
-before \fB\-c\fR. See \*(L"\s-1CACHE\*(R"\s0.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-when reading geographic coordinates, longitude precedes latitude (this
-can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR, \fIW\fR).
-.IP "\fB\-z\fR \fIzone\fR" 4
-.IX Item "-z zone"
-prefix each line of input by \fIzone\fR, e.g., \f(CW\*(C`38n\*(C'\fR. This should be used
-when the input consists of \s-1UTM/UPS\s0 eastings and northings.
-.IP "\fB\-\-msltohae\fR" 4
-.IX Item "--msltohae"
-standard input should include a final token on each line which is
-treated as a height (in meters) above the geoid and the output echoes
-the input line with the height converted to height above ellipsoid
-(\s-1HAE\s0). If \fB\-z\fR \fIzone\fR is specified then the \fIthird\fR token is treated
-as the height; this makes it possible to convert \s-1LIDAR\s0 data where each
-line consists of: easting northing height intensity.
-.IP "\fB\-\-haetomsl\fR" 4
-.IX Item "--haetomsl"
-this is similar to \fB\-\-msltohae\fR except that the height token is treated
-as a height (in meters) above the ellipsoid and the output echoes the
-input line with the height converted to height above the geoid (\s-1MSL\s0).
-.IP "\fB\-v\fR" 4
-.IX Item "-v"
-print information about the geoid on standard error before processing
-the input.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage, the default geoid path and name, and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "GEOIDS"
-.IX Header "GEOIDS"
-\&\fBGeoidEval\fR computes geoid heights by interpolating on the data in a
-regularly spaced table (see \*(L"\s-1INTERPOLATION\*(R"\s0). The following geoid
-tables are available (however, some may not be installed):
-.PP
-.Vb 9
-\& bilinear error cubic error
-\& name geoid grid max rms max rms
-\& egm84\-30 EGM84 30\*(Aq 1.546 m 70 mm 0.274 m 14 mm
-\& egm84\-15 EGM84 15\*(Aq 0.413 m 18 mm 0.021 m 1.2 mm
-\& egm96\-15 EGM96 15\*(Aq 1.152 m 40 mm 0.169 m 7.0 mm
-\& egm96\-5 EGM96 5\*(Aq 0.140 m 4.6 mm .0032 m 0.7 mm
-\& egm2008\-5 EGM2008 5\*(Aq 0.478 m 12 mm 0.294 m 4.5 mm
-\& egm2008\-2_5 EGM2008 2.5\*(Aq 0.135 m 3.2 mm 0.031 m 0.8 mm
-\& egm2008\-1 EGM2008 1\*(Aq 0.025 m 0.8 mm .0022 m 0.7 mm
-.Ve
-.PP
-By default, the \f(CW\*(C`egm96\-5\*(C'\fR geoid is used. This may changed by setting
-the environment variable \f(CW\*(C`GEOGRAPHICLIB_GEOID_NAME\*(C'\fR or with the \fB\-n\fR
-option. The errors listed here are estimates of the quantization and
-interpolation errors in the reported heights compared to the specified
-geoid.
-.PP
-The geoid data will be loaded from a directory specified at compile
-time. This may changed by setting the environment variables
-\&\f(CW\*(C`GEOGRAPHICLIB_GEOID_PATH\*(C'\fR or \f(CW\*(C`GEOGRAPHICLIB_DATA\*(C'\fR, or with the \fB\-d\fR
-option. The \fB\-h\fR option prints the default geoid path and name. Use
-the \fB\-v\fR option to ascertain the full path name of the data file.
-.PP
-Instructions for downloading and installing geoid data are available at
-.
-.PP
-\&\fB\s-1NOTE\s0\fR: all the geoids above apply to the \s-1WGS84\s0 ellipsoid (\fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563) only.
-.SH "INTERPOLATION"
-.IX Header "INTERPOLATION"
-Cubic interpolation is used to compute the geoid height unless \fB\-l\fR is
-specified in which case bilinear interpolation is used. The cubic
-interpolation is based on a least-squares fit of a cubic polynomial to a
-12\-point stencil
-.PP
-.Vb 4
-\& . 1 1 .
-\& 1 2 2 1
-\& 1 2 2 1
-\& . 1 1 .
-.Ve
-.PP
-The cubic is constrained to be independent of longitude when evaluating
-the height at one of the poles. Cubic interpolation is considerably
-more accurate than bilinear; however it results in small discontinuities
-in the returned height on cell boundaries.
-.SH "CACHE"
-.IX Header "CACHE"
-By default, the data file is randomly read to compute the geoid heights
-at the input positions. Usually this is sufficient for interactive use.
-If many heights are to be computed, use \fB\-c\fR \fIsouth\fR \fIwest\fR \fInorth\fR
-\&\fIeast\fR to notify \fBGeoidEval\fR to read a rectangle of data into memory;
-heights within the this rectangle can then be computed without any disk
-access. If \fB\-a\fR is specified all the geoid data is read; in the case
-of \f(CW\*(C`egm2008\-1\*(C'\fR, this requires about 0.5 \s-1GB\s0 of \s-1RAM.\s0 The evaluation of
-heights outside the cached area causes the necessary data to be read
-from disk. Use the \fB\-v\fR option to verify the size of the cache.
-.PP
-Regardless of whether any cache is requested (with the \fB\-a\fR or \fB\-c\fR
-options), the data for the last grid cell in cached. This allows
-the geoid height along a continuous path to be returned with little
-disk overhead.
-.SH "ENVIRONMENT"
-.IX Header "ENVIRONMENT"
-.IP "\fB\s-1GEOGRAPHICLIB_GEOID_NAME\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_GEOID_NAME"
-Override the compile-time default geoid name of \f(CW\*(C`egm96\-5\*(C'\fR. The \fB\-h\fR
-option reports the value of \fB\s-1GEOGRAPHICLIB_GEOID_NAME\s0\fR, if defined,
-otherwise it reports the compile-time value. If the \fB\-n\fR \fIname\fR
-option is used, then \fIname\fR takes precedence.
-.IP "\fB\s-1GEOGRAPHICLIB_GEOID_PATH\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_GEOID_PATH"
-Override the compile-time default geoid path. This is typically
-\&\f(CW\*(C`/usr/local/share/GeographicLib/geoids\*(C'\fR on Unix-like systems and
-\&\f(CW\*(C`C:/ProgramData/GeographicLib/geoids\*(C'\fR on Windows systems. The \fB\-h\fR
-option reports the value of \fB\s-1GEOGRAPHICLIB_GEOID_PATH\s0\fR, if defined,
-otherwise it reports the compile-time value. If the \fB\-d\fR \fIdir\fR option
-is used, then \fIdir\fR takes precedence.
-.IP "\fB\s-1GEOGRAPHICLIB_DATA\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_DATA"
-Another way of overriding the compile-time default geoid path. If it
-is set (and if \fB\s-1GEOGRAPHICLIB_GEOID_PATH\s0\fR is not set), then
-$\fB\s-1GEOGRAPHICLIB_DATA\s0\fR/geoids is used.
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBGeoidEval\fR to return an exit code
-of 1. However, an error does not cause \fBGeoidEval\fR to terminate;
-following lines will be converted.
-.SH "ABBREVIATIONS"
-.IX Header "ABBREVIATIONS"
-The geoid is usually approximated by an \*(L"earth gravity model\*(R". The
-models published by the \s-1NGA\s0 are:
-.IP "\fB\s-1EGM84\s0\fR" 4
-.IX Item "EGM84"
-An earth gravity model published by the \s-1NGA\s0 in 1984,
-.
-.IP "\fB\s-1EGM96\s0\fR" 4
-.IX Item "EGM96"
-An earth gravity model published by the \s-1NGA\s0 in 1996,
-.
-.IP "\fB\s-1EGM2008\s0\fR" 4
-.IX Item "EGM2008"
-An earth gravity model published by the \s-1NGA\s0 in 2008,
-.
-.IP "\fB\s-1WGS84\s0\fR" 4
-.IX Item "WGS84"
-World Geodetic System 1984,
-.
-.IP "\fB\s-1HAE\s0\fR" 4
-.IX Item "HAE"
-Height above the \s-1WGS84\s0 ellipsoid.
-.IP "\fB\s-1MSL\s0\fR" 4
-.IX Item "MSL"
-Mean sea level, used as a convenient short hand for the geoid.
-(However, typically, the geoid differs by a few meters from mean sea
-level.)
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-The height of the \s-1EGM96\s0 geoid at Timbuktu
-.PP
-.Vb 2
-\& echo 16:46:33N 3:00:34W | GeoidEval
-\& => 28.7068 \-0.02e\-6 \-1.73e\-6
-.Ve
-.PP
-The first number returned is the height of the geoid and the 2nd and 3rd
-are its slopes in the northerly and easterly directions.
-.PP
-Convert a point in \s-1UTM\s0 zone 18n from \s-1MSL\s0 to \s-1HAE\s0
-.PP
-.Vb 2
-\& echo 531595 4468135 23 | GeoidEval \-\-msltohae \-z 18n
-\& => 531595 4468135 \-10.842
-.Ve
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIGeoConvert\fR\|(1), \fIGravity\fR\|(1), \fIgeographiclib\-get\-geoids\fR\|(8).
-.PP
-An online version of this utility is availbable at
-.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBGeoidEval\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBGeoidEval\fR was added to GeographicLib,
-, in 2009\-09.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.1.html b/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.1.html
deleted file mode 100644
index 58eb4d63a522f7e8ba35cc833d5eb75cc48de5ae..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.1.html
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-GeoidEval(1)
-
-
-
-
-
-
-
-
-
GeoidEval reads in positions on standard input and prints out the corresponding heights of the geoid above the WGS84 ellipsoid on standard output.
-
-
Positions are given as latitude and longitude, UTM/UPS, or MGRS, in any of the formats accepted by GeoConvert(1). (MGRS coordinates signify the center of the corresponding MGRS square.) If the -z option is specified then the specified zone is prepended to each line of input (which must be in UTM/UPS coordinates). This allows a file with UTM eastings and northings in a single zone to be used as standard input.
-
-
More accurate results for the geoid height are provided by Gravity(1). This utility can also compute the direction of gravity accurately.
-
-
The height of the geoid above the ellipsoid, N, is sometimes called the geoid undulation. It can be used to convert a height above the ellipsoid, h, to the corresponding height above the geoid (the orthometric height, roughly the height above mean sea level), H, using the relations
-
-
-
-
h = N + H, H = -N + h.
-
-
-
-
OPTIONS
-
-
-
-
-nname
-
-
-
use geoid name instead of the default egm96-5. See "GEOIDS".
-
-
-
-ddir
-
-
-
read geoid data from dir instead of the default. See "GEOIDS".
-
-
-
-l
-
-
-
use bilinear interpolation instead of cubic. See "INTERPOLATION".
cache the data bounded by southwestnortheast in memory. The first two arguments specify the SW corner of the cache and the last two arguments specify the NE corner. The -w flag specifies that longitude precedes latitude for these corners, provided that it appears before -c. See "CACHE".
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then when reading geographic coordinates, longitude precedes latitude (this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-zzone
-
-
-
prefix each line of input by zone, e.g., 38n. This should be used when the input consists of UTM/UPS eastings and northings.
-
-
-
--msltohae
-
-
-
standard input should include a final token on each line which is treated as a height (in meters) above the geoid and the output echoes the input line with the height converted to height above ellipsoid (HAE). If -zzone is specified then the third token is treated as the height; this makes it possible to convert LIDAR data where each line consists of: easting northing height intensity.
-
-
-
--haetomsl
-
-
-
this is similar to --msltohae except that the height token is treated as a height (in meters) above the ellipsoid and the output echoes the input line with the height converted to height above the geoid (MSL).
-
-
-
-v
-
-
-
print information about the geoid on standard error before processing the input.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage, the default geoid path and name, and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
GEOIDS
-
-
GeoidEval computes geoid heights by interpolating on the data in a regularly spaced table (see "INTERPOLATION"). The following geoid tables are available (however, some may not be installed):
-
-
bilinear error cubic error
- name geoid grid max rms max rms
- egm84-30 EGM84 30' 1.546 m 70 mm 0.274 m 14 mm
- egm84-15 EGM84 15' 0.413 m 18 mm 0.021 m 1.2 mm
- egm96-15 EGM96 15' 1.152 m 40 mm 0.169 m 7.0 mm
- egm96-5 EGM96 5' 0.140 m 4.6 mm .0032 m 0.7 mm
- egm2008-5 EGM2008 5' 0.478 m 12 mm 0.294 m 4.5 mm
- egm2008-2_5 EGM2008 2.5' 0.135 m 3.2 mm 0.031 m 0.8 mm
- egm2008-1 EGM2008 1' 0.025 m 0.8 mm .0022 m 0.7 mm
-
-
By default, the egm96-5 geoid is used. This may changed by setting the environment variable GEOGRAPHICLIB_GEOID_NAME or with the -n option. The errors listed here are estimates of the quantization and interpolation errors in the reported heights compared to the specified geoid.
-
-
The geoid data will be loaded from a directory specified at compile time. This may changed by setting the environment variables GEOGRAPHICLIB_GEOID_PATH or GEOGRAPHICLIB_DATA, or with the -d option. The -h option prints the default geoid path and name. Use the -v option to ascertain the full path name of the data file.
NOTE: all the geoids above apply to the WGS84 ellipsoid (a = 6378137 m, f = 1/298.257223563) only.
-
-
INTERPOLATION
-
-
Cubic interpolation is used to compute the geoid height unless -l is specified in which case bilinear interpolation is used. The cubic interpolation is based on a least-squares fit of a cubic polynomial to a 12-point stencil
-
-
. 1 1 .
- 1 2 2 1
- 1 2 2 1
- . 1 1 .
-
-
The cubic is constrained to be independent of longitude when evaluating the height at one of the poles. Cubic interpolation is considerably more accurate than bilinear; however it results in small discontinuities in the returned height on cell boundaries.
-
-
CACHE
-
-
By default, the data file is randomly read to compute the geoid heights at the input positions. Usually this is sufficient for interactive use. If many heights are to be computed, use -csouthwestnortheast to notify GeoidEval to read a rectangle of data into memory; heights within the this rectangle can then be computed without any disk access. If -a is specified all the geoid data is read; in the case of egm2008-1, this requires about 0.5 GB of RAM. The evaluation of heights outside the cached area causes the necessary data to be read from disk. Use the -v option to verify the size of the cache.
-
-
Regardless of whether any cache is requested (with the -a or -c options), the data for the last grid cell in cached. This allows the geoid height along a continuous path to be returned with little disk overhead.
-
-
ENVIRONMENT
-
-
-
-
GEOGRAPHICLIB_GEOID_NAME
-
-
-
Override the compile-time default geoid name of egm96-5. The -h option reports the value of GEOGRAPHICLIB_GEOID_NAME, if defined, otherwise it reports the compile-time value. If the -nname option is used, then name takes precedence.
-
-
-
GEOGRAPHICLIB_GEOID_PATH
-
-
-
Override the compile-time default geoid path. This is typically /usr/local/share/GeographicLib/geoids on Unix-like systems and C:/ProgramData/GeographicLib/geoids on Windows systems. The -h option reports the value of GEOGRAPHICLIB_GEOID_PATH, if defined, otherwise it reports the compile-time value. If the -ddir option is used, then dir takes precedence.
-
-
-
GEOGRAPHICLIB_DATA
-
-
-
Another way of overriding the compile-time default geoid path. If it is set (and if GEOGRAPHICLIB_GEOID_PATH is not set), then $GEOGRAPHICLIB_DATA/geoids is used.
-
-
-
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes GeoidEval to return an exit code of 1. However, an error does not cause GeoidEval to terminate; following lines will be converted.
-
-
ABBREVIATIONS
-
-
The geoid is usually approximated by an "earth gravity model". The models published by the NGA are:
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.usage b/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.usage
deleted file mode 100644
index d89ee5a8f0eeec933d5815dbd4a7420d0ac7a51e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/GeoidEval.usage
+++ /dev/null
@@ -1,270 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" GeoidEval [ -n name ] [ -d dir ] [ -l ] [ -a | -c south west north east\n"
-" ] [ -w ] [ -z zone ] [ --msltohae ] [ --haetomsl ] [ -v ] [\n"
-" --comment-delimiter commentdelim ] [ --version | -h | --help ] [\n"
-" --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" GeoidEval --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/GeoidEval.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" GeoidEval -- look up geoid heights\n"
-"\n"
-"SYNOPSIS\n"
-" GeoidEval [ -n name ] [ -d dir ] [ -l ] [ -a | -c south west north east\n"
-" ] [ -w ] [ -z zone ] [ --msltohae ] [ --haetomsl ] [ -v ] [\n"
-" --comment-delimiter commentdelim ] [ --version | -h | --help ] [\n"
-" --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" GeoidEval reads in positions on standard input and prints out the\n"
-" corresponding heights of the geoid above the WGS84 ellipsoid on\n"
-" standard output.\n"
-"\n"
-" Positions are given as latitude and longitude, UTM/UPS, or MGRS, in any\n"
-" of the formats accepted by GeoConvert(1). (MGRS coordinates signify\n"
-" the center of the corresponding MGRS square.) If the -z option is\n"
-" specified then the specified zone is prepended to each line of input\n"
-" (which must be in UTM/UPS coordinates). This allows a file with UTM\n"
-" eastings and northings in a single zone to be used as standard input.\n"
-"\n"
-" More accurate results for the geoid height are provided by Gravity(1).\n"
-" This utility can also compute the direction of gravity accurately.\n"
-"\n"
-" The height of the geoid above the ellipsoid, N, is sometimes called the\n"
-" geoid undulation. It can be used to convert a height above the\n"
-" ellipsoid, h, to the corresponding height above the geoid (the\n"
-" orthometric height, roughly the height above mean sea level), H, using\n"
-" the relations\n"
-"\n"
-" h = N + H, H = -N + h.\n"
-"\n"
-"OPTIONS\n"
-" -n name\n"
-" use geoid name instead of the default \"egm96-5\". See \"GEOIDS\".\n"
-"\n"
-" -d dir\n"
-" read geoid data from dir instead of the default. See \"GEOIDS\".\n"
-"\n"
-" -l use bilinear interpolation instead of cubic. See \"INTERPOLATION\".\n"
-"\n"
-" -a cache the entire data set in memory. See \"CACHE\".\n"
-"\n"
-" -c south west north east\n"
-" cache the data bounded by south west north east in memory. The\n"
-" first two arguments specify the SW corner of the cache and the last\n"
-" two arguments specify the NE corner. The -w flag specifies that\n"
-" longitude precedes latitude for these corners, provided that it\n"
-" appears before -c. See \"CACHE\".\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then when reading geographic coordinates, longitude precedes\n"
-" latitude (this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -z zone\n"
-" prefix each line of input by zone, e.g., \"38n\". This should be\n"
-" used when the input consists of UTM/UPS eastings and northings.\n"
-"\n"
-" --msltohae\n"
-" standard input should include a final token on each line which is\n"
-" treated as a height (in meters) above the geoid and the output\n"
-" echoes the input line with the height converted to height above\n"
-" ellipsoid (HAE). If -z zone is specified then the third token is\n"
-" treated as the height; this makes it possible to convert LIDAR data\n"
-" where each line consists of: easting northing height intensity.\n"
-"\n"
-" --haetomsl\n"
-" this is similar to --msltohae except that the height token is\n"
-" treated as a height (in meters) above the ellipsoid and the output\n"
-" echoes the input line with the height converted to height above the\n"
-" geoid (MSL).\n"
-"\n"
-" -v print information about the geoid on standard error before\n"
-" processing the input.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage, the default geoid path and name, and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"GEOIDS\n"
-" GeoidEval computes geoid heights by interpolating on the data in a\n"
-" regularly spaced table (see \"INTERPOLATION\"). The following geoid\n"
-" tables are available (however, some may not be installed):\n"
-"\n"
-" bilinear error cubic error\n"
-" name geoid grid max rms max rms\n"
-" egm84-30 EGM84 30' 1.546 m 70 mm 0.274 m 14 mm\n"
-" egm84-15 EGM84 15' 0.413 m 18 mm 0.021 m 1.2 mm\n"
-" egm96-15 EGM96 15' 1.152 m 40 mm 0.169 m 7.0 mm\n"
-" egm96-5 EGM96 5' 0.140 m 4.6 mm .0032 m 0.7 mm\n"
-" egm2008-5 EGM2008 5' 0.478 m 12 mm 0.294 m 4.5 mm\n"
-" egm2008-2_5 EGM2008 2.5' 0.135 m 3.2 mm 0.031 m 0.8 mm\n"
-" egm2008-1 EGM2008 1' 0.025 m 0.8 mm .0022 m 0.7 mm\n"
-"\n"
-" By default, the \"egm96-5\" geoid is used. This may changed by setting\n"
-" the environment variable \"GEOGRAPHICLIB_GEOID_NAME\" or with the -n\n"
-" option. The errors listed here are estimates of the quantization and\n"
-" interpolation errors in the reported heights compared to the specified\n"
-" geoid.\n"
-"\n"
-" The geoid data will be loaded from a directory specified at compile\n"
-" time. This may changed by setting the environment variables\n"
-" \"GEOGRAPHICLIB_GEOID_PATH\" or \"GEOGRAPHICLIB_DATA\", or with the -d\n"
-" option. The -h option prints the default geoid path and name. Use the\n"
-" -v option to ascertain the full path name of the data file.\n"
-"\n"
-" Instructions for downloading and installing geoid data are available at\n"
-" .\n"
-"\n"
-" NOTE: all the geoids above apply to the WGS84 ellipsoid (a = 6378137 m,\n"
-" f = 1/298.257223563) only.\n"
-"\n"
-"INTERPOLATION\n"
-" Cubic interpolation is used to compute the geoid height unless -l is\n"
-" specified in which case bilinear interpolation is used. The cubic\n"
-" interpolation is based on a least-squares fit of a cubic polynomial to\n"
-" a 12-point stencil\n"
-"\n"
-" . 1 1 .\n"
-" 1 2 2 1\n"
-" 1 2 2 1\n"
-" . 1 1 .\n"
-"\n"
-" The cubic is constrained to be independent of longitude when evaluating\n"
-" the height at one of the poles. Cubic interpolation is considerably\n"
-" more accurate than bilinear; however it results in small\n"
-" discontinuities in the returned height on cell boundaries.\n"
-"\n"
-"CACHE\n"
-" By default, the data file is randomly read to compute the geoid heights\n"
-" at the input positions. Usually this is sufficient for interactive\n"
-" use. If many heights are to be computed, use -c south west north east\n"
-" to notify GeoidEval to read a rectangle of data into memory; heights\n"
-" within the this rectangle can then be computed without any disk access.\n"
-" If -a is specified all the geoid data is read; in the case of\n"
-" \"egm2008-1\", this requires about 0.5 GB of RAM. The evaluation of\n"
-" heights outside the cached area causes the necessary data to be read\n"
-" from disk. Use the -v option to verify the size of the cache.\n"
-"\n"
-" Regardless of whether any cache is requested (with the -a or -c\n"
-" options), the data for the last grid cell in cached. This allows the\n"
-" geoid height along a continuous path to be returned with little disk\n"
-" overhead.\n"
-"\n"
-"ENVIRONMENT\n"
-" GEOGRAPHICLIB_GEOID_NAME\n"
-" Override the compile-time default geoid name of \"egm96-5\". The -h\n"
-" option reports the value of GEOGRAPHICLIB_GEOID_NAME, if defined,\n"
-" otherwise it reports the compile-time value. If the -n name option\n"
-" is used, then name takes precedence.\n"
-"\n"
-" GEOGRAPHICLIB_GEOID_PATH\n"
-" Override the compile-time default geoid path. This is typically\n"
-" \"/usr/local/share/GeographicLib/geoids\" on Unix-like systems and\n"
-" \"C:/ProgramData/GeographicLib/geoids\" on Windows systems. The -h\n"
-" option reports the value of GEOGRAPHICLIB_GEOID_PATH, if defined,\n"
-" otherwise it reports the compile-time value. If the -d dir option\n"
-" is used, then dir takes precedence.\n"
-"\n"
-" GEOGRAPHICLIB_DATA\n"
-" Another way of overriding the compile-time default geoid path. If\n"
-" it is set (and if GEOGRAPHICLIB_GEOID_PATH is not set), then\n"
-" $GEOGRAPHICLIB_DATA/geoids is used.\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes GeoidEval to return an exit code of\n"
-" 1. However, an error does not cause GeoidEval to terminate; following\n"
-" lines will be converted.\n"
-"\n"
-"ABBREVIATIONS\n"
-" The geoid is usually approximated by an \"earth gravity model\". The\n"
-" models published by the NGA are:\n"
-"\n"
-" EGM84\n"
-" An earth gravity model published by the NGA in 1984,\n"
-" .\n"
-"\n"
-" EGM96\n"
-" An earth gravity model published by the NGA in 1996,\n"
-" .\n"
-"\n"
-" EGM2008\n"
-" An earth gravity model published by the NGA in 2008,\n"
-" .\n"
-"\n"
-" WGS84\n"
-" World Geodetic System 1984, .\n"
-"\n"
-" HAE Height above the WGS84 ellipsoid.\n"
-"\n"
-" MSL Mean sea level, used as a convenient short hand for the geoid.\n"
-" (However, typically, the geoid differs by a few meters from mean\n"
-" sea level.)\n"
-"\n"
-"EXAMPLES\n"
-" The height of the EGM96 geoid at Timbuktu\n"
-"\n"
-" echo 16:46:33N 3:00:34W | GeoidEval\n"
-" => 28.7068 -0.02e-6 -1.73e-6\n"
-"\n"
-" The first number returned is the height of the geoid and the 2nd and\n"
-" 3rd are its slopes in the northerly and easterly directions.\n"
-"\n"
-" Convert a point in UTM zone 18n from MSL to HAE\n"
-"\n"
-" echo 531595 4468135 23 | GeoidEval --msltohae -z 18n\n"
-" => 531595 4468135 -10.842\n"
-"\n"
-"SEE ALSO\n"
-" GeoConvert(1), Gravity(1), geographiclib-get-geoids(8).\n"
-"\n"
-" An online version of this utility is availbable at\n"
-" .\n"
-"\n"
-"AUTHOR\n"
-" GeoidEval was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" GeoidEval was added to GeographicLib,\n"
-" , in 2009-09.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Gravity.1 b/libs/GeographicLib-1.50.1/BUILD/man/Gravity.1
deleted file mode 100644
index eca6c694cbacaa40aee2f3a6f9534c31d92ac654..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Gravity.1
+++ /dev/null
@@ -1,350 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "GRAVITY 1"
-.TH GRAVITY 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-Gravity \-\- compute the earth's gravity field
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBGravity\fR [ \fB\-n\fR \fIname\fR ] [ \fB\-d\fR \fIdir\fR ]
-[ \fB\-N\fR \fINmax\fR ] [ \fB\-M\fR \fIMmax\fR ]
-[ \fB\-G\fR | \fB\-D\fR | \fB\-A\fR | \fB\-H\fR ] [ \fB\-c\fR \fIlat\fR \fIh\fR ]
-[ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ]
-[ \fB\-v\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\&\fBGravity\fR reads in positions on standard input and prints out the
-gravitational field on standard output.
-.PP
-The input line is of the form \fIlat\fR \fIlon\fR \fIh\fR. \fIlat\fR and \fIlon\fR are
-the latitude and longitude expressed as decimal degrees or degrees,
-minutes, and seconds; for details on the allowed formats for latitude
-and longitude, see the \f(CW\*(C`GEOGRAPHIC COORDINATES\*(C'\fR section of
-\&\fIGeoConvert\fR\|(1). \fIh\fR is the height above the ellipsoid in meters; this
-quantity is optional and defaults to 0. Alternatively, the gravity
-field can be computed at various points on a circle of latitude
-(constant \fIlat\fR and \fIh\fR) via the \fB\-c\fR option; in this case only the
-longitude should be given on the input lines. The quantities printed
-out are governed by the \fB\-G\fR (default), \fB\-D\fR, \fB\-A\fR, or \fB\-H\fR options.
-.PP
-All the supported gravity models, except for grs80, use \s-1WGS84\s0 as the
-reference ellipsoid \fIa\fR = 6378137 m, \fIf\fR = 1/298.257223563, \fIomega\fR =
-7292115e\-11 rad/s, and \fI\s-1GM\s0\fR = 3986004.418e8 m^3/s^2.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-n\fR \fIname\fR" 4
-.IX Item "-n name"
-use gravity field model \fIname\fR instead of the default \f(CW\*(C`egm96\*(C'\fR. See
-\&\*(L"\s-1MODELS\*(R"\s0.
-.IP "\fB\-d\fR \fIdir\fR" 4
-.IX Item "-d dir"
-read gravity models from \fIdir\fR instead of the default. See
-\&\*(L"\s-1MODELS\*(R"\s0.
-.IP "\fB\-N\fR \fINmax\fR" 4
-.IX Item "-N Nmax"
-limit the degree of the model to \fINmax\fR.
-.IP "\fB\-M\fR \fIMmax\fR" 4
-.IX Item "-M Mmax"
-limit the order of the model to \fIMmax\fR.
-.IP "\fB\-G\fR" 4
-.IX Item "-G"
-compute the acceleration due to gravity (including the centrifugal
-acceleration due the the earth's rotation) \fBg\fR. The output consists of
-\&\fIgx\fR \fIgy\fR \fIgz\fR (all in m/s^2), where the \fIx\fR, \fIy\fR, and \fIz\fR
-components are in easterly, northerly, and up directions, respectively.
-Usually \fIgz\fR is negative.
-.IP "\fB\-D\fR" 4
-.IX Item "-D"
-compute the gravity disturbance \fBdelta\fR = \fBg\fR \- \fBgamma\fR, where
-\&\fBgamma\fR is the \*(L"normal\*(R" gravity due to the reference ellipsoid . The
-output consists of \fIdeltax\fR \fIdeltay\fR \fIdeltaz\fR (all in mGal, 1 mGal =
-10^\-5 m/s^2), where the \fIx\fR, \fIy\fR, and \fIz\fR components are in easterly,
-northerly, and up directions, respectively. Note that \fIdeltax\fR =
-\&\fIgx\fR, because \fIgammax\fR = 0.
-.IP "\fB\-A\fR" 4
-.IX Item "-A"
-computes the gravitational anomaly. The output consists of 3 items
-\&\fIDg01\fR \fIxi\fR \fIeta\fR, where \fIDg01\fR is in mGal (1 mGal = 10^\-5 m/s^2)
-and \fIxi\fR and \fIeta\fR are in arcseconds. The gravitational anomaly
-compares the gravitational field \fBg\fR at \fIP\fR with the normal gravity
-\&\fBgamma\fR at \fIQ\fR where the \fIP\fR is vertically above \fIQ\fR and the
-gravitational potential at \fIP\fR equals the normal potential at \fIQ\fR.
-\&\fIDg01\fR gives the difference in the magnitudes of these two vectors and
-\&\fIxi\fR and \fIeta\fR give the difference in their directions (as northerly
-and easterly components). The calculation uses a spherical
-approximation to match the results of the \s-1NGA\s0's synthesis programs.
-.IP "\fB\-H\fR" 4
-.IX Item "-H"
-compute the height of the geoid above the reference ellipsoid (in
-meters). In this case, \fIh\fR should be zero. The results accurately
-match the results of the \s-1NGA\s0's synthesis programs. \fIGeoidEval\fR\|(1) can
-compute geoid heights much more quickly by interpolating on a grid of
-precomputed results; however the results from \fIGeoidEval\fR\|(1) are only
-accurate to a few millimeters.
-.IP "\fB\-c\fR \fIlat\fR \fIh\fR" 4
-.IX Item "-c lat h"
-evaluate the field on a circle of latitude given by \fIlat\fR and \fIh\fR
-instead of reading these quantities from the input lines. In this case,
-\&\fBGravity\fR can calculate the field considerably more quickly. If geoid
-heights are being computed (the \fB\-H\fR option), then \fIh\fR must be zero.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR. By default \fIprec\fR is 5 for
-acceleration due to gravity, 3 for the gravity disturbance and anomaly,
-and 4 for the geoid height.
-.IP "\fB\-v\fR" 4
-.IX Item "-v"
-print information about the gravity model on standard error before
-processing the input.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage, the default gravity path and name, and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "MODELS"
-.IX Header "MODELS"
-\&\fBGravity\fR computes the gravity field using one of the following models
-.PP
-.Vb 10
-\& egm84, earth gravity model 1984. See
-\& http://earth\-info.nga.mil/GandG/wgs84/gravitymod/wgs84_180/wgs84_180.html
-\& egm96, earth gravity model 1996. See
-\& http://earth\-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
-\& egm2008, earth gravity model 2008. See
-\& http://earth\-info.nga.mil/GandG/wgs84/gravitymod/egm2008
-\& wgs84, world geodetic system 1984. This returns the normal
-\& gravity for the WGS84 ellipsoid.
-\& grs80, geodetic reference system 1980. This returns the normal
-\& gravity for the GRS80 ellipsoid.
-.Ve
-.PP
-These models approximate the gravitation field above the surface of the
-earth. By default, the \f(CW\*(C`egm96\*(C'\fR gravity model is used. This may
-changed by setting the environment variable
-\&\f(CW\*(C`GEOGRAPHICLIB_GRAVITY_NAME\*(C'\fR or with the \fB\-n\fR option.
-.PP
-The gravity models will be loaded from a directory specified at compile
-time. This may changed by setting the environment variables
-\&\f(CW\*(C`GEOGRAPHICLIB_GRAVITY_PATH\*(C'\fR or \f(CW\*(C`GEOGRAPHICLIB_DATA\*(C'\fR, or with the
-\&\fB\-d\fR option. The \fB\-h\fR option prints the default gravity path and
-name. Use the \fB\-v\fR option to ascertain the full path name of the data
-file.
-.PP
-Instructions for downloading and installing gravity models are available
-at .
-.SH "ENVIRONMENT"
-.IX Header "ENVIRONMENT"
-.IP "\fB\s-1GEOGRAPHICLIB_GRAVITY_NAME\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_GRAVITY_NAME"
-Override the compile-time default gravity name of \f(CW\*(C`egm96\*(C'\fR. The \fB\-h\fR
-option reports the value of \fB\s-1GEOGRAPHICLIB_GRAVITY_NAME\s0\fR, if defined,
-otherwise it reports the compile-time value. If the \fB\-n\fR \fIname\fR
-option is used, then \fIname\fR takes precedence.
-.IP "\fB\s-1GEOGRAPHICLIB_GRAVITY_PATH\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_GRAVITY_PATH"
-Override the compile-time default gravity path. This is typically
-\&\f(CW\*(C`/usr/local/share/GeographicLib/gravity\*(C'\fR on Unix-like systems and
-\&\f(CW\*(C`C:/ProgramData/GeographicLib/gravity\*(C'\fR on Windows systems. The \fB\-h\fR
-option reports the value of \fB\s-1GEOGRAPHICLIB_GRAVITY_PATH\s0\fR, if defined,
-otherwise it reports the compile-time value. If the \fB\-d\fR \fIdir\fR option
-is used, then \fIdir\fR takes precedence.
-.IP "\fB\s-1GEOGRAPHICLIB_DATA\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_DATA"
-Another way of overriding the compile-time default gravity path. If it
-is set (and if \fB\s-1GEOGRAPHICLIB_GRAVITY_PATH\s0\fR is not set), then
-$\fB\s-1GEOGRAPHICLIB_DATA\s0\fR/gravity is used.
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBGravity\fR to return an exit
-code of 1. However, an error does not cause \fBGravity\fR to
-terminate; following lines will be converted.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-The gravity field from \s-1EGM2008\s0 at the top of Mount Everest
-.PP
-.Vb 2
-\& echo 27:59:17N 86:55:32E 8820 | Gravity \-n egm2008
-\& => \-0.00001 0.00103 \-9.76782
-.Ve
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIGeoConvert\fR\|(1), \fIGeoidEval\fR\|(1), \fIgeographiclib\-get\-gravity\fR\|(8).
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBGravity\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBGravity\fR was added to GeographicLib, ,
-in version 1.16.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Gravity.1.html b/libs/GeographicLib-1.50.1/BUILD/man/Gravity.1.html
deleted file mode 100644
index bbd6f31c2e619fc87b4e821c02b636ef1ed532f6..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Gravity.1.html
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
-
-
-Gravity(1)
-
-
-
-
-
-
-
-
-
Gravity reads in positions on standard input and prints out the gravitational field on standard output.
-
-
The input line is of the form latlonh. lat and lon are the latitude and longitude expressed as decimal degrees or degrees, minutes, and seconds; for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). h is the height above the ellipsoid in meters; this quantity is optional and defaults to 0. Alternatively, the gravity field can be computed at various points on a circle of latitude (constant lat and h) via the -c option; in this case only the longitude should be given on the input lines. The quantities printed out are governed by the -G (default), -D, -A, or -H options.
-
-
All the supported gravity models, except for grs80, use WGS84 as the reference ellipsoid a = 6378137 m, f = 1/298.257223563, omega = 7292115e-11 rad/s, and GM = 3986004.418e8 m^3/s^2.
-
-
OPTIONS
-
-
-
-
-nname
-
-
-
use gravity field model name instead of the default egm96. See "MODELS".
-
-
-
-ddir
-
-
-
read gravity models from dir instead of the default. See "MODELS".
-
-
-
-NNmax
-
-
-
limit the degree of the model to Nmax.
-
-
-
-MMmax
-
-
-
limit the order of the model to Mmax.
-
-
-
-G
-
-
-
compute the acceleration due to gravity (including the centrifugal acceleration due the the earth's rotation) g. The output consists of gxgygz (all in m/s^2), where the x, y, and z components are in easterly, northerly, and up directions, respectively. Usually gz is negative.
-
-
-
-D
-
-
-
compute the gravity disturbance delta = g - gamma, where gamma is the "normal" gravity due to the reference ellipsoid . The output consists of deltaxdeltaydeltaz (all in mGal, 1 mGal = 10^-5 m/s^2), where the x, y, and z components are in easterly, northerly, and up directions, respectively. Note that deltax = gx, because gammax = 0.
-
-
-
-A
-
-
-
computes the gravitational anomaly. The output consists of 3 items Dg01xieta, where Dg01 is in mGal (1 mGal = 10^-5 m/s^2) and xi and eta are in arcseconds. The gravitational anomaly compares the gravitational field g at P with the normal gravity gamma at Q where the P is vertically above Q and the gravitational potential at P equals the normal potential at Q. Dg01 gives the difference in the magnitudes of these two vectors and xi and eta give the difference in their directions (as northerly and easterly components). The calculation uses a spherical approximation to match the results of the NGA's synthesis programs.
-
-
-
-H
-
-
-
compute the height of the geoid above the reference ellipsoid (in meters). In this case, h should be zero. The results accurately match the results of the NGA's synthesis programs. GeoidEval(1) can compute geoid heights much more quickly by interpolating on a grid of precomputed results; however the results from GeoidEval(1) are only accurate to a few millimeters.
-
-
-
-clath
-
-
-
evaluate the field on a circle of latitude given by lat and h instead of reading these quantities from the input lines. In this case, Gravity can calculate the field considerably more quickly. If geoid heights are being computed (the -H option), then h must be zero.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec. By default prec is 5 for acceleration due to gravity, 3 for the gravity disturbance and anomaly, and 4 for the geoid height.
-
-
-
-v
-
-
-
print information about the gravity model on standard error before processing the input.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage, the default gravity path and name, and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
MODELS
-
-
Gravity computes the gravity field using one of the following models
-
-
egm84, earth gravity model 1984. See
- http://earth-info.nga.mil/GandG/wgs84/gravitymod/wgs84_180/wgs84_180.html
- egm96, earth gravity model 1996. See
- http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
- egm2008, earth gravity model 2008. See
- http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008
- wgs84, world geodetic system 1984. This returns the normal
- gravity for the WGS84 ellipsoid.
- grs80, geodetic reference system 1980. This returns the normal
- gravity for the GRS80 ellipsoid.
-
-
These models approximate the gravitation field above the surface of the earth. By default, the egm96 gravity model is used. This may changed by setting the environment variable GEOGRAPHICLIB_GRAVITY_NAME or with the -n option.
-
-
The gravity models will be loaded from a directory specified at compile time. This may changed by setting the environment variables GEOGRAPHICLIB_GRAVITY_PATH or GEOGRAPHICLIB_DATA, or with the -d option. The -h option prints the default gravity path and name. Use the -v option to ascertain the full path name of the data file.
Override the compile-time default gravity name of egm96. The -h option reports the value of GEOGRAPHICLIB_GRAVITY_NAME, if defined, otherwise it reports the compile-time value. If the -nname option is used, then name takes precedence.
-
-
-
GEOGRAPHICLIB_GRAVITY_PATH
-
-
-
Override the compile-time default gravity path. This is typically /usr/local/share/GeographicLib/gravity on Unix-like systems and C:/ProgramData/GeographicLib/gravity on Windows systems. The -h option reports the value of GEOGRAPHICLIB_GRAVITY_PATH, if defined, otherwise it reports the compile-time value. If the -ddir option is used, then dir takes precedence.
-
-
-
GEOGRAPHICLIB_DATA
-
-
-
Another way of overriding the compile-time default gravity path. If it is set (and if GEOGRAPHICLIB_GRAVITY_PATH is not set), then $GEOGRAPHICLIB_DATA/gravity is used.
-
-
-
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes Gravity to return an exit code of 1. However, an error does not cause Gravity to terminate; following lines will be converted.
-
-
EXAMPLES
-
-
The gravity field from EGM2008 at the top of Mount Everest
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Gravity.usage b/libs/GeographicLib-1.50.1/BUILD/man/Gravity.usage
deleted file mode 100644
index 9f3e84c75b587f7381b4ddfae5dc5a9f515566b4..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Gravity.usage
+++ /dev/null
@@ -1,215 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" Gravity [ -n name ] [ -d dir ] [ -N Nmax ] [ -M Mmax ] [ -G | -D | -A |\n"
-" -H ] [ -c lat h ] [ -w ] [ -p prec ] [ -v ] [ --comment-delimiter\n"
-" commentdelim ] [ --version | -h | --help ] [ --input-file infile |\n"
-" --input-string instring ] [ --line-separator linesep ] [ --output-file\n"
-" outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" Gravity --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/Gravity.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" Gravity -- compute the earth's gravity field\n"
-"\n"
-"SYNOPSIS\n"
-" Gravity [ -n name ] [ -d dir ] [ -N Nmax ] [ -M Mmax ] [ -G | -D | -A |\n"
-" -H ] [ -c lat h ] [ -w ] [ -p prec ] [ -v ] [ --comment-delimiter\n"
-" commentdelim ] [ --version | -h | --help ] [ --input-file infile |\n"
-" --input-string instring ] [ --line-separator linesep ] [ --output-file\n"
-" outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" Gravity reads in positions on standard input and prints out the\n"
-" gravitational field on standard output.\n"
-"\n"
-" The input line is of the form lat lon h. lat and lon are the latitude\n"
-" and longitude expressed as decimal degrees or degrees, minutes, and\n"
-" seconds; for details on the allowed formats for latitude and longitude,\n"
-" see the \"GEOGRAPHIC COORDINATES\" section of GeoConvert(1). h is the\n"
-" height above the ellipsoid in meters; this quantity is optional and\n"
-" defaults to 0. Alternatively, the gravity field can be computed at\n"
-" various points on a circle of latitude (constant lat and h) via the -c\n"
-" option; in this case only the longitude should be given on the input\n"
-" lines. The quantities printed out are governed by the -G (default),\n"
-" -D, -A, or -H options.\n"
-"\n"
-" All the supported gravity models, except for grs80, use WGS84 as the\n"
-" reference ellipsoid a = 6378137 m, f = 1/298.257223563, omega =\n"
-" 7292115e-11 rad/s, and GM = 3986004.418e8 m^3/s^2.\n"
-"\n"
-"OPTIONS\n"
-" -n name\n"
-" use gravity field model name instead of the default \"egm96\". See\n"
-" \"MODELS\".\n"
-"\n"
-" -d dir\n"
-" read gravity models from dir instead of the default. See \"MODELS\".\n"
-"\n"
-" -N Nmax\n"
-" limit the degree of the model to Nmax.\n"
-"\n"
-" -M Mmax\n"
-" limit the order of the model to Mmax.\n"
-"\n"
-" -G compute the acceleration due to gravity (including the centrifugal\n"
-" acceleration due the the earth's rotation) g. The output consists\n"
-" of gx gy gz (all in m/s^2), where the x, y, and z components are in\n"
-" easterly, northerly, and up directions, respectively. Usually gz\n"
-" is negative.\n"
-"\n"
-" -D compute the gravity disturbance delta = g - gamma, where gamma is\n"
-" the \"normal\" gravity due to the reference ellipsoid . The output\n"
-" consists of deltax deltay deltaz (all in mGal, 1 mGal = 10^-5\n"
-" m/s^2), where the x, y, and z components are in easterly,\n"
-" northerly, and up directions, respectively. Note that deltax = gx,\n"
-" because gammax = 0.\n"
-"\n"
-" -A computes the gravitational anomaly. The output consists of 3 items\n"
-" Dg01 xi eta, where Dg01 is in mGal (1 mGal = 10^-5 m/s^2) and xi\n"
-" and eta are in arcseconds. The gravitational anomaly compares the\n"
-" gravitational field g at P with the normal gravity gamma at Q where\n"
-" the P is vertically above Q and the gravitational potential at P\n"
-" equals the normal potential at Q. Dg01 gives the difference in the\n"
-" magnitudes of these two vectors and xi and eta give the difference\n"
-" in their directions (as northerly and easterly components). The\n"
-" calculation uses a spherical approximation to match the results of\n"
-" the NGA's synthesis programs.\n"
-"\n"
-" -H compute the height of the geoid above the reference ellipsoid (in\n"
-" meters). In this case, h should be zero. The results accurately\n"
-" match the results of the NGA's synthesis programs. GeoidEval(1)\n"
-" can compute geoid heights much more quickly by interpolating on a\n"
-" grid of precomputed results; however the results from GeoidEval(1)\n"
-" are only accurate to a few millimeters.\n"
-"\n"
-" -c lat h\n"
-" evaluate the field on a circle of latitude given by lat and h\n"
-" instead of reading these quantities from the input lines. In this\n"
-" case, Gravity can calculate the field considerably more quickly.\n"
-" If geoid heights are being computed (the -H option), then h must be\n"
-" zero.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec. By default prec is 5 for\n"
-" acceleration due to gravity, 3 for the gravity disturbance and\n"
-" anomaly, and 4 for the geoid height.\n"
-"\n"
-" -v print information about the gravity model on standard error before\n"
-" processing the input.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage, the default gravity path and name, and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"MODELS\n"
-" Gravity computes the gravity field using one of the following models\n"
-"\n"
-" egm84, earth gravity model 1984. See\n"
-" http://earth-info.nga.mil/GandG/wgs84/gravitymod/wgs84_180/wgs84_180.html\n"
-" egm96, earth gravity model 1996. See\n"
-" http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html\n"
-" egm2008, earth gravity model 2008. See\n"
-" http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm2008\n"
-" wgs84, world geodetic system 1984. This returns the normal\n"
-" gravity for the WGS84 ellipsoid.\n"
-" grs80, geodetic reference system 1980. This returns the normal\n"
-" gravity for the GRS80 ellipsoid.\n"
-"\n"
-" These models approximate the gravitation field above the surface of the\n"
-" earth. By default, the \"egm96\" gravity model is used. This may\n"
-" changed by setting the environment variable\n"
-" \"GEOGRAPHICLIB_GRAVITY_NAME\" or with the -n option.\n"
-"\n"
-" The gravity models will be loaded from a directory specified at compile\n"
-" time. This may changed by setting the environment variables\n"
-" \"GEOGRAPHICLIB_GRAVITY_PATH\" or \"GEOGRAPHICLIB_DATA\", or with the -d\n"
-" option. The -h option prints the default gravity path and name. Use\n"
-" the -v option to ascertain the full path name of the data file.\n"
-"\n"
-" Instructions for downloading and installing gravity models are\n"
-" available at\n"
-" .\n"
-"\n"
-"ENVIRONMENT\n"
-" GEOGRAPHICLIB_GRAVITY_NAME\n"
-" Override the compile-time default gravity name of \"egm96\". The -h\n"
-" option reports the value of GEOGRAPHICLIB_GRAVITY_NAME, if defined,\n"
-" otherwise it reports the compile-time value. If the -n name option\n"
-" is used, then name takes precedence.\n"
-"\n"
-" GEOGRAPHICLIB_GRAVITY_PATH\n"
-" Override the compile-time default gravity path. This is typically\n"
-" \"/usr/local/share/GeographicLib/gravity\" on Unix-like systems and\n"
-" \"C:/ProgramData/GeographicLib/gravity\" on Windows systems. The -h\n"
-" option reports the value of GEOGRAPHICLIB_GRAVITY_PATH, if defined,\n"
-" otherwise it reports the compile-time value. If the -d dir option\n"
-" is used, then dir takes precedence.\n"
-"\n"
-" GEOGRAPHICLIB_DATA\n"
-" Another way of overriding the compile-time default gravity path.\n"
-" If it is set (and if GEOGRAPHICLIB_GRAVITY_PATH is not set), then\n"
-" $GEOGRAPHICLIB_DATA/gravity is used.\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes Gravity to return an exit code of 1.\n"
-" However, an error does not cause Gravity to terminate; following lines\n"
-" will be converted.\n"
-"\n"
-"EXAMPLES\n"
-" The gravity field from EGM2008 at the top of Mount Everest\n"
-"\n"
-" echo 27:59:17N 86:55:32E 8820 | Gravity -n egm2008\n"
-" => -0.00001 0.00103 -9.76782\n"
-"\n"
-"SEE ALSO\n"
-" GeoConvert(1), GeoidEval(1), geographiclib-get-gravity(8).\n"
-"\n"
-"AUTHOR\n"
-" Gravity was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" Gravity was added to GeographicLib,\n"
-" , in version 1.16.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.1 b/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.1
deleted file mode 100644
index 28bb851e3b90d9fd9810e85140f539b21727f46e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.1
+++ /dev/null
@@ -1,380 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "MAGNETICFIELD 1"
-.TH MAGNETICFIELD 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-MagneticField \-\- compute the earth's magnetic field
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBMagneticField\fR [ \fB\-n\fR \fIname\fR ] [ \fB\-d\fR \fIdir\fR ]
-[ \fB\-N\fR \fINmax\fR ] [ \fB\-M\fR \fIMmax\fR ]
-[ \fB\-t\fR \fItime\fR | \fB\-c\fR \fItime\fR \fIlat\fR \fIh\fR ]
-[ \fB\-r\fR ] [ \fB\-w\fR ] [ \fB\-T\fR \fItguard\fR ] [ \fB\-H\fR \fIhguard\fR ] [ \fB\-p\fR \fIprec\fR ]
-[ \fB\-v\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\&\fBMagneticField\fR reads in times and positions on standard input and
-prints out the geomagnetic field on standard output and, optionally, its
-rate of change.
-.PP
-The input line is of the form \fItime\fR \fIlat\fR \fIlon\fR \fIh\fR. \fItime\fR is a
-date of the form 2012\-07\-03, a fractional year such as 2012.5, or the
-string \*(L"now\*(R". \fIlat\fR and \fIlon\fR are the latitude and longitude
-expressed as decimal degrees or degrees, minutes, and seconds; for
-details on the allowed formats for latitude and longitude, see the
-\&\f(CW\*(C`GEOGRAPHIC COORDINATES\*(C'\fR section of \fIGeoConvert\fR\|(1). \fIh\fR is the height
-above the ellipsoid in meters; this is optional and defaults to zero.
-Alternatively, \fItime\fR can be given on the command line as the argument
-to the \fB\-t\fR option, in which case it should not be included on the
-input lines. Finally, the magnetic field can be computed at various
-points on a circle of latitude (constant \fItime\fR, \fIlat\fR, and \fIh\fR) via
-the \fB\-c\fR option; in this case only the longitude should be given on the
-input lines.
-.PP
-The output consists of the following 7 items:
-.PP
-.Vb 9
-\& the declination (the direction of the horizontal component of
-\& the magnetic field measured clockwise from north) in degrees,
-\& the inclination (the direction of the magnetic field measured
-\& down from the horizontal) in degrees,
-\& the horizontal field in nanotesla (nT),
-\& the north component of the field in nT,
-\& the east component of the field in nT,
-\& the vertical component of the field in nT (down is positive),
-\& the total field in nT.
-.Ve
-.PP
-If the \fB\-r\fR option is given, a second line is printed giving the rates
-of change of these quantities in degrees/yr and nT/yr.
-.PP
-The \s-1WGS84\s0 ellipsoid is used, \fIa\fR = 6378137 m, \fIf\fR = 1/298.257223563.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-n\fR \fIname\fR" 4
-.IX Item "-n name"
-use magnetic field model \fIname\fR instead of the default \f(CW\*(C`wmm2020\*(C'\fR. See
-\&\*(L"\s-1MODELS\*(R"\s0.
-.IP "\fB\-d\fR \fIdir\fR" 4
-.IX Item "-d dir"
-read magnetic models from \fIdir\fR instead of the default. See
-\&\*(L"\s-1MODELS\*(R"\s0.
-.IP "\fB\-N\fR \fINmax\fR" 4
-.IX Item "-N Nmax"
-limit the degree of the model to \fINmax\fR.
-.IP "\fB\-M\fR \fIMmax\fR" 4
-.IX Item "-M Mmax"
-limit the order of the model to \fIMmax\fR.
-.IP "\fB\-t\fR \fItime\fR" 4
-.IX Item "-t time"
-evaluate the field at \fItime\fR instead of reading the time from the input
-lines.
-.IP "\fB\-c\fR \fItime\fR \fIlat\fR \fIh\fR" 4
-.IX Item "-c time lat h"
-evaluate the field on a circle of latitude given by \fItime\fR, \fIlat\fR,
-\&\fIh\fR instead of reading these quantities from the input lines. In this
-case, \fBMagneticField\fR can calculate the field considerably more
-quickly.
-.IP "\fB\-r\fR" 4
-.IX Item "-r"
-toggle whether to report the rates of change of the field.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-on input and output, longitude precedes latitude (except that, on input,
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-T\fR \fItguard\fR" 4
-.IX Item "-T tguard"
-signal an error if \fItime\fR lies \fItguard\fR years (default 50 yr) beyond
-the range for the model.
-.IP "\fB\-H\fR \fIhguard\fR" 4
-.IX Item "-H hguard"
-signal an error if \fIh\fR lies \fIhguard\fR meters (default 500000 m) beyond
-the range for the model.
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 1). Fields are printed
-with precision with \fIprec\fR decimal places; angles use \fIprec\fR + 1
-places.
-.IP "\fB\-v\fR" 4
-.IX Item "-v"
-print information about the magnetic model on standard error before
-processing the input.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage, the default magnetic path and name, and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "MODELS"
-.IX Header "MODELS"
-\&\fBMagneticField\fR computes the geomagnetic field using one of the
-following models
-.PP
-.Vb 10
-\& wmm2010, the World Magnetic Model 2010, which approximates the
-\& main magnetic field for the period 2010\-2015. See
-\& https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
-\& wmm2015v2, the World Magnetic Model 2015, which approximates the
-\& main magnetic field for the period 2015\-2020. See
-\& https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
-\& wmm2015, a deprecated version of wmm2015v2
-\& wmm2020, the World Magnetic Model 2020, which approximates the
-\& main magnetic field for the period 2020\-2025. See
-\& https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
-\& igrf11, the International Geomagnetic Reference Field (11th
-\& generation), which approximates the main magnetic field for
-\& the period 1900\-2015. See
-\& https://ngdc.noaa.gov/IAGA/vmod/igrf.html
-\& igrf12, the International Geomagnetic Reference Field (12th
-\& generation), which approximates the main magnetic field for
-\& the period 1900\-2020. See
-\& https://ngdc.noaa.gov/IAGA/vmod/igrf.html
-\& emm2010, the Enhanced Magnetic Model 2010, which approximates
-\& the main and crustal magnetic fields for the period 2010\-2015.
-\& See https://ngdc.noaa.gov/geomag/EMM/index.html
-\& emm2015, the Enhanced Magnetic Model 2015, which approximates
-\& the main and crustal magnetic fields for the period 2000\-2020.
-\& See https://ngdc.noaa.gov/geomag/EMM/index.html
-\& emm2017, the Enhanced Magnetic Model 2017, which approximates
-\& the main and crustal magnetic fields for the period 2000\-2022.
-\& See https://ngdc.noaa.gov/geomag/EMM/index.html
-.Ve
-.PP
-These models approximate the magnetic field due to the earth's core and
-(in the case of emm20xx) its crust. They neglect magnetic fields due to
-the ionosphere, the magnetosphere, nearby magnetized materials,
-electrical machinery, etc.
-.PP
-By default, the \f(CW\*(C`wmm2020\*(C'\fR magnetic model is used. This may changed by
-setting the environment variable \f(CW\*(C`GEOGRAPHICLIB_MAGNETIC_NAME\*(C'\fR or with
-the \fB\-n\fR option.
-.PP
-The magnetic models will be loaded from a directory specified at compile
-time. This may changed by setting the environment variables
-\&\f(CW\*(C`GEOGRAPHICLIB_MAGNETIC_PATH\*(C'\fR or \f(CW\*(C`GEOGRAPHICLIB_DATA\*(C'\fR, or with the
-\&\fB\-d\fR option. The \fB\-h\fR option prints the default magnetic path and
-name. Use the \fB\-v\fR option to ascertain the full path name of the data
-file.
-.PP
-Instructions for downloading and installing magnetic models are
-available at
-.
-.SH "ENVIRONMENT"
-.IX Header "ENVIRONMENT"
-.IP "\fB\s-1GEOGRAPHICLIB_MAGNETIC_NAME\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_MAGNETIC_NAME"
-Override the compile-time default magnetic name of \f(CW\*(C`wmm2020\*(C'\fR. The
-\&\fB\-h\fR option reports the value of \fB\s-1GEOGRAPHICLIB_MAGNETIC_NAME\s0\fR, if
-defined, otherwise it reports the compile-time value. If the \fB\-n\fR
-\&\fIname\fR option is used, then \fIname\fR takes precedence.
-.IP "\fB\s-1GEOGRAPHICLIB_MAGNETIC_PATH\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_MAGNETIC_PATH"
-Override the compile-time default magnetic path. This is typically
-\&\f(CW\*(C`/usr/local/share/GeographicLib/magnetic\*(C'\fR on Unix-like systems and
-\&\f(CW\*(C`C:/ProgramData/GeographicLib/magnetic\*(C'\fR on Windows systems. The \fB\-h\fR
-option reports the value of \fB\s-1GEOGRAPHICLIB_MAGNETIC_PATH\s0\fR, if defined,
-otherwise it reports the compile-time value. If the \fB\-d\fR \fIdir\fR option
-is used, then \fIdir\fR takes precedence.
-.IP "\fB\s-1GEOGRAPHICLIB_DATA\s0\fR" 4
-.IX Item "GEOGRAPHICLIB_DATA"
-Another way of overriding the compile-time default magnetic path. If it
-is set (and if \fB\s-1GEOGRAPHICLIB_MAGNETIC_PATH\s0\fR is not set), then
-$\fB\s-1GEOGRAPHICLIB_DATA\s0\fR/magnetic is used.
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBMagneticField\fR to return an exit
-code of 1. However, an error does not cause \fBMagneticField\fR to
-terminate; following lines will be converted. If \fItime\fR or \fIh\fR are
-outside the recommended ranges for the model (but inside the ranges
-increase by \fItguard\fR and \fIhguard\fR), a warning is printed on standard
-error and the field (which may be inaccurate) is returned in the normal
-way.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-The magnetic field from \s-1WMM2020\s0 in Timbuktu on 2020\-01\-01
-.PP
-.Vb 3
-\& echo 2020\-01\-01 16:46:33N 3:00:34W 300 | MagneticField \-r
-\& => \-1.60 12.00 33973.5 33960.3 \-948.1 7223.0 34732.8
-\& 0.13 \-0.02 21.8 23.9 77.9 \-8.4 19.5
-.Ve
-.PP
-The first two numbers returned are the declination and inclination of
-the field. The second line gives the annual change.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIGeoConvert\fR\|(1), \fIgeographiclib\-get\-magnetic\fR\|(8).
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBMagneticField\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBMagneticField\fR was added to GeographicLib,
-, in version 1.15.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.1.html b/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.1.html
deleted file mode 100644
index f8215497babbb5d99decfe984ab38ee27dda3782..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.1.html
+++ /dev/null
@@ -1,265 +0,0 @@
-
-
-
-
-MagneticField(1)
-
-
-
-
-
-
-
-
-
NAME
-
-
MagneticField -- compute the earth's magnetic field
MagneticField reads in times and positions on standard input and prints out the geomagnetic field on standard output and, optionally, its rate of change.
-
-
The input line is of the form timelatlonh. time is a date of the form 2012-07-03, a fractional year such as 2012.5, or the string "now". lat and lon are the latitude and longitude expressed as decimal degrees or degrees, minutes, and seconds; for details on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). h is the height above the ellipsoid in meters; this is optional and defaults to zero. Alternatively, time can be given on the command line as the argument to the -t option, in which case it should not be included on the input lines. Finally, the magnetic field can be computed at various points on a circle of latitude (constant time, lat, and h) via the -c option; in this case only the longitude should be given on the input lines.
-
-
The output consists of the following 7 items:
-
-
the declination (the direction of the horizontal component of
- the magnetic field measured clockwise from north) in degrees,
- the inclination (the direction of the magnetic field measured
- down from the horizontal) in degrees,
- the horizontal field in nanotesla (nT),
- the north component of the field in nT,
- the east component of the field in nT,
- the vertical component of the field in nT (down is positive),
- the total field in nT.
-
-
If the -r option is given, a second line is printed giving the rates of change of these quantities in degrees/yr and nT/yr.
-
-
The WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
OPTIONS
-
-
-
-
-nname
-
-
-
use magnetic field model name instead of the default wmm2020. See "MODELS".
-
-
-
-ddir
-
-
-
read magnetic models from dir instead of the default. See "MODELS".
-
-
-
-NNmax
-
-
-
limit the degree of the model to Nmax.
-
-
-
-MMmax
-
-
-
limit the order of the model to Mmax.
-
-
-
-ttime
-
-
-
evaluate the field at time instead of reading the time from the input lines.
-
-
-
-ctimelath
-
-
-
evaluate the field on a circle of latitude given by time, lat, h instead of reading these quantities from the input lines. In this case, MagneticField can calculate the field considerably more quickly.
-
-
-
-r
-
-
-
toggle whether to report the rates of change of the field.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then on input and output, longitude precedes latitude (except that, on input, this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-Ttguard
-
-
-
signal an error if time lies tguard years (default 50 yr) beyond the range for the model.
-
-
-
-Hhguard
-
-
-
signal an error if h lies hguard meters (default 500000 m) beyond the range for the model.
-
-
-
-pprec
-
-
-
set the output precision to prec (default 1). Fields are printed with precision with prec decimal places; angles use prec + 1 places.
-
-
-
-v
-
-
-
print information about the magnetic model on standard error before processing the input.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage, the default magnetic path and name, and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
MODELS
-
-
MagneticField computes the geomagnetic field using one of the following models
-
-
wmm2010, the World Magnetic Model 2010, which approximates the
- main magnetic field for the period 2010-2015. See
- https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
- wmm2015v2, the World Magnetic Model 2015, which approximates the
- main magnetic field for the period 2015-2020. See
- https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
- wmm2015, a deprecated version of wmm2015v2
- wmm2020, the World Magnetic Model 2020, which approximates the
- main magnetic field for the period 2020-2025. See
- https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml
- igrf11, the International Geomagnetic Reference Field (11th
- generation), which approximates the main magnetic field for
- the period 1900-2015. See
- https://ngdc.noaa.gov/IAGA/vmod/igrf.html
- igrf12, the International Geomagnetic Reference Field (12th
- generation), which approximates the main magnetic field for
- the period 1900-2020. See
- https://ngdc.noaa.gov/IAGA/vmod/igrf.html
- emm2010, the Enhanced Magnetic Model 2010, which approximates
- the main and crustal magnetic fields for the period 2010-2015.
- See https://ngdc.noaa.gov/geomag/EMM/index.html
- emm2015, the Enhanced Magnetic Model 2015, which approximates
- the main and crustal magnetic fields for the period 2000-2020.
- See https://ngdc.noaa.gov/geomag/EMM/index.html
- emm2017, the Enhanced Magnetic Model 2017, which approximates
- the main and crustal magnetic fields for the period 2000-2022.
- See https://ngdc.noaa.gov/geomag/EMM/index.html
-
-
These models approximate the magnetic field due to the earth's core and (in the case of emm20xx) its crust. They neglect magnetic fields due to the ionosphere, the magnetosphere, nearby magnetized materials, electrical machinery, etc.
-
-
By default, the wmm2020 magnetic model is used. This may changed by setting the environment variable GEOGRAPHICLIB_MAGNETIC_NAME or with the -n option.
-
-
The magnetic models will be loaded from a directory specified at compile time. This may changed by setting the environment variables GEOGRAPHICLIB_MAGNETIC_PATH or GEOGRAPHICLIB_DATA, or with the -d option. The -h option prints the default magnetic path and name. Use the -v option to ascertain the full path name of the data file.
Override the compile-time default magnetic name of wmm2020. The -h option reports the value of GEOGRAPHICLIB_MAGNETIC_NAME, if defined, otherwise it reports the compile-time value. If the -nname option is used, then name takes precedence.
-
-
-
GEOGRAPHICLIB_MAGNETIC_PATH
-
-
-
Override the compile-time default magnetic path. This is typically /usr/local/share/GeographicLib/magnetic on Unix-like systems and C:/ProgramData/GeographicLib/magnetic on Windows systems. The -h option reports the value of GEOGRAPHICLIB_MAGNETIC_PATH, if defined, otherwise it reports the compile-time value. If the -ddir option is used, then dir takes precedence.
-
-
-
GEOGRAPHICLIB_DATA
-
-
-
Another way of overriding the compile-time default magnetic path. If it is set (and if GEOGRAPHICLIB_MAGNETIC_PATH is not set), then $GEOGRAPHICLIB_DATA/magnetic is used.
-
-
-
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes MagneticField to return an exit code of 1. However, an error does not cause MagneticField to terminate; following lines will be converted. If time or h are outside the recommended ranges for the model (but inside the ranges increase by tguard and hguard), a warning is printed on standard error and the field (which may be inaccurate) is returned in the normal way.
-
-
EXAMPLES
-
-
The magnetic field from WMM2020 in Timbuktu on 2020-01-01
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.usage b/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.usage
deleted file mode 100644
index a6e9080ce03d1afc30855eab744a7c5bbf96d16b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/MagneticField.usage
+++ /dev/null
@@ -1,243 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" MagneticField [ -n name ] [ -d dir ] [ -N Nmax ] [ -M Mmax ] [ -t time\n"
-" | -c time lat h ] [ -r ] [ -w ] [ -T tguard ] [ -H hguard ] [ -p prec ]\n"
-" [ -v ] [ --comment-delimiter commentdelim ] [ --version | -h | --help ]\n"
-" [ --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" MagneticField --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/MagneticField.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" MagneticField -- compute the earth's magnetic field\n"
-"\n"
-"SYNOPSIS\n"
-" MagneticField [ -n name ] [ -d dir ] [ -N Nmax ] [ -M Mmax ] [ -t time\n"
-" | -c time lat h ] [ -r ] [ -w ] [ -T tguard ] [ -H hguard ] [ -p prec ]\n"
-" [ -v ] [ --comment-delimiter commentdelim ] [ --version | -h | --help ]\n"
-" [ --input-file infile | --input-string instring ] [ --line-separator\n"
-" linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" MagneticField reads in times and positions on standard input and prints\n"
-" out the geomagnetic field on standard output and, optionally, its rate\n"
-" of change.\n"
-"\n"
-" The input line is of the form time lat lon h. time is a date of the\n"
-" form 2012-07-03, a fractional year such as 2012.5, or the string \"now\".\n"
-" lat and lon are the latitude and longitude expressed as decimal degrees\n"
-" or degrees, minutes, and seconds; for details on the allowed formats\n"
-" for latitude and longitude, see the \"GEOGRAPHIC COORDINATES\" section of\n"
-" GeoConvert(1). h is the height above the ellipsoid in meters; this is\n"
-" optional and defaults to zero. Alternatively, time can be given on the\n"
-" command line as the argument to the -t option, in which case it should\n"
-" not be included on the input lines. Finally, the magnetic field can be\n"
-" computed at various points on a circle of latitude (constant time, lat,\n"
-" and h) via the -c option; in this case only the longitude should be\n"
-" given on the input lines.\n"
-"\n"
-" The output consists of the following 7 items:\n"
-"\n"
-" the declination (the direction of the horizontal component of\n"
-" the magnetic field measured clockwise from north) in degrees,\n"
-" the inclination (the direction of the magnetic field measured\n"
-" down from the horizontal) in degrees,\n"
-" the horizontal field in nanotesla (nT),\n"
-" the north component of the field in nT,\n"
-" the east component of the field in nT,\n"
-" the vertical component of the field in nT (down is positive),\n"
-" the total field in nT.\n"
-"\n"
-" If the -r option is given, a second line is printed giving the rates of\n"
-" change of these quantities in degrees/yr and nT/yr.\n"
-"\n"
-" The WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.\n"
-"\n"
-"OPTIONS\n"
-" -n name\n"
-" use magnetic field model name instead of the default \"wmm2020\".\n"
-" See \"MODELS\".\n"
-"\n"
-" -d dir\n"
-" read magnetic models from dir instead of the default. See\n"
-" \"MODELS\".\n"
-"\n"
-" -N Nmax\n"
-" limit the degree of the model to Nmax.\n"
-"\n"
-" -M Mmax\n"
-" limit the order of the model to Mmax.\n"
-"\n"
-" -t time\n"
-" evaluate the field at time instead of reading the time from the\n"
-" input lines.\n"
-"\n"
-" -c time lat h\n"
-" evaluate the field on a circle of latitude given by time, lat, h\n"
-" instead of reading these quantities from the input lines. In this\n"
-" case, MagneticField can calculate the field considerably more\n"
-" quickly.\n"
-"\n"
-" -r toggle whether to report the rates of change of the field.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then on input and output, longitude precedes latitude (except that,\n"
-" on input, this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -T tguard\n"
-" signal an error if time lies tguard years (default 50 yr) beyond\n"
-" the range for the model.\n"
-"\n"
-" -H hguard\n"
-" signal an error if h lies hguard meters (default 500000 m) beyond\n"
-" the range for the model.\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 1). Fields are printed\n"
-" with precision with prec decimal places; angles use prec + 1\n"
-" places.\n"
-"\n"
-" -v print information about the magnetic model on standard error before\n"
-" processing the input.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage, the default magnetic path and name, and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"MODELS\n"
-" MagneticField computes the geomagnetic field using one of the following\n"
-" models\n"
-"\n"
-" wmm2010, the World Magnetic Model 2010, which approximates the\n"
-" main magnetic field for the period 2010-2015. See\n"
-" https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml\n"
-" wmm2015v2, the World Magnetic Model 2015, which approximates the\n"
-" main magnetic field for the period 2015-2020. See\n"
-" https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml\n"
-" wmm2015, a deprecated version of wmm2015v2\n"
-" wmm2020, the World Magnetic Model 2020, which approximates the\n"
-" main magnetic field for the period 2020-2025. See\n"
-" https://ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml\n"
-" igrf11, the International Geomagnetic Reference Field (11th\n"
-" generation), which approximates the main magnetic field for\n"
-" the period 1900-2015. See\n"
-" https://ngdc.noaa.gov/IAGA/vmod/igrf.html\n"
-" igrf12, the International Geomagnetic Reference Field (12th\n"
-" generation), which approximates the main magnetic field for\n"
-" the period 1900-2020. See\n"
-" https://ngdc.noaa.gov/IAGA/vmod/igrf.html\n"
-" emm2010, the Enhanced Magnetic Model 2010, which approximates\n"
-" the main and crustal magnetic fields for the period 2010-2015.\n"
-" See https://ngdc.noaa.gov/geomag/EMM/index.html\n"
-" emm2015, the Enhanced Magnetic Model 2015, which approximates\n"
-" the main and crustal magnetic fields for the period 2000-2020.\n"
-" See https://ngdc.noaa.gov/geomag/EMM/index.html\n"
-" emm2017, the Enhanced Magnetic Model 2017, which approximates\n"
-" the main and crustal magnetic fields for the period 2000-2022.\n"
-" See https://ngdc.noaa.gov/geomag/EMM/index.html\n"
-"\n"
-" These models approximate the magnetic field due to the earth's core and\n"
-" (in the case of emm20xx) its crust. They neglect magnetic fields due\n"
-" to the ionosphere, the magnetosphere, nearby magnetized materials,\n"
-" electrical machinery, etc.\n"
-"\n"
-" By default, the \"wmm2020\" magnetic model is used. This may changed by\n"
-" setting the environment variable \"GEOGRAPHICLIB_MAGNETIC_NAME\" or with\n"
-" the -n option.\n"
-"\n"
-" The magnetic models will be loaded from a directory specified at\n"
-" compile time. This may changed by setting the environment variables\n"
-" \"GEOGRAPHICLIB_MAGNETIC_PATH\" or \"GEOGRAPHICLIB_DATA\", or with the -d\n"
-" option. The -h option prints the default magnetic path and name. Use\n"
-" the -v option to ascertain the full path name of the data file.\n"
-"\n"
-" Instructions for downloading and installing magnetic models are\n"
-" available at\n"
-" .\n"
-"\n"
-"ENVIRONMENT\n"
-" GEOGRAPHICLIB_MAGNETIC_NAME\n"
-" Override the compile-time default magnetic name of \"wmm2020\". The\n"
-" -h option reports the value of GEOGRAPHICLIB_MAGNETIC_NAME, if\n"
-" defined, otherwise it reports the compile-time value. If the -n\n"
-" name option is used, then name takes precedence.\n"
-"\n"
-" GEOGRAPHICLIB_MAGNETIC_PATH\n"
-" Override the compile-time default magnetic path. This is typically\n"
-" \"/usr/local/share/GeographicLib/magnetic\" on Unix-like systems and\n"
-" \"C:/ProgramData/GeographicLib/magnetic\" on Windows systems. The -h\n"
-" option reports the value of GEOGRAPHICLIB_MAGNETIC_PATH, if\n"
-" defined, otherwise it reports the compile-time value. If the -d\n"
-" dir option is used, then dir takes precedence.\n"
-"\n"
-" GEOGRAPHICLIB_DATA\n"
-" Another way of overriding the compile-time default magnetic path.\n"
-" If it is set (and if GEOGRAPHICLIB_MAGNETIC_PATH is not set), then\n"
-" $GEOGRAPHICLIB_DATA/magnetic is used.\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes MagneticField to return an exit code\n"
-" of 1. However, an error does not cause MagneticField to terminate;\n"
-" following lines will be converted. If time or h are outside the\n"
-" recommended ranges for the model (but inside the ranges increase by\n"
-" tguard and hguard), a warning is printed on standard error and the\n"
-" field (which may be inaccurate) is returned in the normal way.\n"
-"\n"
-"EXAMPLES\n"
-" The magnetic field from WMM2020 in Timbuktu on 2020-01-01\n"
-"\n"
-" echo 2020-01-01 16:46:33N 3:00:34W 300 | MagneticField -r\n"
-" => -1.60 12.00 33973.5 33960.3 -948.1 7223.0 34732.8\n"
-" 0.13 -0.02 21.8 23.9 77.9 -8.4 19.5\n"
-"\n"
-" The first two numbers returned are the declination and inclination of\n"
-" the field. The second line gives the annual change.\n"
-"\n"
-"SEE ALSO\n"
-" GeoConvert(1), geographiclib-get-magnetic(8).\n"
-"\n"
-"AUTHOR\n"
-" MagneticField was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" MagneticField was added to GeographicLib,\n"
-" , in version 1.15.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Makefile b/libs/GeographicLib-1.50.1/BUILD/man/Makefile
deleted file mode 100644
index d52ae1add9fe9807e0aaa92f4212279c8b2f192b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Makefile
+++ /dev/null
@@ -1,300 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/man/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-man/CMakeFiles/man.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/man.dir/rule
-.PHONY : man/CMakeFiles/man.dir/rule
-
-# Convenience name for target.
-man: man/CMakeFiles/man.dir/rule
-
-.PHONY : man
-
-# fast build rule for target.
-man/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f man/CMakeFiles/man.dir/build.make man/CMakeFiles/man.dir/build
-.PHONY : man/fast
-
-# Convenience name for target.
-man/CMakeFiles/manpages.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/manpages.dir/rule
-.PHONY : man/CMakeFiles/manpages.dir/rule
-
-# Convenience name for target.
-manpages: man/CMakeFiles/manpages.dir/rule
-
-.PHONY : manpages
-
-# fast build rule for target.
-manpages/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f man/CMakeFiles/manpages.dir/build.make man/CMakeFiles/manpages.dir/build
-.PHONY : manpages/fast
-
-# Convenience name for target.
-man/CMakeFiles/distrib-man.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/distrib-man.dir/rule
-.PHONY : man/CMakeFiles/distrib-man.dir/rule
-
-# Convenience name for target.
-distrib-man: man/CMakeFiles/distrib-man.dir/rule
-
-.PHONY : distrib-man
-
-# fast build rule for target.
-distrib-man/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f man/CMakeFiles/distrib-man.dir/build.make man/CMakeFiles/distrib-man.dir/build
-.PHONY : distrib-man/fast
-
-# Convenience name for target.
-man/CMakeFiles/usage.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/usage.dir/rule
-.PHONY : man/CMakeFiles/usage.dir/rule
-
-# Convenience name for target.
-usage: man/CMakeFiles/usage.dir/rule
-
-.PHONY : usage
-
-# fast build rule for target.
-usage/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f man/CMakeFiles/usage.dir/build.make man/CMakeFiles/usage.dir/build
-.PHONY : usage/fast
-
-# Convenience name for target.
-man/CMakeFiles/htmlman.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 man/CMakeFiles/htmlman.dir/rule
-.PHONY : man/CMakeFiles/htmlman.dir/rule
-
-# Convenience name for target.
-htmlman: man/CMakeFiles/htmlman.dir/rule
-
-.PHONY : htmlman
-
-# fast build rule for target.
-htmlman/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f man/CMakeFiles/htmlman.dir/build.make man/CMakeFiles/htmlman.dir/build
-.PHONY : htmlman/fast
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install"
- @echo "... list_install_components"
- @echo "... rebuild_cache"
- @echo "... edit_cache"
- @echo "... package_source"
- @echo "... install/strip"
- @echo "... man"
- @echo "... manpages"
- @echo "... distrib-man"
- @echo "... install/local"
- @echo "... test"
- @echo "... usage"
- @echo "... htmlman"
- @echo "... package"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.1 b/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.1
deleted file mode 100644
index c38aed52a862abe833b76e58c849664920fcdeca..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.1
+++ /dev/null
@@ -1,331 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "PLANIMETER 1"
-.TH PLANIMETER 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-Planimeter \-\- compute the area of geodesic polygons
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBPlanimeter\fR [ \fB\-r\fR ] [ \fB\-s\fR ] [ \fB\-l\fR ] [ \fB\-e\fR \fIa\fR \fIf\fR ]
-[ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ] [ \fB\-G\fR | \fB\-E\fR | \fB\-Q\fR | \fB\-R\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-Measure the area of a geodesic polygon. Reads polygon vertices from
-standard input, one per line. Vertices may be given as latitude and
-longitude, \s-1UTM/UPS,\s0 or \s-1MGRS\s0 coordinates, interpreted in the same way as
-\&\fIGeoConvert\fR\|(1). (\s-1MGRS\s0 coordinates signify the center of the
-corresponding \s-1MGRS\s0 square.) The end of input, a blank line, or a line
-which can't be interpreted as a vertex signals the end of one polygon
-and the start of the next. For each polygon print a summary line with
-the number of points, the perimeter (in meters), and the area (in
-meters^2).
-.PP
-The edges of the polygon are given by the \fIshortest\fR geodesic between
-consecutive vertices. In certain cases, there may be two or many such
-shortest geodesics, and in that case, the polygon is not uniquely
-specified by its vertices. This only happens with very long edges (for
-the \s-1WGS84\s0 ellipsoid, any edge shorter than 19970 km is uniquely
-specified by its end points). In such cases, insert an additional
-vertex near the middle of the long edge to define the boundary of the
-polygon.
-.PP
-By default, polygons traversed in a counter-clockwise direction return a
-positive area and those traversed in a clockwise direction return a
-negative area. This sign convention is reversed if the \fB\-r\fR option is
-given.
-.PP
-Of course, encircling an area in the clockwise direction is equivalent
-to encircling the rest of the ellipsoid in the counter-clockwise
-direction. The default interpretation used by \fBPlanimeter\fR is the one
-that results in a smaller magnitude of area; i.e., the magnitude of the
-area is less than or equal to one half the total area of the ellipsoid.
-If the \fB\-s\fR option is given, then the interpretation used is the one
-that results in a positive area; i.e., the area is positive and less
-than the total area of the ellipsoid.
-.PP
-Arbitrarily complex polygons are allowed. In the case of
-self-intersecting polygons the area is accumulated \*(L"algebraically\*(R",
-e.g., the areas of the 2 loops in a figure\-8 polygon will partially
-cancel. Polygons may include one or both poles. There is no need to
-close the polygon.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-r\fR" 4
-.IX Item "-r"
-toggle whether counter-clockwise traversal of the polygon returns a
-positive (the default) or negative result.
-.IP "\fB\-s\fR" 4
-.IX Item "-s"
-toggle whether to return a signed result (the default) or not.
-.IP "\fB\-l\fR" 4
-.IX Item "-l"
-toggle whether the vertices represent a polygon (the default) or a
-polyline. For a polyline, the number of points and the length of the
-path joining them is returned; the path is not closed and the area is
-not reported.
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563. If entering vertices as \s-1UTM/UPS\s0 or
-\&\s-1MGRS\s0 coordinates, use the default ellipsoid, since the conversion of
-these coordinates to latitude and longitude always uses the \s-1WGS84\s0
-parameters.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-toggle the longitude first flag (it starts off); if the flag is on, then
-when reading geographic coordinates, longitude precedes latitude (this
-can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR, \fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 6); the perimeter is given
-(in meters) with \fIprec\fR digits after the decimal point; the area is
-given (in meters^2) with (\fIprec\fR \- 5) digits after the decimal point.
-.IP "\fB\-G\fR" 4
-.IX Item "-G"
-use the series formulation for the geodesics. This is the default
-option and is recommended for terrestrial applications. This option,
-\&\fB\-G\fR, and the following three options, \fB\-E\fR, \fB\-Q\fR, and \fB\-R\fR, are
-mutually exclusive.
-.IP "\fB\-E\fR" 4
-.IX Item "-E"
-use \*(L"exact\*(R" algorithms (based on elliptic integrals) for the geodesic
-calculations. These are more accurate than the (default) series
-expansions for |\fIf\fR| > 0.02. (But note that the implementation of
-areas in GeodesicExact uses a high order series and this is only
-accurate for modest flattenings.)
-.IP "\fB\-Q\fR" 4
-.IX Item "-Q"
-perform the calculation on the authalic sphere. The area calculation is
-accurate even if the flattening is large, \fIprovided\fR the edges are
-sufficiently short. The perimeter calculation is not accurate.
-.IP "\fB\-R\fR" 4
-.IX Item "-R"
-The lines joining the vertices are rhumb lines instead of geodesics.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing. For a given polygon, the last such string found will be
-appended to the output line (separated by a space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-Example (the area of the 100km \s-1MGRS\s0 square 18SWK)
-.PP
-.Vb 7
-\& Planimeter < 4 400139.53295860 10007388597.1913
-.Ve
-.PP
-The following code takes the output from gdalinfo and reports the area
-covered by the data (assuming the edges of the image are geodesics).
-.PP
-.Vb 10
-\& #! /bin/sh
-\& egrep \*(Aq^((Upper|Lower) (Left|Right)|Center) \*(Aq |
-\& sed \-e \*(Aqs/d /d/g\*(Aq \-e "s/\*(Aq /\*(Aq/g" | tr \-s \*(Aq(),\er\et\*(Aq \*(Aq \*(Aq | awk \*(Aq{
-\& if ($1 $2 == "UpperLeft")
-\& ul = $6 " " $5;
-\& else if ($1 $2 == "LowerLeft")
-\& ll = $6 " " $5;
-\& else if ($1 $2 == "UpperRight")
-\& ur = $6 " " $5;
-\& else if ($1 $2 == "LowerRight")
-\& lr = $6 " " $5;
-\& else if ($1 == "Center") {
-\& printf "%s\en%s\en%s\en%s\en\en", ul, ll, lr, ur;
-\& ul = ll = ur = lr = "";
-\& }
-\& }
-\& \*(Aq | Planimeter | cut \-f3 \-d\*(Aq \*(Aq
-.Ve
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIGeoConvert\fR\|(1), \fIGeodSolve\fR\|(1).
-.PP
-An online version of this utility is availbable at
-.
-.PP
-The algorithm for the area of geodesic polygon is
-given in Section 6 of C. F. F. Karney, \fIAlgorithms for geodesics\fR,
-J. Geodesy 87, 43\-55 (2013);
-\&\s-1DOI\s0 ;
-addenda: .
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBPlanimeter\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBPlanimeter\fR was added to GeographicLib,
-, in version 1.4.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.1.html b/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.1.html
deleted file mode 100644
index 575e0a419824d2ceab2a9f9a5ab46178618a8f18..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.1.html
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
-Planimeter(1)
-
-
-
-
-
-
-
-
-
NAME
-
-
Planimeter -- compute the area of geodesic polygons
Measure the area of a geodesic polygon. Reads polygon vertices from standard input, one per line. Vertices may be given as latitude and longitude, UTM/UPS, or MGRS coordinates, interpreted in the same way as GeoConvert(1). (MGRS coordinates signify the center of the corresponding MGRS square.) The end of input, a blank line, or a line which can't be interpreted as a vertex signals the end of one polygon and the start of the next. For each polygon print a summary line with the number of points, the perimeter (in meters), and the area (in meters^2).
-
-
The edges of the polygon are given by the shortest geodesic between consecutive vertices. In certain cases, there may be two or many such shortest geodesics, and in that case, the polygon is not uniquely specified by its vertices. This only happens with very long edges (for the WGS84 ellipsoid, any edge shorter than 19970 km is uniquely specified by its end points). In such cases, insert an additional vertex near the middle of the long edge to define the boundary of the polygon.
-
-
By default, polygons traversed in a counter-clockwise direction return a positive area and those traversed in a clockwise direction return a negative area. This sign convention is reversed if the -r option is given.
-
-
Of course, encircling an area in the clockwise direction is equivalent to encircling the rest of the ellipsoid in the counter-clockwise direction. The default interpretation used by Planimeter is the one that results in a smaller magnitude of area; i.e., the magnitude of the area is less than or equal to one half the total area of the ellipsoid. If the -s option is given, then the interpretation used is the one that results in a positive area; i.e., the area is positive and less than the total area of the ellipsoid.
-
-
Arbitrarily complex polygons are allowed. In the case of self-intersecting polygons the area is accumulated "algebraically", e.g., the areas of the 2 loops in a figure-8 polygon will partially cancel. Polygons may include one or both poles. There is no need to close the polygon.
-
-
OPTIONS
-
-
-
-
-r
-
-
-
toggle whether counter-clockwise traversal of the polygon returns a positive (the default) or negative result.
-
-
-
-s
-
-
-
toggle whether to return a signed result (the default) or not.
-
-
-
-l
-
-
-
toggle whether the vertices represent a polygon (the default) or a polyline. For a polyline, the number of points and the length of the path joining them is returned; the path is not closed and the area is not reported.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563. If entering vertices as UTM/UPS or MGRS coordinates, use the default ellipsoid, since the conversion of these coordinates to latitude and longitude always uses the WGS84 parameters.
-
-
-
-w
-
-
-
toggle the longitude first flag (it starts off); if the flag is on, then when reading geographic coordinates, longitude precedes latitude (this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6); the perimeter is given (in meters) with prec digits after the decimal point; the area is given (in meters^2) with (prec - 5) digits after the decimal point.
-
-
-
-G
-
-
-
use the series formulation for the geodesics. This is the default option and is recommended for terrestrial applications. This option, -G, and the following three options, -E, -Q, and -R, are mutually exclusive.
-
-
-
-E
-
-
-
use "exact" algorithms (based on elliptic integrals) for the geodesic calculations. These are more accurate than the (default) series expansions for |f| > 0.02. (But note that the implementation of areas in GeodesicExact uses a high order series and this is only accurate for modest flattenings.)
-
-
-
-Q
-
-
-
perform the calculation on the authalic sphere. The area calculation is accurate even if the flattening is large, provided the edges are sufficiently short. The perimeter calculation is not accurate.
-
-
-
-R
-
-
-
The lines joining the vertices are rhumb lines instead of geodesics.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing. For a given polygon, the last such string found will be appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.usage b/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.usage
deleted file mode 100644
index ec2dd72fb6121f8c70b09fc3b3c15f0741272f63..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/Planimeter.usage
+++ /dev/null
@@ -1,199 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" Planimeter [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p prec ] [ -G | -E\n"
-" | -Q | -R ] [ --comment-delimiter commentdelim ] [ --version | -h |\n"
-" --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" Planimeter --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/Planimeter.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" Planimeter -- compute the area of geodesic polygons\n"
-"\n"
-"SYNOPSIS\n"
-" Planimeter [ -r ] [ -s ] [ -l ] [ -e a f ] [ -w ] [ -p prec ] [ -G | -E\n"
-" | -Q | -R ] [ --comment-delimiter commentdelim ] [ --version | -h |\n"
-" --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" Measure the area of a geodesic polygon. Reads polygon vertices from\n"
-" standard input, one per line. Vertices may be given as latitude and\n"
-" longitude, UTM/UPS, or MGRS coordinates, interpreted in the same way as\n"
-" GeoConvert(1). (MGRS coordinates signify the center of the\n"
-" corresponding MGRS square.) The end of input, a blank line, or a line\n"
-" which can't be interpreted as a vertex signals the end of one polygon\n"
-" and the start of the next. For each polygon print a summary line with\n"
-" the number of points, the perimeter (in meters), and the area (in\n"
-" meters^2).\n"
-"\n"
-" The edges of the polygon are given by the shortest geodesic between\n"
-" consecutive vertices. In certain cases, there may be two or many such\n"
-" shortest geodesics, and in that case, the polygon is not uniquely\n"
-" specified by its vertices. This only happens with very long edges (for\n"
-" the WGS84 ellipsoid, any edge shorter than 19970 km is uniquely\n"
-" specified by its end points). In such cases, insert an additional\n"
-" vertex near the middle of the long edge to define the boundary of the\n"
-" polygon.\n"
-"\n"
-" By default, polygons traversed in a counter-clockwise direction return\n"
-" a positive area and those traversed in a clockwise direction return a\n"
-" negative area. This sign convention is reversed if the -r option is\n"
-" given.\n"
-"\n"
-" Of course, encircling an area in the clockwise direction is equivalent\n"
-" to encircling the rest of the ellipsoid in the counter-clockwise\n"
-" direction. The default interpretation used by Planimeter is the one\n"
-" that results in a smaller magnitude of area; i.e., the magnitude of the\n"
-" area is less than or equal to one half the total area of the ellipsoid.\n"
-" If the -s option is given, then the interpretation used is the one that\n"
-" results in a positive area; i.e., the area is positive and less than\n"
-" the total area of the ellipsoid.\n"
-"\n"
-" Arbitrarily complex polygons are allowed. In the case of self-\n"
-" intersecting polygons the area is accumulated \"algebraically\", e.g.,\n"
-" the areas of the 2 loops in a figure-8 polygon will partially cancel.\n"
-" Polygons may include one or both poles. There is no need to close the\n"
-" polygon.\n"
-"\n"
-"OPTIONS\n"
-" -r toggle whether counter-clockwise traversal of the polygon returns a\n"
-" positive (the default) or negative result.\n"
-"\n"
-" -s toggle whether to return a signed result (the default) or not.\n"
-"\n"
-" -l toggle whether the vertices represent a polygon (the default) or a\n"
-" polyline. For a polyline, the number of points and the length of\n"
-" the path joining them is returned; the path is not closed and the\n"
-" area is not reported.\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563. If entering vertices as UTM/UPS or\n"
-" MGRS coordinates, use the default ellipsoid, since the conversion\n"
-" of these coordinates to latitude and longitude always uses the\n"
-" WGS84 parameters.\n"
-"\n"
-" -w toggle the longitude first flag (it starts off); if the flag is on,\n"
-" then when reading geographic coordinates, longitude precedes\n"
-" latitude (this can be overridden by a hemisphere designator, N, S,\n"
-" E, W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 6); the perimeter is\n"
-" given (in meters) with prec digits after the decimal point; the\n"
-" area is given (in meters^2) with (prec - 5) digits after the\n"
-" decimal point.\n"
-"\n"
-" -G use the series formulation for the geodesics. This is the default\n"
-" option and is recommended for terrestrial applications. This\n"
-" option, -G, and the following three options, -E, -Q, and -R, are\n"
-" mutually exclusive.\n"
-"\n"
-" -E use \"exact\" algorithms (based on elliptic integrals) for the\n"
-" geodesic calculations. These are more accurate than the (default)\n"
-" series expansions for |f| > 0.02. (But note that the\n"
-" implementation of areas in GeodesicExact uses a high order series\n"
-" and this is only accurate for modest flattenings.)\n"
-"\n"
-" -Q perform the calculation on the authalic sphere. The area\n"
-" calculation is accurate even if the flattening is large, provided\n"
-" the edges are sufficiently short. The perimeter calculation is not\n"
-" accurate.\n"
-"\n"
-" -R The lines joining the vertices are rhumb lines instead of\n"
-" geodesics.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing. For a given polygon, the last such string found\n"
-" will be appended to the output line (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"EXAMPLES\n"
-" Example (the area of the 100km MGRS square 18SWK)\n"
-"\n"
-" Planimeter < 4 400139.53295860 10007388597.1913\n"
-"\n"
-" The following code takes the output from gdalinfo and reports the area\n"
-" covered by the data (assuming the edges of the image are geodesics).\n"
-"\n"
-" #! /bin/sh\n"
-" egrep '^((Upper|Lower) (Left|Right)|Center) ' |\n"
-" sed -e 's/d /d/g' -e \"s/' /'/g\" | tr -s '(),\\r\\t' ' ' | awk '{\n"
-" if ($1 $2 == \"UpperLeft\")\n"
-" ul = $6 \" \" $5;\n"
-" else if ($1 $2 == \"LowerLeft\")\n"
-" ll = $6 \" \" $5;\n"
-" else if ($1 $2 == \"UpperRight\")\n"
-" ur = $6 \" \" $5;\n"
-" else if ($1 $2 == \"LowerRight\")\n"
-" lr = $6 \" \" $5;\n"
-" else if ($1 == \"Center\") {\n"
-" printf \"%s\\n%s\\n%s\\n%s\\n\\n\", ul, ll, lr, ur;\n"
-" ul = ll = ur = lr = \"\";\n"
-" }\n"
-" }\n"
-" ' | Planimeter | cut -f3 -d' '\n"
-"\n"
-"SEE ALSO\n"
-" GeoConvert(1), GeodSolve(1).\n"
-"\n"
-" An online version of this utility is availbable at\n"
-" .\n"
-"\n"
-" The algorithm for the area of geodesic polygon is given in Section 6 of\n"
-" C. F. F. Karney, Algorithms for geodesics, J. Geodesy 87, 43-55 (2013);\n"
-" DOI ; addenda:\n"
-" .\n"
-"\n"
-"AUTHOR\n"
-" Planimeter was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" Planimeter was added to GeographicLib,\n"
-" , in version 1.4.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1 b/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1
deleted file mode 100644
index 6f935c9773dac84787b65d0fb221d9a8fe381035..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1
+++ /dev/null
@@ -1,352 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "RHUMBSOLVE 1"
-.TH RHUMBSOLVE 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-RhumbSolve \-\- perform rhumb line calculations
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBRhumbSolve\fR [ \fB\-i\fR | \fB\-L\fR \fIlat1\fR \fIlon1\fR \fIazi12\fR ]
-[ \fB\-e\fR \fIa\fR \fIf\fR ]
-[ \fB\-d\fR | \fB\-:\fR ] [ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ] [ \fB\-s\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-The path with constant heading between two points on the ellipsoid at
-(\fIlat1\fR, \fIlon1\fR) and (\fIlat2\fR, \fIlon2\fR) is called the rhumb line or
-loxodrome. Its length is \fIs12\fR and the rhumb line has a forward
-azimuth \fIazi12\fR along its length. Also computed is \fIS12\fR is the area
-between the rhumb line from point 1 to point 2 and the equator; i.e., it
-is the area, measured counter-clockwise, of the geodesic quadrilateral
-with corners (\fIlat1\fR,\fIlon1\fR), (0,\fIlon1\fR), (0,\fIlon2\fR), and
-(\fIlat2\fR,\fIlon2\fR). A point at a pole is treated as a point a tiny
-distance away from the pole on the given line of longitude. The
-longitude becomes indeterminate when a rhumb line passes through a pole,
-and \fBRhumbSolve\fR reports NaNs for the longitude and the area in this
-case.
-.PP
-\&\fB\s-1NOTE:\s0\fR the rhumb line is \fBnot\fR the shortest path between two points;
-that is the geodesic and it is calculated by \fIGeodSolve\fR\|(1).
-.PP
-\&\fBRhumbSolve\fR operates in one of three modes:
-.IP "1." 4
-By default, \fBRhumbSolve\fR accepts lines on the standard input containing
-\&\fIlat1\fR \fIlon1\fR \fIazi12\fR \fIs12\fR and prints \fIlat2\fR \fIlon2\fR \fIS12\fR on
-standard output. This is the direct calculation.
-.IP "2." 4
-With the \fB\-i\fR command line argument, \fBRhumbSolve\fR performs the inverse
-calculation. It reads lines containing \fIlat1\fR \fIlon1\fR \fIlat2\fR \fIlon2\fR
-and prints the values of \fIazi12\fR \fIs12\fR \fIS12\fR for the corresponding
-shortest rhumb lines. If the end points are on opposite meridians,
-there are two shortest rhumb lines and the east-going one is chosen.
-.IP "3." 4
-Command line arguments \fB\-L\fR \fIlat1\fR \fIlon1\fR \fIazi12\fR specify a rhumb
-line. \fBRhumbSolve\fR then accepts a sequence of \fIs12\fR values (one per
-line) on standard input and prints \fIlat2\fR \fIlon2\fR \fIS12\fR for each.
-This generates a sequence of points on a rhumb line.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-i\fR" 4
-.IX Item "-i"
-perform an inverse calculation (see 2 above).
-.IP "\fB\-L\fR \fIlat1\fR \fIlon1\fR \fIazi12\fR" 4
-.IX Item "-L lat1 lon1 azi12"
-line mode (see 3 above); generate a sequence of points along the rhumb
-line specified by \fIlat1\fR \fIlon1\fR \fIazi12\fR. The \fB\-w\fR flag can be used
-to swap the default order of the 2 geographic coordinates, provided that
-it appears before \fB\-L\fR. (\fB\-l\fR is an alternative, deprecated, spelling
-of this flag.)
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563.
-.IP "\fB\-d\fR" 4
-.IX Item "-d"
-output angles as degrees, minutes, seconds instead of decimal degrees.
-.IP "\fB\-:\fR" 4
-.IX Item "-:"
-like \fB\-d\fR, except use : as a separator instead of the d, ', and "
-delimiters.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-on input and output, longitude precedes latitude (except that on input
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 3); \fIprec\fR is the
-precision relative to 1 m. See \*(L"\s-1PRECISION\*(R"\s0.
-.IP "\fB\-s\fR" 4
-.IX Item "-s"
-By default, the rhumb line calculations are carried out exactly in terms
-of elliptic integrals. This includes the use of the addition theorem
-for elliptic integrals to compute the divided difference of the
-isometric and rectifying latitudes. If \fB\-s\fR is supplied this divided
-difference is computed using Krueger series for the transverse Mercator
-projection which is only accurate for |\fIf\fR| < 0.01. See
-\&\*(L"\s-1ACCURACY\*(R"\s0.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "INPUT"
-.IX Header "INPUT"
-\&\fBRhumbSolve\fR measures all angles in degrees, all lengths (\fIs12\fR) in
-meters, and all areas (\fIS12\fR) in meters^2. On input angles (latitude,
-longitude, azimuth, arc length) can be as decimal degrees or degrees,
-minutes, seconds. For example, \f(CW\*(C`40d30\*(C'\fR, \f(CW\*(C`40d30\*(Aq\*(C'\fR, \f(CW\*(C`40:30\*(C'\fR, \f(CW\*(C`40.5d\*(C'\fR,
-and \f(CW40.5\fR are all equivalent. By default, latitude precedes longitude
-for each point (the \fB\-w\fR flag switches this convention); however on
-input either may be given first by appending (or prepending) \fIN\fR or
-\&\fIS\fR to the latitude and \fIE\fR or \fIW\fR to the longitude. Azimuths are
-measured clockwise from north; however this may be overridden with \fIE\fR
-or \fIW\fR.
-.PP
-For details on the allowed formats for angles, see the \f(CW\*(C`GEOGRAPHIC
-COORDINATES\*(C'\fR section of \fIGeoConvert\fR\|(1).
-.SH "PRECISION"
-.IX Header "PRECISION"
-\&\fIprec\fR gives precision of the output with \fIprec\fR = 0 giving 1 m
-precision, \fIprec\fR = 3 giving 1 mm precision, etc. \fIprec\fR is the
-number of digits after the decimal point for lengths. For decimal
-degrees, the number of digits after the decimal point is \fIprec\fR + 5.
-For \s-1DMS\s0 (degree, minute, seconds) output, the number of digits after the
-decimal point in the seconds component is \fIprec\fR + 1. The minimum
-value of \fIprec\fR is 0 and the maximum is 10.
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBRhumbSolve\fR to return an exit code
-of 1. However, an error does not cause \fBRhumbSolve\fR to terminate;
-following lines will be converted.
-.SH "ACCURACY"
-.IX Header "ACCURACY"
-The algorithm used by \fBRhumbSolve\fR uses exact formulas for converting
-between the latitude, rectifying latitude (\fImu\fR), and isometric
-latitude (\fIpsi\fR). These formulas are accurate for any value of the
-flattening. The computation of rhumb lines involves the ratio (\fIpsi1\fR
-\&\- \fIpsi2\fR) / (\fImu1\fR \- \fImu2\fR) and this is subject to large round-off
-errors if \fIlat1\fR is close to \fIlat2\fR. So this ratio is computed using
-divided differences using one of two methods: by default, this uses the
-addition theorem for elliptic integrals (accurate for all values of
-\&\fIf\fR); however, with the \fB\-s\fR options, it is computed using the series
-expansions used by \fITransverseMercatorProj\fR\|(1) for the conversions between
-rectifying and conformal latitudes (accurate for |\fIf\fR| < 0.01).
-For the \s-1WGS84\s0 ellipsoid, the error is about 10 nanometers using either
-method.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-Route from \s-1JFK\s0 Airport to Singapore Changi Airport:
-.PP
-.Vb 2
-\& echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |
-\& RhumbSolve \-i \-: \-p 0
-\&
-\& 103:34:58.2 18523563
-.Ve
-.PP
-N.B. This is \fBnot\fR the route typically taken by aircraft because it's
-considerably longer than the geodesic given by \fIGeodSolve\fR\|(1).
-.PP
-Waypoints on the route at intervals of 2000km:
-.PP
-.Vb 2
-\& for ((i = 0; i <= 20; i += 2)); do echo ${i}000000;done |
-\& RhumbSolve \-L 40:38:23N 073:46:44W 103:34:58.2 \-: \-p 0
-\&
-\& 40:38:23.0N 073:46:44.0W 0
-\& 36:24:30.3N 051:28:26.4W 9817078307821
-\& 32:10:26.8N 030:20:57.3W 18224745682005
-\& 27:56:13.2N 010:10:54.2W 25358020327741
-\& 23:41:50.1N 009:12:45.5E 31321269267102
-\& 19:27:18.7N 027:59:22.1E 36195163180159
-\& 15:12:40.2N 046:17:01.1E 40041499143669
-\& 10:57:55.9N 064:12:52.8E 42906570007050
-\& 06:43:07.3N 081:53:28.8E 44823504180200
-\& 02:28:16.2N 099:24:54.5E 45813843358737
-\& 01:46:36.0S 116:52:59.7E 45888525219677
-.Ve
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIGeoConvert\fR\|(1), \fIGeodSolve\fR\|(1), \fITransverseMercatorProj\fR\|(1).
-.PP
-An online version of this utility is availbable at
-.
-.PP
-The Wikipedia page, Rhumb line,
-.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBRhumbSolve\fR was written by Charles Karney.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBRhumbSolve\fR was added to GeographicLib,
-, in version 1.37.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1.html b/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1.html
deleted file mode 100644
index d04916df0f69b43a5231ea1d97c8d81d8157ef7c..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1.html
+++ /dev/null
@@ -1,212 +0,0 @@
-
-
-
-
-RhumbSolve(1)
-
-
-
-
-
-
-
-
-
The path with constant heading between two points on the ellipsoid at (lat1, lon1) and (lat2, lon2) is called the rhumb line or loxodrome. Its length is s12 and the rhumb line has a forward azimuth azi12 along its length. Also computed is S12 is the area between the rhumb line from point 1 to point 2 and the equator; i.e., it is the area, measured counter-clockwise, of the geodesic quadrilateral with corners (lat1,lon1), (0,lon1), (0,lon2), and (lat2,lon2). A point at a pole is treated as a point a tiny distance away from the pole on the given line of longitude. The longitude becomes indeterminate when a rhumb line passes through a pole, and RhumbSolve reports NaNs for the longitude and the area in this case.
-
-
NOTE: the rhumb line is not the shortest path between two points; that is the geodesic and it is calculated by GeodSolve(1).
-
-
RhumbSolve operates in one of three modes:
-
-
-
-
By default, RhumbSolve accepts lines on the standard input containing lat1lon1azi12s12 and prints lat2lon2S12 on standard output. This is the direct calculation.
-
-
-
With the -i command line argument, RhumbSolve performs the inverse calculation. It reads lines containing lat1lon1lat2lon2 and prints the values of azi12s12S12 for the corresponding shortest rhumb lines. If the end points are on opposite meridians, there are two shortest rhumb lines and the east-going one is chosen.
-
-
-
Command line arguments -Llat1lon1azi12 specify a rhumb line. RhumbSolve then accepts a sequence of s12 values (one per line) on standard input and prints lat2lon2S12 for each. This generates a sequence of points on a rhumb line.
-
-
-
-
-
OPTIONS
-
-
-
-
-i
-
-
-
perform an inverse calculation (see 2 above).
-
-
-
-Llat1lon1azi12
-
-
-
line mode (see 3 above); generate a sequence of points along the rhumb line specified by lat1lon1azi12. The -w flag can be used to swap the default order of the 2 geographic coordinates, provided that it appears before -L. (-l is an alternative, deprecated, spelling of this flag.)
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563.
-
-
-
-d
-
-
-
output angles as degrees, minutes, seconds instead of decimal degrees.
-
-
-
-:
-
-
-
like -d, except use : as a separator instead of the d, ', and " delimiters.
-
-
-
-w
-
-
-
on input and output, longitude precedes latitude (except that on input this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 3); prec is the precision relative to 1 m. See "PRECISION".
-
-
-
-s
-
-
-
By default, the rhumb line calculations are carried out exactly in terms of elliptic integrals. This includes the use of the addition theorem for elliptic integrals to compute the divided difference of the isometric and rectifying latitudes. If -s is supplied this divided difference is computed using Krueger series for the transverse Mercator projection which is only accurate for |f| < 0.01. See "ACCURACY".
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
INPUT
-
-
RhumbSolve measures all angles in degrees, all lengths (s12) in meters, and all areas (S12) in meters^2. On input angles (latitude, longitude, azimuth, arc length) can be as decimal degrees or degrees, minutes, seconds. For example, 40d30, 40d30', 40:30, 40.5d, and 40.5 are all equivalent. By default, latitude precedes longitude for each point (the -w flag switches this convention); however on input either may be given first by appending (or prepending) N or S to the latitude and E or W to the longitude. Azimuths are measured clockwise from north; however this may be overridden with E or W.
-
-
For details on the allowed formats for angles, see the GEOGRAPHIC COORDINATES section of GeoConvert(1).
-
-
PRECISION
-
-
prec gives precision of the output with prec = 0 giving 1 m precision, prec = 3 giving 1 mm precision, etc. prec is the number of digits after the decimal point for lengths. For decimal degrees, the number of digits after the decimal point is prec + 5. For DMS (degree, minute, seconds) output, the number of digits after the decimal point in the seconds component is prec + 1. The minimum value of prec is 0 and the maximum is 10.
-
-
ERRORS
-
-
An illegal line of input will print an error message to standard output beginning with ERROR: and causes RhumbSolve to return an exit code of 1. However, an error does not cause RhumbSolve to terminate; following lines will be converted.
-
-
ACCURACY
-
-
The algorithm used by RhumbSolve uses exact formulas for converting between the latitude, rectifying latitude (mu), and isometric latitude (psi). These formulas are accurate for any value of the flattening. The computation of rhumb lines involves the ratio (psi1 - psi2) / (mu1 - mu2) and this is subject to large round-off errors if lat1 is close to lat2. So this ratio is computed using divided differences using one of two methods: by default, this uses the addition theorem for elliptic integrals (accurate for all values of f); however, with the -s options, it is computed using the series expansions used by TransverseMercatorProj(1) for the conversions between rectifying and conformal latitudes (accurate for |f| < 0.01). For the WGS84 ellipsoid, the error is about 10 nanometers using either method.
-
-
EXAMPLES
-
-
Route from JFK Airport to Singapore Changi Airport:
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.usage b/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.usage
deleted file mode 100644
index 17885f6856e4dfa64e9deb8f87c82cfba135e74e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/RhumbSolve.usage
+++ /dev/null
@@ -1,217 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" RhumbSolve [ -i | -L lat1 lon1 azi12 ] [ -e a f ] [ -d | -: ] [ -w ] [\n"
-" -p prec ] [ -s ] [ --comment-delimiter commentdelim ] [ --version | -h\n"
-" | --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" RhumbSolve --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/RhumbSolve.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" RhumbSolve -- perform rhumb line calculations\n"
-"\n"
-"SYNOPSIS\n"
-" RhumbSolve [ -i | -L lat1 lon1 azi12 ] [ -e a f ] [ -d | -: ] [ -w ] [\n"
-" -p prec ] [ -s ] [ --comment-delimiter commentdelim ] [ --version | -h\n"
-" | --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" The path with constant heading between two points on the ellipsoid at\n"
-" (lat1, lon1) and (lat2, lon2) is called the rhumb line or loxodrome.\n"
-" Its length is s12 and the rhumb line has a forward azimuth azi12 along\n"
-" its length. Also computed is S12 is the area between the rhumb line\n"
-" from point 1 to point 2 and the equator; i.e., it is the area, measured\n"
-" counter-clockwise, of the geodesic quadrilateral with corners\n"
-" (lat1,lon1), (0,lon1), (0,lon2), and (lat2,lon2). A point at a pole is\n"
-" treated as a point a tiny distance away from the pole on the given line\n"
-" of longitude. The longitude becomes indeterminate when a rhumb line\n"
-" passes through a pole, and RhumbSolve reports NaNs for the longitude\n"
-" and the area in this case.\n"
-"\n"
-" NOTE: the rhumb line is not the shortest path between two points; that\n"
-" is the geodesic and it is calculated by GeodSolve(1).\n"
-"\n"
-" RhumbSolve operates in one of three modes:\n"
-"\n"
-" 1. By default, RhumbSolve accepts lines on the standard input\n"
-" containing lat1 lon1 azi12 s12 and prints lat2 lon2 S12 on standard\n"
-" output. This is the direct calculation.\n"
-"\n"
-" 2. With the -i command line argument, RhumbSolve performs the inverse\n"
-" calculation. It reads lines containing lat1 lon1 lat2 lon2 and\n"
-" prints the values of azi12 s12 S12 for the corresponding shortest\n"
-" rhumb lines. If the end points are on opposite meridians, there\n"
-" are two shortest rhumb lines and the east-going one is chosen.\n"
-"\n"
-" 3. Command line arguments -L lat1 lon1 azi12 specify a rhumb line.\n"
-" RhumbSolve then accepts a sequence of s12 values (one per line) on\n"
-" standard input and prints lat2 lon2 S12 for each. This generates a\n"
-" sequence of points on a rhumb line.\n"
-"\n"
-"OPTIONS\n"
-" -i perform an inverse calculation (see 2 above).\n"
-"\n"
-" -L lat1 lon1 azi12\n"
-" line mode (see 3 above); generate a sequence of points along the\n"
-" rhumb line specified by lat1 lon1 azi12. The -w flag can be used\n"
-" to swap the default order of the 2 geographic coordinates, provided\n"
-" that it appears before -L. (-l is an alternative, deprecated,\n"
-" spelling of this flag.)\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563.\n"
-"\n"
-" -d output angles as degrees, minutes, seconds instead of decimal\n"
-" degrees.\n"
-"\n"
-" -: like -d, except use : as a separator instead of the d, ', and \"\n"
-" delimiters.\n"
-"\n"
-" -w on input and output, longitude precedes latitude (except that on\n"
-" input this can be overridden by a hemisphere designator, N, S, E,\n"
-" W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 3); prec is the precision\n"
-" relative to 1 m. See \"PRECISION\".\n"
-"\n"
-" -s By default, the rhumb line calculations are carried out exactly in\n"
-" terms of elliptic integrals. This includes the use of the addition\n"
-" theorem for elliptic integrals to compute the divided difference of\n"
-" the isometric and rectifying latitudes. If -s is supplied this\n"
-" divided difference is computed using Krueger series for the\n"
-" transverse Mercator projection which is only accurate for |f| <\n"
-" 0.01. See \"ACCURACY\".\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"INPUT\n"
-" RhumbSolve measures all angles in degrees, all lengths (s12) in meters,\n"
-" and all areas (S12) in meters^2. On input angles (latitude, longitude,\n"
-" azimuth, arc length) can be as decimal degrees or degrees, minutes,\n"
-" seconds. For example, \"40d30\", \"40d30'\", \"40:30\", \"40.5d\", and 40.5\n"
-" are all equivalent. By default, latitude precedes longitude for each\n"
-" point (the -w flag switches this convention); however on input either\n"
-" may be given first by appending (or prepending) N or S to the latitude\n"
-" and E or W to the longitude. Azimuths are measured clockwise from\n"
-" north; however this may be overridden with E or W.\n"
-"\n"
-" For details on the allowed formats for angles, see the \"GEOGRAPHIC\n"
-" COORDINATES\" section of GeoConvert(1).\n"
-"\n"
-"PRECISION\n"
-" prec gives precision of the output with prec = 0 giving 1 m precision,\n"
-" prec = 3 giving 1 mm precision, etc. prec is the number of digits\n"
-" after the decimal point for lengths. For decimal degrees, the number\n"
-" of digits after the decimal point is prec + 5. For DMS (degree,\n"
-" minute, seconds) output, the number of digits after the decimal point\n"
-" in the seconds component is prec + 1. The minimum value of prec is 0\n"
-" and the maximum is 10.\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes RhumbSolve to return an exit code of\n"
-" 1. However, an error does not cause RhumbSolve to terminate; following\n"
-" lines will be converted.\n"
-"\n"
-"ACCURACY\n"
-" The algorithm used by RhumbSolve uses exact formulas for converting\n"
-" between the latitude, rectifying latitude (mu), and isometric latitude\n"
-" (psi). These formulas are accurate for any value of the flattening.\n"
-" The computation of rhumb lines involves the ratio (psi1 - psi2) / (mu1\n"
-" - mu2) and this is subject to large round-off errors if lat1 is close\n"
-" to lat2. So this ratio is computed using divided differences using one\n"
-" of two methods: by default, this uses the addition theorem for elliptic\n"
-" integrals (accurate for all values of f); however, with the -s options,\n"
-" it is computed using the series expansions used by\n"
-" TransverseMercatorProj(1) for the conversions between rectifying and\n"
-" conformal latitudes (accurate for |f| < 0.01). For the WGS84\n"
-" ellipsoid, the error is about 10 nanometers using either method.\n"
-"\n"
-"EXAMPLES\n"
-" Route from JFK Airport to Singapore Changi Airport:\n"
-"\n"
-" echo 40:38:23N 073:46:44W 01:21:33N 103:59:22E |\n"
-" RhumbSolve -i -: -p 0\n"
-"\n"
-" 103:34:58.2 18523563\n"
-"\n"
-" N.B. This is not the route typically taken by aircraft because it's\n"
-" considerably longer than the geodesic given by GeodSolve(1).\n"
-"\n"
-" Waypoints on the route at intervals of 2000km:\n"
-"\n"
-" for ((i = 0; i <= 20; i += 2)); do echo ${i}000000;done |\n"
-" RhumbSolve -L 40:38:23N 073:46:44W 103:34:58.2 -: -p 0\n"
-"\n"
-" 40:38:23.0N 073:46:44.0W 0\n"
-" 36:24:30.3N 051:28:26.4W 9817078307821\n"
-" 32:10:26.8N 030:20:57.3W 18224745682005\n"
-" 27:56:13.2N 010:10:54.2W 25358020327741\n"
-" 23:41:50.1N 009:12:45.5E 31321269267102\n"
-" 19:27:18.7N 027:59:22.1E 36195163180159\n"
-" 15:12:40.2N 046:17:01.1E 40041499143669\n"
-" 10:57:55.9N 064:12:52.8E 42906570007050\n"
-" 06:43:07.3N 081:53:28.8E 44823504180200\n"
-" 02:28:16.2N 099:24:54.5E 45813843358737\n"
-" 01:46:36.0S 116:52:59.7E 45888525219677\n"
-"\n"
-"SEE ALSO\n"
-" GeoConvert(1), GeodSolve(1), TransverseMercatorProj(1).\n"
-"\n"
-" An online version of this utility is availbable at\n"
-" .\n"
-"\n"
-" The Wikipedia page, Rhumb line,\n"
-" .\n"
-"\n"
-"AUTHOR\n"
-" RhumbSolve was written by Charles Karney.\n"
-"\n"
-"HISTORY\n"
-" RhumbSolve was added to GeographicLib,\n"
-" , in version 1.37.\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1 b/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1
deleted file mode 100644
index cbbdc6b923403daf0c995bd42fc31931d0bef68a..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1
+++ /dev/null
@@ -1,280 +0,0 @@
-.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "TRANSVERSEMERCATORPROJ 1"
-.TH TRANSVERSEMERCATORPROJ 1 "2019-12-12" "GeographicLib 1.50.1" "GeographicLib Utilities"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.SH "NAME"
-TransverseMercatorProj \-\- perform transverse Mercator projection
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBTransverseMercatorProj\fR [ \fB\-s\fR | \fB\-t\fR ]
-[ \fB\-l\fR \fIlon0\fR ] [ \fB\-k\fR \fIk0\fR ] [ \fB\-r\fR ]
-[ \fB\-e\fR \fIa\fR \fIf\fR ] [ \fB\-w\fR ] [ \fB\-p\fR \fIprec\fR ]
-[ \fB\-\-comment\-delimiter\fR \fIcommentdelim\fR ]
-[ \fB\-\-version\fR | \fB\-h\fR | \fB\-\-help\fR ]
-[ \fB\-\-input\-file\fR \fIinfile\fR | \fB\-\-input\-string\fR \fIinstring\fR ]
-[ \fB\-\-line\-separator\fR \fIlinesep\fR ]
-[ \fB\-\-output\-file\fR \fIoutfile\fR ]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-Perform the transverse Mercator projections. Convert geodetic
-coordinates to transverse Mercator coordinates. The central meridian is
-given by \fIlon0\fR. The longitude of origin is the equator. The scale on
-the central meridian is \fIk0\fR. By default an implementation of the
-exact transverse Mercator projection is used.
-.PP
-Geodetic coordinates are provided on standard input as a set of lines
-containing (blank separated) \fIlatitude\fR and \fIlongitude\fR (decimal
-degrees or degrees, minutes, seconds); for detils on the allowed
-formats for latitude and longitude, see the \f(CW\*(C`GEOGRAPHIC COORDINATES\*(C'\fR
-section of \fIGeoConvert\fR\|(1). For each set of geodetic coordinates, the
-corresponding projected easting, \fIx\fR, and northing, \fIy\fR, (meters) are
-printed on standard output together with the meridian convergence
-\&\fIgamma\fR (degrees) and scale \fIk\fR. The meridian convergence is the
-bearing of grid north (the \fIy\fR axis) measured clockwise from true north.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.IP "\fB\-s\fR" 4
-.IX Item "-s"
-use the sixth-order Krueger series approximation to the transverse
-Mercator projection instead of the exact projection.
-.IP "\fB\-t\fR" 4
-.IX Item "-t"
-use the exact algorithm with the \*(L"\s-1EXTENDED DOMAIN\*(R"\s0.
-.IP "\fB\-l\fR \fIlon0\fR" 4
-.IX Item "-l lon0"
-specify the longitude of origin \fIlon0\fR (degrees, default 0).
-.IP "\fB\-k\fR \fIk0\fR" 4
-.IX Item "-k k0"
-specify the scale \fIk0\fR on the central meridian (default 0.9996).
-.IP "\fB\-r\fR" 4
-.IX Item "-r"
-perform the reverse projection. \fIx\fR and \fIy\fR are given on standard
-input and each line of standard output gives \fIlatitude\fR, \fIlongitude\fR,
-\&\fIgamma\fR, and \fIk\fR.
-.IP "\fB\-e\fR \fIa\fR \fIf\fR" 4
-.IX Item "-e a f"
-specify the ellipsoid via the equatorial radius, \fIa\fR and
-the flattening, \fIf\fR. Setting \fIf\fR = 0 results in a sphere. Specify
-\&\fIf\fR < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297,
-is allowed for \fIf\fR. By default, the \s-1WGS84\s0 ellipsoid is used, \fIa\fR =
-6378137 m, \fIf\fR = 1/298.257223563. If the exact algorithm is used, \fIf\fR
-must be positive.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-on input and output, longitude precedes latitude (except that on input
-this can be overridden by a hemisphere designator, \fIN\fR, \fIS\fR, \fIE\fR,
-\&\fIW\fR).
-.IP "\fB\-p\fR \fIprec\fR" 4
-.IX Item "-p prec"
-set the output precision to \fIprec\fR (default 6). \fIprec\fR is the number
-of digits after the decimal point for lengths (in meters). For
-latitudes and longitudes (in degrees), the number of digits after the
-decimal point is \fIprec\fR + 5. For the convergence (in degrees) and
-scale, the number of digits after the decimal point is \fIprec\fR + 6.
-.IP "\fB\-\-comment\-delimiter\fR \fIcommentdelim\fR" 4
-.IX Item "--comment-delimiter commentdelim"
-set the comment delimiter to \fIcommentdelim\fR (e.g., \*(L"#\*(R" or \*(L"//\*(R"). If
-set, the input lines will be scanned for this delimiter and, if found,
-the delimiter and the rest of the line will be removed prior to
-processing and subsequently appended to the output line (separated by a
-space).
-.IP "\fB\-\-version\fR" 4
-.IX Item "--version"
-print version and exit.
-.IP "\fB\-h\fR" 4
-.IX Item "-h"
-print usage and exit.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-print full documentation and exit.
-.IP "\fB\-\-input\-file\fR \fIinfile\fR" 4
-.IX Item "--input-file infile"
-read input from the file \fIinfile\fR instead of from standard input; a file
-name of \*(L"\-\*(R" stands for standard input.
-.IP "\fB\-\-input\-string\fR \fIinstring\fR" 4
-.IX Item "--input-string instring"
-read input from the string \fIinstring\fR instead of from standard input.
-All occurrences of the line separator character (default is a semicolon)
-in \fIinstring\fR are converted to newlines before the reading begins.
-.IP "\fB\-\-line\-separator\fR \fIlinesep\fR" 4
-.IX Item "--line-separator linesep"
-set the line separator character to \fIlinesep\fR. By default this is a
-semicolon.
-.IP "\fB\-\-output\-file\fR \fIoutfile\fR" 4
-.IX Item "--output-file outfile"
-write output to the file \fIoutfile\fR instead of to standard output; a
-file name of \*(L"\-\*(R" stands for standard output.
-.SH "EXTENDED DOMAIN"
-.IX Header "EXTENDED DOMAIN"
-The exact transverse Mercator projection has a \fIbranch point\fR on the
-equator at longitudes (relative to \fIlon0\fR) of +/\- (1 \- \fIe\fR) 90, where
-\&\fIe\fR is the eccentricity of the ellipsoid. The standard convention for
-handling this branch point is to map positive (negative) latitudes into
-positive (negative) northings \fIy\fR; i.e., a branch cut is placed on the
-equator. With the \fIextended\fR domain, the northern sheet of the
-projection is extended into the south hemisphere by pushing the branch
-cut south from the branch points. See the reference below for details.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-.Vb 4
-\& echo 0 90 | TransverseMercatorProj
-\& => 25953592.84 9997964.94 90 18.40
-\& echo 260e5 100e5 | TransverseMercatorProj \-r
-\& => \-0.02 90.00 90.01 18.48
-.Ve
-.SH "ERRORS"
-.IX Header "ERRORS"
-An illegal line of input will print an error message to standard output
-beginning with \f(CW\*(C`ERROR:\*(C'\fR and causes \fBTransverseMercatorProj\fR to return an exit
-code of 1. However, an error does not cause \fBTransverseMercatorProj\fR to
-terminate; following lines will be converted.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-\&\fBTransverseMercatorProj\fR was written by Charles Karney.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-The algorithms for the transverse Mercator projection are described in
-C. F. F. Karney, \fITransverse Mercator with an accuracy of a few
-nanometers\fR, J. Geodesy \fB85\fR(8), 475\-485 (Aug. 2011); \s-1DOI\s0
-; preprint
-. The explanation of the extended
-domain of the projection with the \fB\-t\fR option is given in Section 5 of
-this paper.
-.SH "HISTORY"
-.IX Header "HISTORY"
-\&\fBTransverseMercatorProj\fR was added to GeographicLib,
-, in 2009\-01.
-Prior to version 1.9 it was called TransverseMercatorTest (and its
-interface was slightly different).
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1.html b/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1.html
deleted file mode 100644
index d1b9e4e84d35b62e6b45eb128e81fc8fa54fd275..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1.html
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-
-
-TransverseMercatorProj(1)
-
-
-
-
-
-
-
-
-
Perform the transverse Mercator projections. Convert geodetic coordinates to transverse Mercator coordinates. The central meridian is given by lon0. The longitude of origin is the equator. The scale on the central meridian is k0. By default an implementation of the exact transverse Mercator projection is used.
-
-
Geodetic coordinates are provided on standard input as a set of lines containing (blank separated) latitude and longitude (decimal degrees or degrees, minutes, seconds); for detils on the allowed formats for latitude and longitude, see the GEOGRAPHIC COORDINATES section of GeoConvert(1). For each set of geodetic coordinates, the corresponding projected easting, x, and northing, y, (meters) are printed on standard output together with the meridian convergence gamma (degrees) and scale k. The meridian convergence is the bearing of grid north (the y axis) measured clockwise from true north.
-
-
OPTIONS
-
-
-
-
-s
-
-
-
use the sixth-order Krueger series approximation to the transverse Mercator projection instead of the exact projection.
specify the longitude of origin lon0 (degrees, default 0).
-
-
-
-kk0
-
-
-
specify the scale k0 on the central meridian (default 0.9996).
-
-
-
-r
-
-
-
perform the reverse projection. x and y are given on standard input and each line of standard output gives latitude, longitude, gamma, and k.
-
-
-
-eaf
-
-
-
specify the ellipsoid via the equatorial radius, a and the flattening, f. Setting f = 0 results in a sphere. Specify f < 0 for a prolate ellipsoid. A simple fraction, e.g., 1/297, is allowed for f. By default, the WGS84 ellipsoid is used, a = 6378137 m, f = 1/298.257223563. If the exact algorithm is used, f must be positive.
-
-
-
-w
-
-
-
on input and output, longitude precedes latitude (except that on input this can be overridden by a hemisphere designator, N, S, E, W).
-
-
-
-pprec
-
-
-
set the output precision to prec (default 6). prec is the number of digits after the decimal point for lengths (in meters). For latitudes and longitudes (in degrees), the number of digits after the decimal point is prec + 5. For the convergence (in degrees) and scale, the number of digits after the decimal point is prec + 6.
-
-
-
--comment-delimitercommentdelim
-
-
-
set the comment delimiter to commentdelim (e.g., "#" or "//"). If set, the input lines will be scanned for this delimiter and, if found, the delimiter and the rest of the line will be removed prior to processing and subsequently appended to the output line (separated by a space).
-
-
-
--version
-
-
-
print version and exit.
-
-
-
-h
-
-
-
print usage and exit.
-
-
-
--help
-
-
-
print full documentation and exit.
-
-
-
--input-fileinfile
-
-
-
read input from the file infile instead of from standard input; a file name of "-" stands for standard input.
-
-
-
--input-stringinstring
-
-
-
read input from the string instring instead of from standard input. All occurrences of the line separator character (default is a semicolon) in instring are converted to newlines before the reading begins.
-
-
-
--line-separatorlinesep
-
-
-
set the line separator character to linesep. By default this is a semicolon.
-
-
-
--output-fileoutfile
-
-
-
write output to the file outfile instead of to standard output; a file name of "-" stands for standard output.
-
-
-
-
-
EXTENDED DOMAIN
-
-
The exact transverse Mercator projection has a branch point on the equator at longitudes (relative to lon0) of +/- (1 - e) 90, where e is the eccentricity of the ellipsoid. The standard convention for handling this branch point is to map positive (negative) latitudes into positive (negative) northings y; i.e., a branch cut is placed on the equator. With the extended domain, the northern sheet of the projection is extended into the south hemisphere by pushing the branch cut south from the branch points. See the reference below for details.
An illegal line of input will print an error message to standard output beginning with ERROR: and causes TransverseMercatorProj to return an exit code of 1. However, an error does not cause TransverseMercatorProj to terminate; following lines will be converted.
-
-
AUTHOR
-
-
TransverseMercatorProj was written by Charles Karney.
-
-
SEE ALSO
-
-
The algorithms for the transverse Mercator projection are described in C. F. F. Karney, Transverse Mercator with an accuracy of a few nanometers, J. Geodesy 85(8), 475-485 (Aug. 2011); DOI https://doi.org/10.1007/s00190-011-0445-3; preprint https://arxiv.org/abs/1002.1417. The explanation of the extended domain of the projection with the -t option is given in Section 5 of this paper.
-
-
HISTORY
-
-
TransverseMercatorProj was added to GeographicLib, https://geographiclib.sourceforge.io, in 2009-01. Prior to version 1.9 it was called TransverseMercatorTest (and its interface was slightly different).
-
-
-
-
-
-
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.usage b/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.usage
deleted file mode 100644
index 0640c335e6e69c9778b0d17cca03514ba48e35e7..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.usage
+++ /dev/null
@@ -1,151 +0,0 @@
-int usage(int retval, bool brief) {
- if (brief)
- ( retval ? std::cerr : std::cout ) << "Usage:\n"
-" TransverseMercatorProj [ -s | -t ] [ -l lon0 ] [ -k k0 ] [ -r ] [ -e a\n"
-" f ] [ -w ] [ -p prec ] [ --comment-delimiter commentdelim ] [ --version\n"
-" | -h | --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"For full documentation type:\n"
-" TransverseMercatorProj --help\n"
-"or visit:\n"
-" https://geographiclib.sourceforge.io/1.50.1/TransverseMercatorProj.1.html\n";
- else
- ( retval ? std::cerr : std::cout ) << "Man page:\n"
-"NAME\n"
-" TransverseMercatorProj -- perform transverse Mercator projection\n"
-"\n"
-"SYNOPSIS\n"
-" TransverseMercatorProj [ -s | -t ] [ -l lon0 ] [ -k k0 ] [ -r ] [ -e a\n"
-" f ] [ -w ] [ -p prec ] [ --comment-delimiter commentdelim ] [ --version\n"
-" | -h | --help ] [ --input-file infile | --input-string instring ] [\n"
-" --line-separator linesep ] [ --output-file outfile ]\n"
-"\n"
-"DESCRIPTION\n"
-" Perform the transverse Mercator projections. Convert geodetic\n"
-" coordinates to transverse Mercator coordinates. The central meridian\n"
-" is given by lon0. The longitude of origin is the equator. The scale\n"
-" on the central meridian is k0. By default an implementation of the\n"
-" exact transverse Mercator projection is used.\n"
-"\n"
-" Geodetic coordinates are provided on standard input as a set of lines\n"
-" containing (blank separated) latitude and longitude (decimal degrees or\n"
-" degrees, minutes, seconds); for detils on the allowed formats for\n"
-" latitude and longitude, see the \"GEOGRAPHIC COORDINATES\" section of\n"
-" GeoConvert(1). For each set of geodetic coordinates, the corresponding\n"
-" projected easting, x, and northing, y, (meters) are printed on standard\n"
-" output together with the meridian convergence gamma (degrees) and scale\n"
-" k. The meridian convergence is the bearing of grid north (the y axis)\n"
-" measured clockwise from true north.\n"
-"\n"
-"OPTIONS\n"
-" -s use the sixth-order Krueger series approximation to the transverse\n"
-" Mercator projection instead of the exact projection.\n"
-"\n"
-" -t use the exact algorithm with the \"EXTENDED DOMAIN\".\n"
-"\n"
-" -l lon0\n"
-" specify the longitude of origin lon0 (degrees, default 0).\n"
-"\n"
-" -k k0\n"
-" specify the scale k0 on the central meridian (default 0.9996).\n"
-"\n"
-" -r perform the reverse projection. x and y are given on standard\n"
-" input and each line of standard output gives latitude, longitude,\n"
-" gamma, and k.\n"
-"\n"
-" -e a f\n"
-" specify the ellipsoid via the equatorial radius, a and the\n"
-" flattening, f. Setting f = 0 results in a sphere. Specify f < 0\n"
-" for a prolate ellipsoid. A simple fraction, e.g., 1/297, is\n"
-" allowed for f. By default, the WGS84 ellipsoid is used, a =\n"
-" 6378137 m, f = 1/298.257223563. If the exact algorithm is used, f\n"
-" must be positive.\n"
-"\n"
-" -w on input and output, longitude precedes latitude (except that on\n"
-" input this can be overridden by a hemisphere designator, N, S, E,\n"
-" W).\n"
-"\n"
-" -p prec\n"
-" set the output precision to prec (default 6). prec is the number\n"
-" of digits after the decimal point for lengths (in meters). For\n"
-" latitudes and longitudes (in degrees), the number of digits after\n"
-" the decimal point is prec + 5. For the convergence (in degrees)\n"
-" and scale, the number of digits after the decimal point is prec +\n"
-" 6.\n"
-"\n"
-" --comment-delimiter commentdelim\n"
-" set the comment delimiter to commentdelim (e.g., \"#\" or \"//\"). If\n"
-" set, the input lines will be scanned for this delimiter and, if\n"
-" found, the delimiter and the rest of the line will be removed prior\n"
-" to processing and subsequently appended to the output line\n"
-" (separated by a space).\n"
-"\n"
-" --version\n"
-" print version and exit.\n"
-"\n"
-" -h print usage and exit.\n"
-"\n"
-" --help\n"
-" print full documentation and exit.\n"
-"\n"
-" --input-file infile\n"
-" read input from the file infile instead of from standard input; a\n"
-" file name of \"-\" stands for standard input.\n"
-"\n"
-" --input-string instring\n"
-" read input from the string instring instead of from standard input.\n"
-" All occurrences of the line separator character (default is a\n"
-" semicolon) in instring are converted to newlines before the reading\n"
-" begins.\n"
-"\n"
-" --line-separator linesep\n"
-" set the line separator character to linesep. By default this is a\n"
-" semicolon.\n"
-"\n"
-" --output-file outfile\n"
-" write output to the file outfile instead of to standard output; a\n"
-" file name of \"-\" stands for standard output.\n"
-"\n"
-"EXTENDED DOMAIN\n"
-" The exact transverse Mercator projection has a branch point on the\n"
-" equator at longitudes (relative to lon0) of +/- (1 - e) 90, where e is\n"
-" the eccentricity of the ellipsoid. The standard convention for\n"
-" handling this branch point is to map positive (negative) latitudes into\n"
-" positive (negative) northings y; i.e., a branch cut is placed on the\n"
-" equator. With the extended domain, the northern sheet of the\n"
-" projection is extended into the south hemisphere by pushing the branch\n"
-" cut south from the branch points. See the reference below for details.\n"
-"\n"
-"EXAMPLES\n"
-" echo 0 90 | TransverseMercatorProj\n"
-" => 25953592.84 9997964.94 90 18.40\n"
-" echo 260e5 100e5 | TransverseMercatorProj -r\n"
-" => -0.02 90.00 90.01 18.48\n"
-"\n"
-"ERRORS\n"
-" An illegal line of input will print an error message to standard output\n"
-" beginning with \"ERROR:\" and causes TransverseMercatorProj to return an\n"
-" exit code of 1. However, an error does not cause\n"
-" TransverseMercatorProj to terminate; following lines will be converted.\n"
-"\n"
-"AUTHOR\n"
-" TransverseMercatorProj was written by Charles Karney.\n"
-"\n"
-"SEE ALSO\n"
-" The algorithms for the transverse Mercator projection are described in\n"
-" C. F. F. Karney, Transverse Mercator with an accuracy of a few\n"
-" nanometers, J. Geodesy 85(8), 475-485 (Aug. 2011); DOI\n"
-" ; preprint\n"
-" . The explanation of the extended\n"
-" domain of the projection with the -t option is given in Section 5 of\n"
-" this paper.\n"
-"\n"
-"HISTORY\n"
-" TransverseMercatorProj was added to GeographicLib,\n"
-" , in 2009-01. Prior to version\n"
-" 1.9 it was called TransverseMercatorTest (and its interface was\n"
-" slightly different).\n"
-;
- return retval;
-}
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/man/cmake_install.cmake
deleted file mode 100644
index e200d15c2f01f2e4d43a450dca56a05e5d527fcc..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/cmake_install.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/man
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/CartConvert.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/ConicProj.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/GeodesicProj.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/GeoConvert.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/GeodSolve.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/GeoidEval.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/Gravity.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/MagneticField.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/Planimeter.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/RhumbSolve.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/TransverseMercatorProj.1"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man8" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/geographiclib-get-geoids.8"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/geographiclib-get-gravity.8"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/man/geographiclib-get-magnetic.8"
- )
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-geoids.8 b/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-geoids.8
deleted file mode 100644
index 0bf8fe9cf9a226e9554f80b5ec7e13166a67b220..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-geoids.8
+++ /dev/null
@@ -1,15 +0,0 @@
-.TH geographiclib-get-geoids 8 "" GeographicLib GeographicLib
-.SH NAME
-geographiclib-get-geoids \-\- a GeographicLib administrative tool
-.SH DESCRIPTION
-.B geographiclib-get-geoids
-downloads and installs the geoids datasets used by GeographicLib,
-. For documentation, supply the
-.B \-h
-option:
-.PP
- geographiclib-get-geoids \-h
-.PP
-By default, the datasets are installed in
-.I /usr/local/share/GeographicLib/geoids
-and the script requires write access to this directory.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-gravity.8 b/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-gravity.8
deleted file mode 100644
index 198d7643a5acd2f5957597495fd6f2e1b65ea485..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-gravity.8
+++ /dev/null
@@ -1,15 +0,0 @@
-.TH geographiclib-get-gravity 8 "" GeographicLib GeographicLib
-.SH NAME
-geographiclib-get-gravity \-\- a GeographicLib administrative tool
-.SH DESCRIPTION
-.B geographiclib-get-gravity
-downloads and installs the gravity datasets used by GeographicLib,
-. For documentation, supply the
-.B \-h
-option:
-.PP
- geographiclib-get-gravity \-h
-.PP
-By default, the datasets are installed in
-.I /usr/local/share/GeographicLib/gravity
-and the script requires write access to this directory.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-magnetic.8 b/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-magnetic.8
deleted file mode 100644
index 0a70c1210f52cd2cd39bcbec91650ab9ab35e54d..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/geographiclib-get-magnetic.8
+++ /dev/null
@@ -1,15 +0,0 @@
-.TH geographiclib-get-magnetic 8 "" GeographicLib GeographicLib
-.SH NAME
-geographiclib-get-magnetic \-\- a GeographicLib administrative tool
-.SH DESCRIPTION
-.B geographiclib-get-magnetic
-downloads and installs the magnetic datasets used by GeographicLib,
-. For documentation, supply the
-.B \-h
-option:
-.PP
- geographiclib-get-magnetic \-h
-.PP
-By default, the datasets are installed in
-.I /usr/local/share/GeographicLib/magnetic
-and the script requires write access to this directory.
diff --git a/libs/GeographicLib-1.50.1/BUILD/man/pod2htmd.tmp b/libs/GeographicLib-1.50.1/BUILD/man/pod2htmd.tmp
deleted file mode 100644
index 61e86d9f1b8a5072b5e67872d7c2f8b1e9a79cee..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/man/pod2htmd.tmp
+++ /dev/null
@@ -1,2 +0,0 @@
-
-.
diff --git a/libs/GeographicLib-1.50.1/BUILD/matlab/Makefile b/libs/GeographicLib-1.50.1/BUILD/matlab/Makefile
deleted file mode 100644
index 3e9e2dff02dbb0d066a5448018e22b7436b68f66..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/matlab/Makefile
+++ /dev/null
@@ -1,220 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/matlab/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 matlab/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 matlab/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 matlab/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 matlab/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install/strip"
- @echo "... install"
- @echo "... package_source"
- @echo "... package"
- @echo "... install/local"
- @echo "... test"
- @echo "... list_install_components"
- @echo "... edit_cache"
- @echo "... rebuild_cache"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/matlab/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/matlab/cmake_install.cmake
deleted file mode 100644
index ebd1b7391bdeb1d75a9e87a8b28c724127abfdf6..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/matlab/cmake_install.cmake
+++ /dev/null
@@ -1,133 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/matlab
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/matlab/geographiclib" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/Contents.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/cassini_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/cassini_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/defaultellipsoid.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/ecc2flat.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/eqdazim_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/eqdazim_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/flat2ecc.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/gedistance.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/gedoc.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geocent_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geocent_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geodarea.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geoddistance.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geoddoc.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geodreckon.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geographiclib_test.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geoid_height.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/geoid_load.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/gereckon.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/gnomonic_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/gnomonic_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/loccart_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/loccart_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/mgrs_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/mgrs_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/polarst_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/polarst_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/projdoc.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/tranmerc_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/tranmerc_inv.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/utmups_fwd.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/utmups_inv.m"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/matlab/geographiclib/private" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/A1m1f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/A2m1f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/A3coeff.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/A3f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/AngDiff.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/AngNormalize.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/AngRound.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C1f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C1pf.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C2f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C3coeff.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C3f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C4coeff.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/C4f.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/G4coeff.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/GeoRotation.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/LatFix.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/SinCosSeries.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/atan2dx.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/cbrtx.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/copysignx.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/cvmgt.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/eatanhe.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/geoid_file.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/geoid_load_file.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/norm2.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/remx.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/sincosdx.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/sumx.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/swap.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/tauf.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib/private/taupf.m"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/matlab/geographiclib-legacy" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/Contents.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/geocentricforward.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/geocentricreverse.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/geodesicdirect.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/geodesicinverse.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/geodesicline.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/geoidheight.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/localcartesianforward.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/localcartesianreverse.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/mgrsforward.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/mgrsreverse.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/polygonarea.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/utmupsforward.m"
- "/home/valentin/src/GeographicLib-1.50.1/matlab/geographiclib-legacy/utmupsreverse.m"
- )
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/python/geographiclib/Makefile b/libs/GeographicLib-1.50.1/BUILD/python/geographiclib/Makefile
deleted file mode 100644
index 6c5c6faff4e74bcddb83c8f79eaeae28a5d11ae2..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/python/geographiclib/Makefile
+++ /dev/null
@@ -1,220 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/python/geographiclib/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 python/geographiclib/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 python/geographiclib/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 python/geographiclib/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 python/geographiclib/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install/strip"
- @echo "... install"
- @echo "... package_source"
- @echo "... package"
- @echo "... install/local"
- @echo "... test"
- @echo "... list_install_components"
- @echo "... edit_cache"
- @echo "... rebuild_cache"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/python/geographiclib/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/python/geographiclib/cmake_install.cmake
deleted file mode 100644
index 1180d24b66a91265fca953261e1f370bce8873b3..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/python/geographiclib/cmake_install.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/python/geographiclib
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/python/site-packages/geographiclib" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/__init__.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/accumulator.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/constants.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/geodesic.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/geodesiccapability.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/geodesicline.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/geomath.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/polygonarea.py"
- )
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/python/site-packages/geographiclib/test" TYPE FILE FILES
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/test/__init__.py"
- "/home/valentin/src/GeographicLib-1.50.1/python/geographiclib/test/test_geodesic.py"
- )
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/src/Makefile b/libs/GeographicLib-1.50.1/BUILD/src/Makefile
deleted file mode 100644
index c24fbe9a0f57c54af200a5c26a3d74ff1b3309c3..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/src/Makefile
+++ /dev/null
@@ -1,1376 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/src/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 src/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 src/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 src/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 src/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-src/CMakeFiles/GeographicLib_SHARED.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 src/CMakeFiles/GeographicLib_SHARED.dir/rule
-.PHONY : src/CMakeFiles/GeographicLib_SHARED.dir/rule
-
-# Convenience name for target.
-GeographicLib_SHARED: src/CMakeFiles/GeographicLib_SHARED.dir/rule
-
-.PHONY : GeographicLib_SHARED
-
-# fast build rule for target.
-GeographicLib_SHARED/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/build
-.PHONY : GeographicLib_SHARED/fast
-
-Accumulator.o: Accumulator.cpp.o
-
-.PHONY : Accumulator.o
-
-# target to build an object file
-Accumulator.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Accumulator.cpp.o
-.PHONY : Accumulator.cpp.o
-
-Accumulator.i: Accumulator.cpp.i
-
-.PHONY : Accumulator.i
-
-# target to preprocess a source file
-Accumulator.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Accumulator.cpp.i
-.PHONY : Accumulator.cpp.i
-
-Accumulator.s: Accumulator.cpp.s
-
-.PHONY : Accumulator.s
-
-# target to generate assembly for a file
-Accumulator.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Accumulator.cpp.s
-.PHONY : Accumulator.cpp.s
-
-AlbersEqualArea.o: AlbersEqualArea.cpp.o
-
-.PHONY : AlbersEqualArea.o
-
-# target to build an object file
-AlbersEqualArea.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/AlbersEqualArea.cpp.o
-.PHONY : AlbersEqualArea.cpp.o
-
-AlbersEqualArea.i: AlbersEqualArea.cpp.i
-
-.PHONY : AlbersEqualArea.i
-
-# target to preprocess a source file
-AlbersEqualArea.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/AlbersEqualArea.cpp.i
-.PHONY : AlbersEqualArea.cpp.i
-
-AlbersEqualArea.s: AlbersEqualArea.cpp.s
-
-.PHONY : AlbersEqualArea.s
-
-# target to generate assembly for a file
-AlbersEqualArea.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/AlbersEqualArea.cpp.s
-.PHONY : AlbersEqualArea.cpp.s
-
-AzimuthalEquidistant.o: AzimuthalEquidistant.cpp.o
-
-.PHONY : AzimuthalEquidistant.o
-
-# target to build an object file
-AzimuthalEquidistant.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/AzimuthalEquidistant.cpp.o
-.PHONY : AzimuthalEquidistant.cpp.o
-
-AzimuthalEquidistant.i: AzimuthalEquidistant.cpp.i
-
-.PHONY : AzimuthalEquidistant.i
-
-# target to preprocess a source file
-AzimuthalEquidistant.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/AzimuthalEquidistant.cpp.i
-.PHONY : AzimuthalEquidistant.cpp.i
-
-AzimuthalEquidistant.s: AzimuthalEquidistant.cpp.s
-
-.PHONY : AzimuthalEquidistant.s
-
-# target to generate assembly for a file
-AzimuthalEquidistant.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/AzimuthalEquidistant.cpp.s
-.PHONY : AzimuthalEquidistant.cpp.s
-
-CassiniSoldner.o: CassiniSoldner.cpp.o
-
-.PHONY : CassiniSoldner.o
-
-# target to build an object file
-CassiniSoldner.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/CassiniSoldner.cpp.o
-.PHONY : CassiniSoldner.cpp.o
-
-CassiniSoldner.i: CassiniSoldner.cpp.i
-
-.PHONY : CassiniSoldner.i
-
-# target to preprocess a source file
-CassiniSoldner.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/CassiniSoldner.cpp.i
-.PHONY : CassiniSoldner.cpp.i
-
-CassiniSoldner.s: CassiniSoldner.cpp.s
-
-.PHONY : CassiniSoldner.s
-
-# target to generate assembly for a file
-CassiniSoldner.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/CassiniSoldner.cpp.s
-.PHONY : CassiniSoldner.cpp.s
-
-CircularEngine.o: CircularEngine.cpp.o
-
-.PHONY : CircularEngine.o
-
-# target to build an object file
-CircularEngine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/CircularEngine.cpp.o
-.PHONY : CircularEngine.cpp.o
-
-CircularEngine.i: CircularEngine.cpp.i
-
-.PHONY : CircularEngine.i
-
-# target to preprocess a source file
-CircularEngine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/CircularEngine.cpp.i
-.PHONY : CircularEngine.cpp.i
-
-CircularEngine.s: CircularEngine.cpp.s
-
-.PHONY : CircularEngine.s
-
-# target to generate assembly for a file
-CircularEngine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/CircularEngine.cpp.s
-.PHONY : CircularEngine.cpp.s
-
-DMS.o: DMS.cpp.o
-
-.PHONY : DMS.o
-
-# target to build an object file
-DMS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/DMS.cpp.o
-.PHONY : DMS.cpp.o
-
-DMS.i: DMS.cpp.i
-
-.PHONY : DMS.i
-
-# target to preprocess a source file
-DMS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/DMS.cpp.i
-.PHONY : DMS.cpp.i
-
-DMS.s: DMS.cpp.s
-
-.PHONY : DMS.s
-
-# target to generate assembly for a file
-DMS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/DMS.cpp.s
-.PHONY : DMS.cpp.s
-
-Ellipsoid.o: Ellipsoid.cpp.o
-
-.PHONY : Ellipsoid.o
-
-# target to build an object file
-Ellipsoid.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Ellipsoid.cpp.o
-.PHONY : Ellipsoid.cpp.o
-
-Ellipsoid.i: Ellipsoid.cpp.i
-
-.PHONY : Ellipsoid.i
-
-# target to preprocess a source file
-Ellipsoid.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Ellipsoid.cpp.i
-.PHONY : Ellipsoid.cpp.i
-
-Ellipsoid.s: Ellipsoid.cpp.s
-
-.PHONY : Ellipsoid.s
-
-# target to generate assembly for a file
-Ellipsoid.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Ellipsoid.cpp.s
-.PHONY : Ellipsoid.cpp.s
-
-EllipticFunction.o: EllipticFunction.cpp.o
-
-.PHONY : EllipticFunction.o
-
-# target to build an object file
-EllipticFunction.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/EllipticFunction.cpp.o
-.PHONY : EllipticFunction.cpp.o
-
-EllipticFunction.i: EllipticFunction.cpp.i
-
-.PHONY : EllipticFunction.i
-
-# target to preprocess a source file
-EllipticFunction.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/EllipticFunction.cpp.i
-.PHONY : EllipticFunction.cpp.i
-
-EllipticFunction.s: EllipticFunction.cpp.s
-
-.PHONY : EllipticFunction.s
-
-# target to generate assembly for a file
-EllipticFunction.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/EllipticFunction.cpp.s
-.PHONY : EllipticFunction.cpp.s
-
-GARS.o: GARS.cpp.o
-
-.PHONY : GARS.o
-
-# target to build an object file
-GARS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GARS.cpp.o
-.PHONY : GARS.cpp.o
-
-GARS.i: GARS.cpp.i
-
-.PHONY : GARS.i
-
-# target to preprocess a source file
-GARS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GARS.cpp.i
-.PHONY : GARS.cpp.i
-
-GARS.s: GARS.cpp.s
-
-.PHONY : GARS.s
-
-# target to generate assembly for a file
-GARS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GARS.cpp.s
-.PHONY : GARS.cpp.s
-
-GeoCoords.o: GeoCoords.cpp.o
-
-.PHONY : GeoCoords.o
-
-# target to build an object file
-GeoCoords.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeoCoords.cpp.o
-.PHONY : GeoCoords.cpp.o
-
-GeoCoords.i: GeoCoords.cpp.i
-
-.PHONY : GeoCoords.i
-
-# target to preprocess a source file
-GeoCoords.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeoCoords.cpp.i
-.PHONY : GeoCoords.cpp.i
-
-GeoCoords.s: GeoCoords.cpp.s
-
-.PHONY : GeoCoords.s
-
-# target to generate assembly for a file
-GeoCoords.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeoCoords.cpp.s
-.PHONY : GeoCoords.cpp.s
-
-Geocentric.o: Geocentric.cpp.o
-
-.PHONY : Geocentric.o
-
-# target to build an object file
-Geocentric.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geocentric.cpp.o
-.PHONY : Geocentric.cpp.o
-
-Geocentric.i: Geocentric.cpp.i
-
-.PHONY : Geocentric.i
-
-# target to preprocess a source file
-Geocentric.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geocentric.cpp.i
-.PHONY : Geocentric.cpp.i
-
-Geocentric.s: Geocentric.cpp.s
-
-.PHONY : Geocentric.s
-
-# target to generate assembly for a file
-Geocentric.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geocentric.cpp.s
-.PHONY : Geocentric.cpp.s
-
-Geodesic.o: Geodesic.cpp.o
-
-.PHONY : Geodesic.o
-
-# target to build an object file
-Geodesic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geodesic.cpp.o
-.PHONY : Geodesic.cpp.o
-
-Geodesic.i: Geodesic.cpp.i
-
-.PHONY : Geodesic.i
-
-# target to preprocess a source file
-Geodesic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geodesic.cpp.i
-.PHONY : Geodesic.cpp.i
-
-Geodesic.s: Geodesic.cpp.s
-
-.PHONY : Geodesic.s
-
-# target to generate assembly for a file
-Geodesic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geodesic.cpp.s
-.PHONY : Geodesic.cpp.s
-
-GeodesicExact.o: GeodesicExact.cpp.o
-
-.PHONY : GeodesicExact.o
-
-# target to build an object file
-GeodesicExact.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicExact.cpp.o
-.PHONY : GeodesicExact.cpp.o
-
-GeodesicExact.i: GeodesicExact.cpp.i
-
-.PHONY : GeodesicExact.i
-
-# target to preprocess a source file
-GeodesicExact.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicExact.cpp.i
-.PHONY : GeodesicExact.cpp.i
-
-GeodesicExact.s: GeodesicExact.cpp.s
-
-.PHONY : GeodesicExact.s
-
-# target to generate assembly for a file
-GeodesicExact.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicExact.cpp.s
-.PHONY : GeodesicExact.cpp.s
-
-GeodesicExactC4.o: GeodesicExactC4.cpp.o
-
-.PHONY : GeodesicExactC4.o
-
-# target to build an object file
-GeodesicExactC4.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicExactC4.cpp.o
-.PHONY : GeodesicExactC4.cpp.o
-
-GeodesicExactC4.i: GeodesicExactC4.cpp.i
-
-.PHONY : GeodesicExactC4.i
-
-# target to preprocess a source file
-GeodesicExactC4.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicExactC4.cpp.i
-.PHONY : GeodesicExactC4.cpp.i
-
-GeodesicExactC4.s: GeodesicExactC4.cpp.s
-
-.PHONY : GeodesicExactC4.s
-
-# target to generate assembly for a file
-GeodesicExactC4.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicExactC4.cpp.s
-.PHONY : GeodesicExactC4.cpp.s
-
-GeodesicLine.o: GeodesicLine.cpp.o
-
-.PHONY : GeodesicLine.o
-
-# target to build an object file
-GeodesicLine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicLine.cpp.o
-.PHONY : GeodesicLine.cpp.o
-
-GeodesicLine.i: GeodesicLine.cpp.i
-
-.PHONY : GeodesicLine.i
-
-# target to preprocess a source file
-GeodesicLine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicLine.cpp.i
-.PHONY : GeodesicLine.cpp.i
-
-GeodesicLine.s: GeodesicLine.cpp.s
-
-.PHONY : GeodesicLine.s
-
-# target to generate assembly for a file
-GeodesicLine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicLine.cpp.s
-.PHONY : GeodesicLine.cpp.s
-
-GeodesicLineExact.o: GeodesicLineExact.cpp.o
-
-.PHONY : GeodesicLineExact.o
-
-# target to build an object file
-GeodesicLineExact.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicLineExact.cpp.o
-.PHONY : GeodesicLineExact.cpp.o
-
-GeodesicLineExact.i: GeodesicLineExact.cpp.i
-
-.PHONY : GeodesicLineExact.i
-
-# target to preprocess a source file
-GeodesicLineExact.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicLineExact.cpp.i
-.PHONY : GeodesicLineExact.cpp.i
-
-GeodesicLineExact.s: GeodesicLineExact.cpp.s
-
-.PHONY : GeodesicLineExact.s
-
-# target to generate assembly for a file
-GeodesicLineExact.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GeodesicLineExact.cpp.s
-.PHONY : GeodesicLineExact.cpp.s
-
-Geohash.o: Geohash.cpp.o
-
-.PHONY : Geohash.o
-
-# target to build an object file
-Geohash.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geohash.cpp.o
-.PHONY : Geohash.cpp.o
-
-Geohash.i: Geohash.cpp.i
-
-.PHONY : Geohash.i
-
-# target to preprocess a source file
-Geohash.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geohash.cpp.i
-.PHONY : Geohash.cpp.i
-
-Geohash.s: Geohash.cpp.s
-
-.PHONY : Geohash.s
-
-# target to generate assembly for a file
-Geohash.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geohash.cpp.s
-.PHONY : Geohash.cpp.s
-
-Geoid.o: Geoid.cpp.o
-
-.PHONY : Geoid.o
-
-# target to build an object file
-Geoid.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geoid.cpp.o
-.PHONY : Geoid.cpp.o
-
-Geoid.i: Geoid.cpp.i
-
-.PHONY : Geoid.i
-
-# target to preprocess a source file
-Geoid.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geoid.cpp.i
-.PHONY : Geoid.cpp.i
-
-Geoid.s: Geoid.cpp.s
-
-.PHONY : Geoid.s
-
-# target to generate assembly for a file
-Geoid.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Geoid.cpp.s
-.PHONY : Geoid.cpp.s
-
-Georef.o: Georef.cpp.o
-
-.PHONY : Georef.o
-
-# target to build an object file
-Georef.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Georef.cpp.o
-.PHONY : Georef.cpp.o
-
-Georef.i: Georef.cpp.i
-
-.PHONY : Georef.i
-
-# target to preprocess a source file
-Georef.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Georef.cpp.i
-.PHONY : Georef.cpp.i
-
-Georef.s: Georef.cpp.s
-
-.PHONY : Georef.s
-
-# target to generate assembly for a file
-Georef.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Georef.cpp.s
-.PHONY : Georef.cpp.s
-
-Gnomonic.o: Gnomonic.cpp.o
-
-.PHONY : Gnomonic.o
-
-# target to build an object file
-Gnomonic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Gnomonic.cpp.o
-.PHONY : Gnomonic.cpp.o
-
-Gnomonic.i: Gnomonic.cpp.i
-
-.PHONY : Gnomonic.i
-
-# target to preprocess a source file
-Gnomonic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Gnomonic.cpp.i
-.PHONY : Gnomonic.cpp.i
-
-Gnomonic.s: Gnomonic.cpp.s
-
-.PHONY : Gnomonic.s
-
-# target to generate assembly for a file
-Gnomonic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Gnomonic.cpp.s
-.PHONY : Gnomonic.cpp.s
-
-GravityCircle.o: GravityCircle.cpp.o
-
-.PHONY : GravityCircle.o
-
-# target to build an object file
-GravityCircle.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GravityCircle.cpp.o
-.PHONY : GravityCircle.cpp.o
-
-GravityCircle.i: GravityCircle.cpp.i
-
-.PHONY : GravityCircle.i
-
-# target to preprocess a source file
-GravityCircle.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GravityCircle.cpp.i
-.PHONY : GravityCircle.cpp.i
-
-GravityCircle.s: GravityCircle.cpp.s
-
-.PHONY : GravityCircle.s
-
-# target to generate assembly for a file
-GravityCircle.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GravityCircle.cpp.s
-.PHONY : GravityCircle.cpp.s
-
-GravityModel.o: GravityModel.cpp.o
-
-.PHONY : GravityModel.o
-
-# target to build an object file
-GravityModel.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GravityModel.cpp.o
-.PHONY : GravityModel.cpp.o
-
-GravityModel.i: GravityModel.cpp.i
-
-.PHONY : GravityModel.i
-
-# target to preprocess a source file
-GravityModel.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GravityModel.cpp.i
-.PHONY : GravityModel.cpp.i
-
-GravityModel.s: GravityModel.cpp.s
-
-.PHONY : GravityModel.s
-
-# target to generate assembly for a file
-GravityModel.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/GravityModel.cpp.s
-.PHONY : GravityModel.cpp.s
-
-LambertConformalConic.o: LambertConformalConic.cpp.o
-
-.PHONY : LambertConformalConic.o
-
-# target to build an object file
-LambertConformalConic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/LambertConformalConic.cpp.o
-.PHONY : LambertConformalConic.cpp.o
-
-LambertConformalConic.i: LambertConformalConic.cpp.i
-
-.PHONY : LambertConformalConic.i
-
-# target to preprocess a source file
-LambertConformalConic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/LambertConformalConic.cpp.i
-.PHONY : LambertConformalConic.cpp.i
-
-LambertConformalConic.s: LambertConformalConic.cpp.s
-
-.PHONY : LambertConformalConic.s
-
-# target to generate assembly for a file
-LambertConformalConic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/LambertConformalConic.cpp.s
-.PHONY : LambertConformalConic.cpp.s
-
-LocalCartesian.o: LocalCartesian.cpp.o
-
-.PHONY : LocalCartesian.o
-
-# target to build an object file
-LocalCartesian.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/LocalCartesian.cpp.o
-.PHONY : LocalCartesian.cpp.o
-
-LocalCartesian.i: LocalCartesian.cpp.i
-
-.PHONY : LocalCartesian.i
-
-# target to preprocess a source file
-LocalCartesian.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/LocalCartesian.cpp.i
-.PHONY : LocalCartesian.cpp.i
-
-LocalCartesian.s: LocalCartesian.cpp.s
-
-.PHONY : LocalCartesian.s
-
-# target to generate assembly for a file
-LocalCartesian.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/LocalCartesian.cpp.s
-.PHONY : LocalCartesian.cpp.s
-
-MGRS.o: MGRS.cpp.o
-
-.PHONY : MGRS.o
-
-# target to build an object file
-MGRS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MGRS.cpp.o
-.PHONY : MGRS.cpp.o
-
-MGRS.i: MGRS.cpp.i
-
-.PHONY : MGRS.i
-
-# target to preprocess a source file
-MGRS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MGRS.cpp.i
-.PHONY : MGRS.cpp.i
-
-MGRS.s: MGRS.cpp.s
-
-.PHONY : MGRS.s
-
-# target to generate assembly for a file
-MGRS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MGRS.cpp.s
-.PHONY : MGRS.cpp.s
-
-MagneticCircle.o: MagneticCircle.cpp.o
-
-.PHONY : MagneticCircle.o
-
-# target to build an object file
-MagneticCircle.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MagneticCircle.cpp.o
-.PHONY : MagneticCircle.cpp.o
-
-MagneticCircle.i: MagneticCircle.cpp.i
-
-.PHONY : MagneticCircle.i
-
-# target to preprocess a source file
-MagneticCircle.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MagneticCircle.cpp.i
-.PHONY : MagneticCircle.cpp.i
-
-MagneticCircle.s: MagneticCircle.cpp.s
-
-.PHONY : MagneticCircle.s
-
-# target to generate assembly for a file
-MagneticCircle.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MagneticCircle.cpp.s
-.PHONY : MagneticCircle.cpp.s
-
-MagneticModel.o: MagneticModel.cpp.o
-
-.PHONY : MagneticModel.o
-
-# target to build an object file
-MagneticModel.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MagneticModel.cpp.o
-.PHONY : MagneticModel.cpp.o
-
-MagneticModel.i: MagneticModel.cpp.i
-
-.PHONY : MagneticModel.i
-
-# target to preprocess a source file
-MagneticModel.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MagneticModel.cpp.i
-.PHONY : MagneticModel.cpp.i
-
-MagneticModel.s: MagneticModel.cpp.s
-
-.PHONY : MagneticModel.s
-
-# target to generate assembly for a file
-MagneticModel.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/MagneticModel.cpp.s
-.PHONY : MagneticModel.cpp.s
-
-Math.o: Math.cpp.o
-
-.PHONY : Math.o
-
-# target to build an object file
-Math.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Math.cpp.o
-.PHONY : Math.cpp.o
-
-Math.i: Math.cpp.i
-
-.PHONY : Math.i
-
-# target to preprocess a source file
-Math.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Math.cpp.i
-.PHONY : Math.cpp.i
-
-Math.s: Math.cpp.s
-
-.PHONY : Math.s
-
-# target to generate assembly for a file
-Math.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Math.cpp.s
-.PHONY : Math.cpp.s
-
-NormalGravity.o: NormalGravity.cpp.o
-
-.PHONY : NormalGravity.o
-
-# target to build an object file
-NormalGravity.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/NormalGravity.cpp.o
-.PHONY : NormalGravity.cpp.o
-
-NormalGravity.i: NormalGravity.cpp.i
-
-.PHONY : NormalGravity.i
-
-# target to preprocess a source file
-NormalGravity.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/NormalGravity.cpp.i
-.PHONY : NormalGravity.cpp.i
-
-NormalGravity.s: NormalGravity.cpp.s
-
-.PHONY : NormalGravity.s
-
-# target to generate assembly for a file
-NormalGravity.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/NormalGravity.cpp.s
-.PHONY : NormalGravity.cpp.s
-
-OSGB.o: OSGB.cpp.o
-
-.PHONY : OSGB.o
-
-# target to build an object file
-OSGB.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/OSGB.cpp.o
-.PHONY : OSGB.cpp.o
-
-OSGB.i: OSGB.cpp.i
-
-.PHONY : OSGB.i
-
-# target to preprocess a source file
-OSGB.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/OSGB.cpp.i
-.PHONY : OSGB.cpp.i
-
-OSGB.s: OSGB.cpp.s
-
-.PHONY : OSGB.s
-
-# target to generate assembly for a file
-OSGB.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/OSGB.cpp.s
-.PHONY : OSGB.cpp.s
-
-PolarStereographic.o: PolarStereographic.cpp.o
-
-.PHONY : PolarStereographic.o
-
-# target to build an object file
-PolarStereographic.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/PolarStereographic.cpp.o
-.PHONY : PolarStereographic.cpp.o
-
-PolarStereographic.i: PolarStereographic.cpp.i
-
-.PHONY : PolarStereographic.i
-
-# target to preprocess a source file
-PolarStereographic.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/PolarStereographic.cpp.i
-.PHONY : PolarStereographic.cpp.i
-
-PolarStereographic.s: PolarStereographic.cpp.s
-
-.PHONY : PolarStereographic.s
-
-# target to generate assembly for a file
-PolarStereographic.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/PolarStereographic.cpp.s
-.PHONY : PolarStereographic.cpp.s
-
-PolygonArea.o: PolygonArea.cpp.o
-
-.PHONY : PolygonArea.o
-
-# target to build an object file
-PolygonArea.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/PolygonArea.cpp.o
-.PHONY : PolygonArea.cpp.o
-
-PolygonArea.i: PolygonArea.cpp.i
-
-.PHONY : PolygonArea.i
-
-# target to preprocess a source file
-PolygonArea.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/PolygonArea.cpp.i
-.PHONY : PolygonArea.cpp.i
-
-PolygonArea.s: PolygonArea.cpp.s
-
-.PHONY : PolygonArea.s
-
-# target to generate assembly for a file
-PolygonArea.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/PolygonArea.cpp.s
-.PHONY : PolygonArea.cpp.s
-
-Rhumb.o: Rhumb.cpp.o
-
-.PHONY : Rhumb.o
-
-# target to build an object file
-Rhumb.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Rhumb.cpp.o
-.PHONY : Rhumb.cpp.o
-
-Rhumb.i: Rhumb.cpp.i
-
-.PHONY : Rhumb.i
-
-# target to preprocess a source file
-Rhumb.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Rhumb.cpp.i
-.PHONY : Rhumb.cpp.i
-
-Rhumb.s: Rhumb.cpp.s
-
-.PHONY : Rhumb.s
-
-# target to generate assembly for a file
-Rhumb.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Rhumb.cpp.s
-.PHONY : Rhumb.cpp.s
-
-SphericalEngine.o: SphericalEngine.cpp.o
-
-.PHONY : SphericalEngine.o
-
-# target to build an object file
-SphericalEngine.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/SphericalEngine.cpp.o
-.PHONY : SphericalEngine.cpp.o
-
-SphericalEngine.i: SphericalEngine.cpp.i
-
-.PHONY : SphericalEngine.i
-
-# target to preprocess a source file
-SphericalEngine.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/SphericalEngine.cpp.i
-.PHONY : SphericalEngine.cpp.i
-
-SphericalEngine.s: SphericalEngine.cpp.s
-
-.PHONY : SphericalEngine.s
-
-# target to generate assembly for a file
-SphericalEngine.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/SphericalEngine.cpp.s
-.PHONY : SphericalEngine.cpp.s
-
-TransverseMercator.o: TransverseMercator.cpp.o
-
-.PHONY : TransverseMercator.o
-
-# target to build an object file
-TransverseMercator.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/TransverseMercator.cpp.o
-.PHONY : TransverseMercator.cpp.o
-
-TransverseMercator.i: TransverseMercator.cpp.i
-
-.PHONY : TransverseMercator.i
-
-# target to preprocess a source file
-TransverseMercator.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/TransverseMercator.cpp.i
-.PHONY : TransverseMercator.cpp.i
-
-TransverseMercator.s: TransverseMercator.cpp.s
-
-.PHONY : TransverseMercator.s
-
-# target to generate assembly for a file
-TransverseMercator.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/TransverseMercator.cpp.s
-.PHONY : TransverseMercator.cpp.s
-
-TransverseMercatorExact.o: TransverseMercatorExact.cpp.o
-
-.PHONY : TransverseMercatorExact.o
-
-# target to build an object file
-TransverseMercatorExact.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/TransverseMercatorExact.cpp.o
-.PHONY : TransverseMercatorExact.cpp.o
-
-TransverseMercatorExact.i: TransverseMercatorExact.cpp.i
-
-.PHONY : TransverseMercatorExact.i
-
-# target to preprocess a source file
-TransverseMercatorExact.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/TransverseMercatorExact.cpp.i
-.PHONY : TransverseMercatorExact.cpp.i
-
-TransverseMercatorExact.s: TransverseMercatorExact.cpp.s
-
-.PHONY : TransverseMercatorExact.s
-
-# target to generate assembly for a file
-TransverseMercatorExact.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/TransverseMercatorExact.cpp.s
-.PHONY : TransverseMercatorExact.cpp.s
-
-UTMUPS.o: UTMUPS.cpp.o
-
-.PHONY : UTMUPS.o
-
-# target to build an object file
-UTMUPS.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/UTMUPS.cpp.o
-.PHONY : UTMUPS.cpp.o
-
-UTMUPS.i: UTMUPS.cpp.i
-
-.PHONY : UTMUPS.i
-
-# target to preprocess a source file
-UTMUPS.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/UTMUPS.cpp.i
-.PHONY : UTMUPS.cpp.i
-
-UTMUPS.s: UTMUPS.cpp.s
-
-.PHONY : UTMUPS.s
-
-# target to generate assembly for a file
-UTMUPS.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/UTMUPS.cpp.s
-.PHONY : UTMUPS.cpp.s
-
-Utility.o: Utility.cpp.o
-
-.PHONY : Utility.o
-
-# target to build an object file
-Utility.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Utility.cpp.o
-.PHONY : Utility.cpp.o
-
-Utility.i: Utility.cpp.i
-
-.PHONY : Utility.i
-
-# target to preprocess a source file
-Utility.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Utility.cpp.i
-.PHONY : Utility.cpp.i
-
-Utility.s: Utility.cpp.s
-
-.PHONY : Utility.s
-
-# target to generate assembly for a file
-Utility.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f src/CMakeFiles/GeographicLib_SHARED.dir/build.make src/CMakeFiles/GeographicLib_SHARED.dir/Utility.cpp.s
-.PHONY : Utility.cpp.s
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install/strip"
- @echo "... list_install_components"
- @echo "... rebuild_cache"
- @echo "... install"
- @echo "... package"
- @echo "... package_source"
- @echo "... install/local"
- @echo "... test"
- @echo "... GeographicLib_SHARED"
- @echo "... edit_cache"
- @echo "... Accumulator.o"
- @echo "... Accumulator.i"
- @echo "... Accumulator.s"
- @echo "... AlbersEqualArea.o"
- @echo "... AlbersEqualArea.i"
- @echo "... AlbersEqualArea.s"
- @echo "... AzimuthalEquidistant.o"
- @echo "... AzimuthalEquidistant.i"
- @echo "... AzimuthalEquidistant.s"
- @echo "... CassiniSoldner.o"
- @echo "... CassiniSoldner.i"
- @echo "... CassiniSoldner.s"
- @echo "... CircularEngine.o"
- @echo "... CircularEngine.i"
- @echo "... CircularEngine.s"
- @echo "... DMS.o"
- @echo "... DMS.i"
- @echo "... DMS.s"
- @echo "... Ellipsoid.o"
- @echo "... Ellipsoid.i"
- @echo "... Ellipsoid.s"
- @echo "... EllipticFunction.o"
- @echo "... EllipticFunction.i"
- @echo "... EllipticFunction.s"
- @echo "... GARS.o"
- @echo "... GARS.i"
- @echo "... GARS.s"
- @echo "... GeoCoords.o"
- @echo "... GeoCoords.i"
- @echo "... GeoCoords.s"
- @echo "... Geocentric.o"
- @echo "... Geocentric.i"
- @echo "... Geocentric.s"
- @echo "... Geodesic.o"
- @echo "... Geodesic.i"
- @echo "... Geodesic.s"
- @echo "... GeodesicExact.o"
- @echo "... GeodesicExact.i"
- @echo "... GeodesicExact.s"
- @echo "... GeodesicExactC4.o"
- @echo "... GeodesicExactC4.i"
- @echo "... GeodesicExactC4.s"
- @echo "... GeodesicLine.o"
- @echo "... GeodesicLine.i"
- @echo "... GeodesicLine.s"
- @echo "... GeodesicLineExact.o"
- @echo "... GeodesicLineExact.i"
- @echo "... GeodesicLineExact.s"
- @echo "... Geohash.o"
- @echo "... Geohash.i"
- @echo "... Geohash.s"
- @echo "... Geoid.o"
- @echo "... Geoid.i"
- @echo "... Geoid.s"
- @echo "... Georef.o"
- @echo "... Georef.i"
- @echo "... Georef.s"
- @echo "... Gnomonic.o"
- @echo "... Gnomonic.i"
- @echo "... Gnomonic.s"
- @echo "... GravityCircle.o"
- @echo "... GravityCircle.i"
- @echo "... GravityCircle.s"
- @echo "... GravityModel.o"
- @echo "... GravityModel.i"
- @echo "... GravityModel.s"
- @echo "... LambertConformalConic.o"
- @echo "... LambertConformalConic.i"
- @echo "... LambertConformalConic.s"
- @echo "... LocalCartesian.o"
- @echo "... LocalCartesian.i"
- @echo "... LocalCartesian.s"
- @echo "... MGRS.o"
- @echo "... MGRS.i"
- @echo "... MGRS.s"
- @echo "... MagneticCircle.o"
- @echo "... MagneticCircle.i"
- @echo "... MagneticCircle.s"
- @echo "... MagneticModel.o"
- @echo "... MagneticModel.i"
- @echo "... MagneticModel.s"
- @echo "... Math.o"
- @echo "... Math.i"
- @echo "... Math.s"
- @echo "... NormalGravity.o"
- @echo "... NormalGravity.i"
- @echo "... NormalGravity.s"
- @echo "... OSGB.o"
- @echo "... OSGB.i"
- @echo "... OSGB.s"
- @echo "... PolarStereographic.o"
- @echo "... PolarStereographic.i"
- @echo "... PolarStereographic.s"
- @echo "... PolygonArea.o"
- @echo "... PolygonArea.i"
- @echo "... PolygonArea.s"
- @echo "... Rhumb.o"
- @echo "... Rhumb.i"
- @echo "... Rhumb.s"
- @echo "... SphericalEngine.o"
- @echo "... SphericalEngine.i"
- @echo "... SphericalEngine.s"
- @echo "... TransverseMercator.o"
- @echo "... TransverseMercator.i"
- @echo "... TransverseMercator.s"
- @echo "... TransverseMercatorExact.o"
- @echo "... TransverseMercatorExact.i"
- @echo "... TransverseMercatorExact.s"
- @echo "... UTMUPS.o"
- @echo "... UTMUPS.i"
- @echo "... UTMUPS.s"
- @echo "... Utility.o"
- @echo "... Utility.i"
- @echo "... Utility.s"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/src/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/src/cmake_install.cmake
deleted file mode 100644
index fc6d6a27338815bb34ccf05cf3e5ea45797e7b2f..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/src/cmake_install.cmake
+++ /dev/null
@@ -1,75 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/src
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- foreach(file
- "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeographic.so.19.0.1"
- "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeographic.so.19"
- "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeographic.so"
- )
- if(EXISTS "${file}" AND
- NOT IS_SYMLINK "${file}")
- file(RPATH_CHECK
- FILE "${file}"
- RPATH "$ORIGIN/../lib")
- endif()
- endforeach()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY FILES
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/src/libGeographic.so.19.0.1"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/src/libGeographic.so.19"
- "/home/valentin/src/GeographicLib-1.50.1/BUILD/src/libGeographic.so"
- )
- foreach(file
- "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeographic.so.19.0.1"
- "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeographic.so.19"
- "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeographic.so"
- )
- if(EXISTS "${file}" AND
- NOT IS_SYMLINK "${file}")
- file(RPATH_CHANGE
- FILE "${file}"
- OLD_RPATH "::::::::::::::"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "${file}")
- endif()
- endif()
- endforeach()
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/CartConvert b/libs/GeographicLib-1.50.1/BUILD/tools/CartConvert
deleted file mode 100755
index 3e5c8a4f8f1766ae0c85cfe9a381ff66d5f80456..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/CartConvert and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/ConicProj b/libs/GeographicLib-1.50.1/BUILD/tools/ConicProj
deleted file mode 100755
index 8fd4d821482a34f56c64d906151ca783c36a85a7..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/ConicProj and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/GeoConvert b/libs/GeographicLib-1.50.1/BUILD/tools/GeoConvert
deleted file mode 100755
index 418cd429f95a50cbcc30f91d49d3fb00ff9171c2..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/GeoConvert and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/GeodSolve b/libs/GeographicLib-1.50.1/BUILD/tools/GeodSolve
deleted file mode 100755
index c82117344e3177a841350c3004b2c9c4e8dcbb04..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/GeodSolve and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/GeodesicProj b/libs/GeographicLib-1.50.1/BUILD/tools/GeodesicProj
deleted file mode 100755
index 9d8d6cbe37ebcda51a5f8c03468fbd15659b3b68..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/GeodesicProj and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/GeoidEval b/libs/GeographicLib-1.50.1/BUILD/tools/GeoidEval
deleted file mode 100755
index e541881c9e515a6844720116a5fe58d5130f1e47..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/GeoidEval and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/Gravity b/libs/GeographicLib-1.50.1/BUILD/tools/Gravity
deleted file mode 100755
index 1e7a82e1a8996377d87bbabf35644c2fce833977..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/Gravity and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/MagneticField b/libs/GeographicLib-1.50.1/BUILD/tools/MagneticField
deleted file mode 100755
index 4e379f616cae208cfe0d5a23175265fb75a28f7a..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/MagneticField and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/Makefile b/libs/GeographicLib-1.50.1/BUILD/tools/Makefile
deleted file mode 100644
index 6770b3319c1e2785ff134d7398aa0327b320d9c6..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/tools/Makefile
+++ /dev/null
@@ -1,758 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.10
-
-# Default target executed when no arguments are given to make.
-default_target: all
-
-.PHONY : default_target
-
-# Allow only one "make -f Makefile2" at a time, but pass parallelism.
-.NOTPARALLEL:
-
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-
-# A target that is always out of date.
-cmake_force:
-
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# Escaping for special characters.
-EQUALS = =
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/valentin/src/GeographicLib-1.50.1
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/valentin/src/GeographicLib-1.50.1/BUILD
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-
-.PHONY : list_install_components/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local/fast
-
-# Special rule for the target package
-package: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackConfig.cmake
-.PHONY : package
-
-# Special rule for the target package
-package/fast: package
-
-.PHONY : package/fast
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip/fast
-
-# Special rule for the target package_source
-package_source:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..."
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/valentin/src/GeographicLib-1.50.1/BUILD/CPackSourceConfig.cmake
-.PHONY : package_source
-
-# Special rule for the target package_source
-package_source/fast: package_source
-
-.PHONY : package_source/fast
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
- /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-
-.PHONY : edit_cache/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-
-.PHONY : test/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles /home/valentin/src/GeographicLib-1.50.1/BUILD/tools/CMakeFiles/progress.marks
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/valentin/src/GeographicLib-1.50.1/BUILD/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-tools/CMakeFiles/GeodSolve.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/GeodSolve.dir/rule
-.PHONY : tools/CMakeFiles/GeodSolve.dir/rule
-
-# Convenience name for target.
-GeodSolve: tools/CMakeFiles/GeodSolve.dir/rule
-
-.PHONY : GeodSolve
-
-# fast build rule for target.
-GeodSolve/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodSolve.dir/build.make tools/CMakeFiles/GeodSolve.dir/build
-.PHONY : GeodSolve/fast
-
-# Convenience name for target.
-tools/CMakeFiles/GeoConvert.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/GeoConvert.dir/rule
-.PHONY : tools/CMakeFiles/GeoConvert.dir/rule
-
-# Convenience name for target.
-GeoConvert: tools/CMakeFiles/GeoConvert.dir/rule
-
-.PHONY : GeoConvert
-
-# fast build rule for target.
-GeoConvert/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoConvert.dir/build.make tools/CMakeFiles/GeoConvert.dir/build
-.PHONY : GeoConvert/fast
-
-# Convenience name for target.
-tools/CMakeFiles/ConicProj.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/ConicProj.dir/rule
-.PHONY : tools/CMakeFiles/ConicProj.dir/rule
-
-# Convenience name for target.
-ConicProj: tools/CMakeFiles/ConicProj.dir/rule
-
-.PHONY : ConicProj
-
-# fast build rule for target.
-ConicProj/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/ConicProj.dir/build.make tools/CMakeFiles/ConicProj.dir/build
-.PHONY : ConicProj/fast
-
-# Convenience name for target.
-tools/CMakeFiles/tools.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/tools.dir/rule
-.PHONY : tools/CMakeFiles/tools.dir/rule
-
-# Convenience name for target.
-tools: tools/CMakeFiles/tools.dir/rule
-
-.PHONY : tools
-
-# fast build rule for target.
-tools/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/tools.dir/build.make tools/CMakeFiles/tools.dir/build
-.PHONY : tools/fast
-
-# Convenience name for target.
-tools/CMakeFiles/GeodesicProj.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/GeodesicProj.dir/rule
-.PHONY : tools/CMakeFiles/GeodesicProj.dir/rule
-
-# Convenience name for target.
-GeodesicProj: tools/CMakeFiles/GeodesicProj.dir/rule
-
-.PHONY : GeodesicProj
-
-# fast build rule for target.
-GeodesicProj/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodesicProj.dir/build.make tools/CMakeFiles/GeodesicProj.dir/build
-.PHONY : GeodesicProj/fast
-
-# Convenience name for target.
-tools/CMakeFiles/Gravity.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/Gravity.dir/rule
-.PHONY : tools/CMakeFiles/Gravity.dir/rule
-
-# Convenience name for target.
-Gravity: tools/CMakeFiles/Gravity.dir/rule
-
-.PHONY : Gravity
-
-# fast build rule for target.
-Gravity/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Gravity.dir/build.make tools/CMakeFiles/Gravity.dir/build
-.PHONY : Gravity/fast
-
-# Convenience name for target.
-tools/CMakeFiles/CartConvert.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/CartConvert.dir/rule
-.PHONY : tools/CMakeFiles/CartConvert.dir/rule
-
-# Convenience name for target.
-CartConvert: tools/CMakeFiles/CartConvert.dir/rule
-
-.PHONY : CartConvert
-
-# fast build rule for target.
-CartConvert/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/CartConvert.dir/build.make tools/CMakeFiles/CartConvert.dir/build
-.PHONY : CartConvert/fast
-
-# Convenience name for target.
-tools/CMakeFiles/GeoidEval.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/GeoidEval.dir/rule
-.PHONY : tools/CMakeFiles/GeoidEval.dir/rule
-
-# Convenience name for target.
-GeoidEval: tools/CMakeFiles/GeoidEval.dir/rule
-
-.PHONY : GeoidEval
-
-# fast build rule for target.
-GeoidEval/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoidEval.dir/build.make tools/CMakeFiles/GeoidEval.dir/build
-.PHONY : GeoidEval/fast
-
-# Convenience name for target.
-tools/CMakeFiles/RhumbSolve.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/RhumbSolve.dir/rule
-.PHONY : tools/CMakeFiles/RhumbSolve.dir/rule
-
-# Convenience name for target.
-RhumbSolve: tools/CMakeFiles/RhumbSolve.dir/rule
-
-.PHONY : RhumbSolve
-
-# fast build rule for target.
-RhumbSolve/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/RhumbSolve.dir/build.make tools/CMakeFiles/RhumbSolve.dir/build
-.PHONY : RhumbSolve/fast
-
-# Convenience name for target.
-tools/CMakeFiles/MagneticField.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/MagneticField.dir/rule
-.PHONY : tools/CMakeFiles/MagneticField.dir/rule
-
-# Convenience name for target.
-MagneticField: tools/CMakeFiles/MagneticField.dir/rule
-
-.PHONY : MagneticField
-
-# fast build rule for target.
-MagneticField/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/MagneticField.dir/build.make tools/CMakeFiles/MagneticField.dir/build
-.PHONY : MagneticField/fast
-
-# Convenience name for target.
-tools/CMakeFiles/TransverseMercatorProj.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/TransverseMercatorProj.dir/rule
-.PHONY : tools/CMakeFiles/TransverseMercatorProj.dir/rule
-
-# Convenience name for target.
-TransverseMercatorProj: tools/CMakeFiles/TransverseMercatorProj.dir/rule
-
-.PHONY : TransverseMercatorProj
-
-# fast build rule for target.
-TransverseMercatorProj/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/TransverseMercatorProj.dir/build.make tools/CMakeFiles/TransverseMercatorProj.dir/build
-.PHONY : TransverseMercatorProj/fast
-
-# Convenience name for target.
-tools/CMakeFiles/Planimeter.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/Planimeter.dir/rule
-.PHONY : tools/CMakeFiles/Planimeter.dir/rule
-
-# Convenience name for target.
-Planimeter: tools/CMakeFiles/Planimeter.dir/rule
-
-.PHONY : Planimeter
-
-# fast build rule for target.
-Planimeter/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Planimeter.dir/build.make tools/CMakeFiles/Planimeter.dir/build
-.PHONY : Planimeter/fast
-
-# Convenience name for target.
-tools/CMakeFiles/scripts.dir/rule:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/scripts.dir/rule
-.PHONY : tools/CMakeFiles/scripts.dir/rule
-
-# Convenience name for target.
-scripts: tools/CMakeFiles/scripts.dir/rule
-
-.PHONY : scripts
-
-# fast build rule for target.
-scripts/fast:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/scripts.dir/build.make tools/CMakeFiles/scripts.dir/build
-.PHONY : scripts/fast
-
-CartConvert.o: CartConvert.cpp.o
-
-.PHONY : CartConvert.o
-
-# target to build an object file
-CartConvert.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/CartConvert.dir/build.make tools/CMakeFiles/CartConvert.dir/CartConvert.cpp.o
-.PHONY : CartConvert.cpp.o
-
-CartConvert.i: CartConvert.cpp.i
-
-.PHONY : CartConvert.i
-
-# target to preprocess a source file
-CartConvert.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/CartConvert.dir/build.make tools/CMakeFiles/CartConvert.dir/CartConvert.cpp.i
-.PHONY : CartConvert.cpp.i
-
-CartConvert.s: CartConvert.cpp.s
-
-.PHONY : CartConvert.s
-
-# target to generate assembly for a file
-CartConvert.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/CartConvert.dir/build.make tools/CMakeFiles/CartConvert.dir/CartConvert.cpp.s
-.PHONY : CartConvert.cpp.s
-
-ConicProj.o: ConicProj.cpp.o
-
-.PHONY : ConicProj.o
-
-# target to build an object file
-ConicProj.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/ConicProj.dir/build.make tools/CMakeFiles/ConicProj.dir/ConicProj.cpp.o
-.PHONY : ConicProj.cpp.o
-
-ConicProj.i: ConicProj.cpp.i
-
-.PHONY : ConicProj.i
-
-# target to preprocess a source file
-ConicProj.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/ConicProj.dir/build.make tools/CMakeFiles/ConicProj.dir/ConicProj.cpp.i
-.PHONY : ConicProj.cpp.i
-
-ConicProj.s: ConicProj.cpp.s
-
-.PHONY : ConicProj.s
-
-# target to generate assembly for a file
-ConicProj.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/ConicProj.dir/build.make tools/CMakeFiles/ConicProj.dir/ConicProj.cpp.s
-.PHONY : ConicProj.cpp.s
-
-GeoConvert.o: GeoConvert.cpp.o
-
-.PHONY : GeoConvert.o
-
-# target to build an object file
-GeoConvert.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoConvert.dir/build.make tools/CMakeFiles/GeoConvert.dir/GeoConvert.cpp.o
-.PHONY : GeoConvert.cpp.o
-
-GeoConvert.i: GeoConvert.cpp.i
-
-.PHONY : GeoConvert.i
-
-# target to preprocess a source file
-GeoConvert.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoConvert.dir/build.make tools/CMakeFiles/GeoConvert.dir/GeoConvert.cpp.i
-.PHONY : GeoConvert.cpp.i
-
-GeoConvert.s: GeoConvert.cpp.s
-
-.PHONY : GeoConvert.s
-
-# target to generate assembly for a file
-GeoConvert.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoConvert.dir/build.make tools/CMakeFiles/GeoConvert.dir/GeoConvert.cpp.s
-.PHONY : GeoConvert.cpp.s
-
-GeodSolve.o: GeodSolve.cpp.o
-
-.PHONY : GeodSolve.o
-
-# target to build an object file
-GeodSolve.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodSolve.dir/build.make tools/CMakeFiles/GeodSolve.dir/GeodSolve.cpp.o
-.PHONY : GeodSolve.cpp.o
-
-GeodSolve.i: GeodSolve.cpp.i
-
-.PHONY : GeodSolve.i
-
-# target to preprocess a source file
-GeodSolve.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodSolve.dir/build.make tools/CMakeFiles/GeodSolve.dir/GeodSolve.cpp.i
-.PHONY : GeodSolve.cpp.i
-
-GeodSolve.s: GeodSolve.cpp.s
-
-.PHONY : GeodSolve.s
-
-# target to generate assembly for a file
-GeodSolve.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodSolve.dir/build.make tools/CMakeFiles/GeodSolve.dir/GeodSolve.cpp.s
-.PHONY : GeodSolve.cpp.s
-
-GeodesicProj.o: GeodesicProj.cpp.o
-
-.PHONY : GeodesicProj.o
-
-# target to build an object file
-GeodesicProj.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodesicProj.dir/build.make tools/CMakeFiles/GeodesicProj.dir/GeodesicProj.cpp.o
-.PHONY : GeodesicProj.cpp.o
-
-GeodesicProj.i: GeodesicProj.cpp.i
-
-.PHONY : GeodesicProj.i
-
-# target to preprocess a source file
-GeodesicProj.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodesicProj.dir/build.make tools/CMakeFiles/GeodesicProj.dir/GeodesicProj.cpp.i
-.PHONY : GeodesicProj.cpp.i
-
-GeodesicProj.s: GeodesicProj.cpp.s
-
-.PHONY : GeodesicProj.s
-
-# target to generate assembly for a file
-GeodesicProj.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeodesicProj.dir/build.make tools/CMakeFiles/GeodesicProj.dir/GeodesicProj.cpp.s
-.PHONY : GeodesicProj.cpp.s
-
-GeoidEval.o: GeoidEval.cpp.o
-
-.PHONY : GeoidEval.o
-
-# target to build an object file
-GeoidEval.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoidEval.dir/build.make tools/CMakeFiles/GeoidEval.dir/GeoidEval.cpp.o
-.PHONY : GeoidEval.cpp.o
-
-GeoidEval.i: GeoidEval.cpp.i
-
-.PHONY : GeoidEval.i
-
-# target to preprocess a source file
-GeoidEval.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoidEval.dir/build.make tools/CMakeFiles/GeoidEval.dir/GeoidEval.cpp.i
-.PHONY : GeoidEval.cpp.i
-
-GeoidEval.s: GeoidEval.cpp.s
-
-.PHONY : GeoidEval.s
-
-# target to generate assembly for a file
-GeoidEval.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/GeoidEval.dir/build.make tools/CMakeFiles/GeoidEval.dir/GeoidEval.cpp.s
-.PHONY : GeoidEval.cpp.s
-
-Gravity.o: Gravity.cpp.o
-
-.PHONY : Gravity.o
-
-# target to build an object file
-Gravity.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Gravity.dir/build.make tools/CMakeFiles/Gravity.dir/Gravity.cpp.o
-.PHONY : Gravity.cpp.o
-
-Gravity.i: Gravity.cpp.i
-
-.PHONY : Gravity.i
-
-# target to preprocess a source file
-Gravity.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Gravity.dir/build.make tools/CMakeFiles/Gravity.dir/Gravity.cpp.i
-.PHONY : Gravity.cpp.i
-
-Gravity.s: Gravity.cpp.s
-
-.PHONY : Gravity.s
-
-# target to generate assembly for a file
-Gravity.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Gravity.dir/build.make tools/CMakeFiles/Gravity.dir/Gravity.cpp.s
-.PHONY : Gravity.cpp.s
-
-MagneticField.o: MagneticField.cpp.o
-
-.PHONY : MagneticField.o
-
-# target to build an object file
-MagneticField.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/MagneticField.dir/build.make tools/CMakeFiles/MagneticField.dir/MagneticField.cpp.o
-.PHONY : MagneticField.cpp.o
-
-MagneticField.i: MagneticField.cpp.i
-
-.PHONY : MagneticField.i
-
-# target to preprocess a source file
-MagneticField.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/MagneticField.dir/build.make tools/CMakeFiles/MagneticField.dir/MagneticField.cpp.i
-.PHONY : MagneticField.cpp.i
-
-MagneticField.s: MagneticField.cpp.s
-
-.PHONY : MagneticField.s
-
-# target to generate assembly for a file
-MagneticField.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/MagneticField.dir/build.make tools/CMakeFiles/MagneticField.dir/MagneticField.cpp.s
-.PHONY : MagneticField.cpp.s
-
-Planimeter.o: Planimeter.cpp.o
-
-.PHONY : Planimeter.o
-
-# target to build an object file
-Planimeter.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Planimeter.dir/build.make tools/CMakeFiles/Planimeter.dir/Planimeter.cpp.o
-.PHONY : Planimeter.cpp.o
-
-Planimeter.i: Planimeter.cpp.i
-
-.PHONY : Planimeter.i
-
-# target to preprocess a source file
-Planimeter.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Planimeter.dir/build.make tools/CMakeFiles/Planimeter.dir/Planimeter.cpp.i
-.PHONY : Planimeter.cpp.i
-
-Planimeter.s: Planimeter.cpp.s
-
-.PHONY : Planimeter.s
-
-# target to generate assembly for a file
-Planimeter.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/Planimeter.dir/build.make tools/CMakeFiles/Planimeter.dir/Planimeter.cpp.s
-.PHONY : Planimeter.cpp.s
-
-RhumbSolve.o: RhumbSolve.cpp.o
-
-.PHONY : RhumbSolve.o
-
-# target to build an object file
-RhumbSolve.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/RhumbSolve.dir/build.make tools/CMakeFiles/RhumbSolve.dir/RhumbSolve.cpp.o
-.PHONY : RhumbSolve.cpp.o
-
-RhumbSolve.i: RhumbSolve.cpp.i
-
-.PHONY : RhumbSolve.i
-
-# target to preprocess a source file
-RhumbSolve.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/RhumbSolve.dir/build.make tools/CMakeFiles/RhumbSolve.dir/RhumbSolve.cpp.i
-.PHONY : RhumbSolve.cpp.i
-
-RhumbSolve.s: RhumbSolve.cpp.s
-
-.PHONY : RhumbSolve.s
-
-# target to generate assembly for a file
-RhumbSolve.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/RhumbSolve.dir/build.make tools/CMakeFiles/RhumbSolve.dir/RhumbSolve.cpp.s
-.PHONY : RhumbSolve.cpp.s
-
-TransverseMercatorProj.o: TransverseMercatorProj.cpp.o
-
-.PHONY : TransverseMercatorProj.o
-
-# target to build an object file
-TransverseMercatorProj.cpp.o:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/TransverseMercatorProj.dir/build.make tools/CMakeFiles/TransverseMercatorProj.dir/TransverseMercatorProj.cpp.o
-.PHONY : TransverseMercatorProj.cpp.o
-
-TransverseMercatorProj.i: TransverseMercatorProj.cpp.i
-
-.PHONY : TransverseMercatorProj.i
-
-# target to preprocess a source file
-TransverseMercatorProj.cpp.i:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/TransverseMercatorProj.dir/build.make tools/CMakeFiles/TransverseMercatorProj.dir/TransverseMercatorProj.cpp.i
-.PHONY : TransverseMercatorProj.cpp.i
-
-TransverseMercatorProj.s: TransverseMercatorProj.cpp.s
-
-.PHONY : TransverseMercatorProj.s
-
-# target to generate assembly for a file
-TransverseMercatorProj.cpp.s:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(MAKE) -f tools/CMakeFiles/TransverseMercatorProj.dir/build.make tools/CMakeFiles/TransverseMercatorProj.dir/TransverseMercatorProj.cpp.s
-.PHONY : TransverseMercatorProj.cpp.s
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... install"
- @echo "... list_install_components"
- @echo "... rebuild_cache"
- @echo "... GeodSolve"
- @echo "... GeoConvert"
- @echo "... install/local"
- @echo "... ConicProj"
- @echo "... tools"
- @echo "... package"
- @echo "... install/strip"
- @echo "... GeodesicProj"
- @echo "... Gravity"
- @echo "... CartConvert"
- @echo "... GeoidEval"
- @echo "... RhumbSolve"
- @echo "... MagneticField"
- @echo "... package_source"
- @echo "... TransverseMercatorProj"
- @echo "... Planimeter"
- @echo "... edit_cache"
- @echo "... scripts"
- @echo "... test"
- @echo "... CartConvert.o"
- @echo "... CartConvert.i"
- @echo "... CartConvert.s"
- @echo "... ConicProj.o"
- @echo "... ConicProj.i"
- @echo "... ConicProj.s"
- @echo "... GeoConvert.o"
- @echo "... GeoConvert.i"
- @echo "... GeoConvert.s"
- @echo "... GeodSolve.o"
- @echo "... GeodSolve.i"
- @echo "... GeodSolve.s"
- @echo "... GeodesicProj.o"
- @echo "... GeodesicProj.i"
- @echo "... GeodesicProj.s"
- @echo "... GeoidEval.o"
- @echo "... GeoidEval.i"
- @echo "... GeoidEval.s"
- @echo "... Gravity.o"
- @echo "... Gravity.i"
- @echo "... Gravity.s"
- @echo "... MagneticField.o"
- @echo "... MagneticField.i"
- @echo "... MagneticField.s"
- @echo "... Planimeter.o"
- @echo "... Planimeter.i"
- @echo "... Planimeter.s"
- @echo "... RhumbSolve.o"
- @echo "... RhumbSolve.i"
- @echo "... RhumbSolve.s"
- @echo "... TransverseMercatorProj.o"
- @echo "... TransverseMercatorProj.i"
- @echo "... TransverseMercatorProj.s"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/valentin/src/GeographicLib-1.50.1/BUILD && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/Planimeter b/libs/GeographicLib-1.50.1/BUILD/tools/Planimeter
deleted file mode 100755
index b6d4523539ccbd9e3ace79923ab1affe1bcbb966..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/Planimeter and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/RhumbSolve b/libs/GeographicLib-1.50.1/BUILD/tools/RhumbSolve
deleted file mode 100755
index c7eb7d9af193fe3aa7a04e3b3029adf75e312fd8..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/RhumbSolve and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/TransverseMercatorProj b/libs/GeographicLib-1.50.1/BUILD/tools/TransverseMercatorProj
deleted file mode 100755
index 8bce538355ca62a2b2caff650f9e61b891ab6e35..0000000000000000000000000000000000000000
Binary files a/libs/GeographicLib-1.50.1/BUILD/tools/TransverseMercatorProj and /dev/null differ
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/cmake_install.cmake b/libs/GeographicLib-1.50.1/BUILD/tools/cmake_install.cmake
deleted file mode 100644
index ba1fa6f2d04316e48f881d4c505a36fa8ac4f465..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/tools/cmake_install.cmake
+++ /dev/null
@@ -1,271 +0,0 @@
-# Install script for directory: /home/valentin/src/GeographicLib-1.50.1/tools
-
-# Set the install prefix
-if(NOT DEFINED CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local")
-endif()
-string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
- if(BUILD_TYPE)
- string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
- CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
- else()
- set(CMAKE_INSTALL_CONFIG_NAME "Release")
- endif()
- message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-endif()
-
-# Set the component getting installed.
-if(NOT CMAKE_INSTALL_COMPONENT)
- if(COMPONENT)
- message(STATUS "Install component: \"${COMPONENT}\"")
- set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
- else()
- set(CMAKE_INSTALL_COMPONENT)
- endif()
-endif()
-
-# Install shared libraries without execute permission?
-if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
- set(CMAKE_INSTALL_SO_NO_EXE "1")
-endif()
-
-# Is this installation the result of a crosscompile?
-if(NOT DEFINED CMAKE_CROSSCOMPILING)
- set(CMAKE_CROSSCOMPILING "FALSE")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/CartConvert")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/CartConvert")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/ConicProj")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ConicProj")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeodesicProj")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodesicProj")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeoConvert")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoConvert")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeodSolve")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeodSolve")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/GeoidEval")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/GeoidEval")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/Gravity")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Gravity")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/MagneticField")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/MagneticField")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/Planimeter")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/Planimeter")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/RhumbSolve")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/RhumbSolve")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj")
- file(RPATH_CHECK
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj"
- RPATH "$ORIGIN/../lib")
- endif()
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/TransverseMercatorProj")
- if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj" AND
- NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj")
- file(RPATH_CHANGE
- FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj"
- OLD_RPATH "/home/valentin/src/GeographicLib-1.50.1/BUILD/src:"
- NEW_RPATH "$ORIGIN/../lib")
- if(CMAKE_INSTALL_DO_STRIP)
- execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/TransverseMercatorProj")
- endif()
- endif()
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/sbin" TYPE PROGRAM FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/geographiclib-get-geoids")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/sbin" TYPE PROGRAM FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/geographiclib-get-gravity")
-endif()
-
-if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/sbin" TYPE PROGRAM FILES "/home/valentin/src/GeographicLib-1.50.1/BUILD/tools/geographiclib-get-magnetic")
-endif()
-
diff --git a/libs/GeographicLib-1.50.1/BUILD/tools/geographiclib-get-geoids b/libs/GeographicLib-1.50.1/BUILD/tools/geographiclib-get-geoids
deleted file mode 100755
index 2ce6231f9d735398540d027ce8d6524237a91f13..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/BUILD/tools/geographiclib-get-geoids
+++ /dev/null
@@ -1,211 +0,0 @@
-#! /bin/sh
-#
-# Download geoid datasets for use by GeographicLib::Geoid. This is
-# modeled on a similar script geographiclib-datasets-download by
-# Francesco P. Lovergine
-#
-# Copyright (c) Charles Karney (2011-2019) and
-# licensed under the MIT/X11 License. For more information, see
-# https://geographiclib.sourceforge.io/
-
-DEFAULTDIR="/usr/local/share/GeographicLib"
-SUBDIR=geoids
-NAME=geoid
-MODEL=geoid
-CLASS=Geoid
-TOOL=GeoidEval
-EXT=pgm
-usage() {
- cat <&2;
- exit 1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-if test $# -eq 0; then
- usage 1>&2;
- exit 1
-fi
-
-test -d "$PARENTDIR"/$SUBDIR || mkdir -p "$PARENTDIR"/$SUBDIR 2> /dev/null
-if test ! -d "$PARENTDIR"/$SUBDIR; then
- echo Cannot create directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-TEMP=
-if test -z "$DEBUG"; then
-trap 'trap "" 0; test "$TEMP" && rm -rf "$TEMP"; exit 1' 1 2 3 9 15
-trap 'test "$TEMP" && rm -rf "$TEMP"' 0
-fi
-TEMP=`mktemp -d -q -t $NAME-XXXXXXXX`
-
-if test -z "$TEMP" -o ! -d "$TEMP"; then
- echo Cannot create temporary directory 1>&2
- exit 1
-fi
-
-WRITETEST="$PARENTDIR"/$SUBDIR/write-test-`basename $TEMP`
-if touch "$WRITETEST" 2> /dev/null; then
- rm -f "$WRITETEST"
-else
- echo Cannot write in directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-set -e
-
-cat > $TEMP/all < /dev/null; then
- echo $1
- else
- case "$1" in
- all )
- cat $TEMP/all
- ;;
- minimal )
- echo egm96-5
- ;;
- best ) # highest resolution models
- cat < egm2008-2_5
- cat <&2
- exit 1
- fi
- ;;
- esac
- fi
- shift
-done > $TEMP/list
-
-sort -u $TEMP/list > $TEMP/todo
-
-while read file; do
- if test -z "$FORCE" -a -s $PARENTDIR/$SUBDIR/$file.$EXT; then
- echo $PARENTDIR/$SUBDIR/$file.$EXT already installed, skipping $file...
- echo $file >> $TEMP/skip
- continue
- fi
- echo download $file.tar.bz2 ...
- echo $file >> $TEMP/download
- URL="https://downloads.sourceforge.net/project/geographiclib/$SUBDIR-distrib/$file.tar.bz2?use_mirror=autoselect"
- ARCHIVE=$TEMP/$file.tar.bz2
- wget -O$ARCHIVE $URL
- echo unpack $file.tar.bz2 ...
- tar vxojf $ARCHIVE -C $PARENTDIR
- echo $MODEL $file installed.
-done < $TEMP/todo
-
-if test "$DEBUG"; then
- echo Saving temporary directory $TEMP
-fi
-echo
-if test -s $TEMP/download; then
- n=`wc -l < $TEMP/download`
- s=; test $n -gt 1 && s=s
- cat < and
-# licensed under the MIT/X11 License. For more information, see
-# https://geographiclib.sourceforge.io/
-
-DEFAULTDIR="/usr/local/share/GeographicLib"
-SUBDIR=gravity
-NAME=gravity
-MODEL=gravitymodel
-CLASS=GravityModel
-TOOL=Gravity
-EXT=egm.cof
-usage() {
- cat <&2;
- exit 1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-if test $# -eq 0; then
- usage 1>&2;
- exit 1
-fi
-
-test -d "$PARENTDIR"/$SUBDIR || mkdir -p "$PARENTDIR"/$SUBDIR 2> /dev/null
-if test ! -d "$PARENTDIR"/$SUBDIR; then
- echo Cannot create directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-TEMP=
-if test -z "$DEBUG"; then
-trap 'trap "" 0; test "$TEMP" && rm -rf "$TEMP"; exit 1' 1 2 3 9 15
-trap 'test "$TEMP" && rm -rf "$TEMP"' 0
-fi
-TEMP=`mktemp -d -q -t $NAME-XXXXXXXX`
-
-if test -z "$TEMP" -o ! -d "$TEMP"; then
- echo Cannot create temporary directory 1>&2
- exit 1
-fi
-
-WRITETEST="$PARENTDIR"/$SUBDIR/write-test-`basename $TEMP`
-if touch "$WRITETEST" 2> /dev/null; then
- rm -f "$WRITETEST"
-else
- echo Cannot write in directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-set -e
-
-cat > $TEMP/all < /dev/null; then
- echo $1
- else
- case "$1" in
- all )
- cat $TEMP/all
- ;;
- minimal )
- echo egm96; echo wgs84
- ;;
- * )
- if test -n "$FORCE"; then
- echo $1
- else
- echo Unknown $MODEL $1 1>&2
- exit 1
- fi
- ;;
- esac
- fi
- shift
-done > $TEMP/list
-
-sort -u $TEMP/list > $TEMP/todo
-
-while read file; do
- if test -z "$FORCE" -a -s $PARENTDIR/$SUBDIR/$file.$EXT; then
- echo $PARENTDIR/$SUBDIR/$file.$EXT already installed, skipping $file...
- echo $file >> $TEMP/skip
- continue
- fi
- echo download $file.tar.bz2 ...
- echo $file >> $TEMP/download
- URL="https://downloads.sourceforge.net/project/geographiclib/$SUBDIR-distrib/$file.tar.bz2?use_mirror=autoselect"
- ARCHIVE=$TEMP/$file.tar.bz2
- wget -O$ARCHIVE $URL
- echo unpack $file.tar.bz2 ...
- tar vxojf $ARCHIVE -C $PARENTDIR
- echo $MODEL $file installed.
-done < $TEMP/todo
-
-if test "$DEBUG"; then
- echo Saving temporary directory $TEMP
-fi
-echo
-if test -s $TEMP/download; then
- n=`wc -l < $TEMP/download`
- s=; test $n -gt 1 && s=s
- cat < and
-# licensed under the MIT/X11 License. For more information, see
-# https://geographiclib.sourceforge.io/
-
-DEFAULTDIR="/usr/local/share/GeographicLib"
-SUBDIR=magnetic
-NAME=magnetic
-MODEL=magneticmodel
-CLASS=MagneticModel
-TOOL=MagneticField
-EXT=wmm.cof
-usage() {
- cat <&2;
- exit 1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-if test $# -eq 0; then
- usage 1>&2;
- exit 1
-fi
-
-test -d "$PARENTDIR"/$SUBDIR || mkdir -p "$PARENTDIR"/$SUBDIR 2> /dev/null
-if test ! -d "$PARENTDIR"/$SUBDIR; then
- echo Cannot create directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-TEMP=
-if test -z "$DEBUG"; then
-trap 'trap "" 0; test "$TEMP" && rm -rf "$TEMP"; exit 1' 1 2 3 9 15
-trap 'test "$TEMP" && rm -rf "$TEMP"' 0
-fi
-TEMP=`mktemp -d -q -t $NAME-XXXXXXXX`
-
-if test -z "$TEMP" -o ! -d "$TEMP"; then
- echo Cannot create temporary directory 1>&2
- exit 1
-fi
-
-WRITETEST="$PARENTDIR"/$SUBDIR/write-test-`basename $TEMP`
-if touch "$WRITETEST" 2> /dev/null; then
- rm -f "$WRITETEST"
-else
- echo Cannot write in directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-set -e
-
-cat > $TEMP/all < /dev/null; then
- echo $1
- else
- case "$1" in
- all )
- cat $TEMP/all
- ;;
- minimal )
- echo wmm2020; echo igrf12
- ;;
- * )
- if test -n "$FORCE"; then
- echo $1
- else
- echo Unknown $MODEL $1 1>&2
- exit 1
- fi
- ;;
- esac
- fi
- shift
-done > $TEMP/list
-
-sort -u $TEMP/list > $TEMP/todo
-
-while read file; do
- if test -z "$FORCE" -a -s $PARENTDIR/$SUBDIR/$file.$EXT; then
- echo $PARENTDIR/$SUBDIR/$file.$EXT already installed, skipping $file...
- echo $file >> $TEMP/skip
- continue
- fi
- echo download $file.tar.bz2 ...
- echo $file >> $TEMP/download
- URL="https://downloads.sourceforge.net/project/geographiclib/$SUBDIR-distrib/$file.tar.bz2?use_mirror=autoselect"
- ARCHIVE=$TEMP/$file.tar.bz2
- wget -O$ARCHIVE $URL
- echo unpack $file.tar.bz2 ...
- tar vxojf $ARCHIVE -C $PARENTDIR
- echo $MODEL $file installed.
-done < $TEMP/todo
-
-if test "$DEBUG"; then
- echo Saving temporary directory $TEMP
-fi
-echo
-if test -s $TEMP/download; then
- n=`wc -l < $TEMP/download`
- s=; test $n -gt 1 && s=s
- cat <
-#
-# Copyright (c) Charles Karney (2011-2019) and
-# licensed under the MIT/X11 License. For more information, see
-# https://geographiclib.sourceforge.io/
-
-DEFAULTDIR="/usr/local/share/GeographicLib"
-SUBDIR=geoids
-NAME=geoid
-MODEL=geoid
-CLASS=Geoid
-TOOL=GeoidEval
-EXT=pgm
-usage() {
- cat <&2;
- exit 1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-if test $# -eq 0; then
- usage 1>&2;
- exit 1
-fi
-
-test -d "$PARENTDIR"/$SUBDIR || mkdir -p "$PARENTDIR"/$SUBDIR 2> /dev/null
-if test ! -d "$PARENTDIR"/$SUBDIR; then
- echo Cannot create directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-TEMP=
-if test -z "$DEBUG"; then
-trap 'trap "" 0; test "$TEMP" && rm -rf "$TEMP"; exit 1' 1 2 3 9 15
-trap 'test "$TEMP" && rm -rf "$TEMP"' 0
-fi
-TEMP=`mktemp -d -q -t $NAME-XXXXXXXX`
-
-if test -z "$TEMP" -o ! -d "$TEMP"; then
- echo Cannot create temporary directory 1>&2
- exit 1
-fi
-
-WRITETEST="$PARENTDIR"/$SUBDIR/write-test-`basename $TEMP`
-if touch "$WRITETEST" 2> /dev/null; then
- rm -f "$WRITETEST"
-else
- echo Cannot write in directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-set -e
-
-cat > $TEMP/all < /dev/null; then
- echo $1
- else
- case "$1" in
- all )
- cat $TEMP/all
- ;;
- minimal )
- echo egm96-5
- ;;
- best ) # highest resolution models
- cat < egm2008-2_5
- cat <&2
- exit 1
- fi
- ;;
- esac
- fi
- shift
-done > $TEMP/list
-
-sort -u $TEMP/list > $TEMP/todo
-
-while read file; do
- if test -z "$FORCE" -a -s $PARENTDIR/$SUBDIR/$file.$EXT; then
- echo $PARENTDIR/$SUBDIR/$file.$EXT already installed, skipping $file...
- echo $file >> $TEMP/skip
- continue
- fi
- echo download $file.tar.bz2 ...
- echo $file >> $TEMP/download
- URL="https://downloads.sourceforge.net/project/geographiclib/$SUBDIR-distrib/$file.tar.bz2?use_mirror=autoselect"
- ARCHIVE=$TEMP/$file.tar.bz2
- wget -O$ARCHIVE $URL
- echo unpack $file.tar.bz2 ...
- tar vxojf $ARCHIVE -C $PARENTDIR
- echo $MODEL $file installed.
-done < $TEMP/todo
-
-if test "$DEBUG"; then
- echo Saving temporary directory $TEMP
-fi
-echo
-if test -s $TEMP/download; then
- n=`wc -l < $TEMP/download`
- s=; test $n -gt 1 && s=s
- cat < and
-# licensed under the MIT/X11 License. For more information, see
-# https://geographiclib.sourceforge.io/
-
-DEFAULTDIR="/usr/local/share/GeographicLib"
-SUBDIR=gravity
-NAME=gravity
-MODEL=gravitymodel
-CLASS=GravityModel
-TOOL=Gravity
-EXT=egm.cof
-usage() {
- cat <&2;
- exit 1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-if test $# -eq 0; then
- usage 1>&2;
- exit 1
-fi
-
-test -d "$PARENTDIR"/$SUBDIR || mkdir -p "$PARENTDIR"/$SUBDIR 2> /dev/null
-if test ! -d "$PARENTDIR"/$SUBDIR; then
- echo Cannot create directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-TEMP=
-if test -z "$DEBUG"; then
-trap 'trap "" 0; test "$TEMP" && rm -rf "$TEMP"; exit 1' 1 2 3 9 15
-trap 'test "$TEMP" && rm -rf "$TEMP"' 0
-fi
-TEMP=`mktemp -d -q -t $NAME-XXXXXXXX`
-
-if test -z "$TEMP" -o ! -d "$TEMP"; then
- echo Cannot create temporary directory 1>&2
- exit 1
-fi
-
-WRITETEST="$PARENTDIR"/$SUBDIR/write-test-`basename $TEMP`
-if touch "$WRITETEST" 2> /dev/null; then
- rm -f "$WRITETEST"
-else
- echo Cannot write in directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-set -e
-
-cat > $TEMP/all < /dev/null; then
- echo $1
- else
- case "$1" in
- all )
- cat $TEMP/all
- ;;
- minimal )
- echo egm96; echo wgs84
- ;;
- * )
- if test -n "$FORCE"; then
- echo $1
- else
- echo Unknown $MODEL $1 1>&2
- exit 1
- fi
- ;;
- esac
- fi
- shift
-done > $TEMP/list
-
-sort -u $TEMP/list > $TEMP/todo
-
-while read file; do
- if test -z "$FORCE" -a -s $PARENTDIR/$SUBDIR/$file.$EXT; then
- echo $PARENTDIR/$SUBDIR/$file.$EXT already installed, skipping $file...
- echo $file >> $TEMP/skip
- continue
- fi
- echo download $file.tar.bz2 ...
- echo $file >> $TEMP/download
- URL="https://downloads.sourceforge.net/project/geographiclib/$SUBDIR-distrib/$file.tar.bz2?use_mirror=autoselect"
- ARCHIVE=$TEMP/$file.tar.bz2
- wget -O$ARCHIVE $URL
- echo unpack $file.tar.bz2 ...
- tar vxojf $ARCHIVE -C $PARENTDIR
- echo $MODEL $file installed.
-done < $TEMP/todo
-
-if test "$DEBUG"; then
- echo Saving temporary directory $TEMP
-fi
-echo
-if test -s $TEMP/download; then
- n=`wc -l < $TEMP/download`
- s=; test $n -gt 1 && s=s
- cat < and
-# licensed under the MIT/X11 License. For more information, see
-# https://geographiclib.sourceforge.io/
-
-DEFAULTDIR="/usr/local/share/GeographicLib"
-SUBDIR=magnetic
-NAME=magnetic
-MODEL=magneticmodel
-CLASS=MagneticModel
-TOOL=MagneticField
-EXT=wmm.cof
-usage() {
- cat <&2;
- exit 1
- ;;
- esac
-done
-shift `expr $OPTIND - 1`
-if test $# -eq 0; then
- usage 1>&2;
- exit 1
-fi
-
-test -d "$PARENTDIR"/$SUBDIR || mkdir -p "$PARENTDIR"/$SUBDIR 2> /dev/null
-if test ! -d "$PARENTDIR"/$SUBDIR; then
- echo Cannot create directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-TEMP=
-if test -z "$DEBUG"; then
-trap 'trap "" 0; test "$TEMP" && rm -rf "$TEMP"; exit 1' 1 2 3 9 15
-trap 'test "$TEMP" && rm -rf "$TEMP"' 0
-fi
-TEMP=`mktemp -d -q -t $NAME-XXXXXXXX`
-
-if test -z "$TEMP" -o ! -d "$TEMP"; then
- echo Cannot create temporary directory 1>&2
- exit 1
-fi
-
-WRITETEST="$PARENTDIR"/$SUBDIR/write-test-`basename $TEMP`
-if touch "$WRITETEST" 2> /dev/null; then
- rm -f "$WRITETEST"
-else
- echo Cannot write in directory $PARENTDIR/$SUBDIR 1>&2
- exit 1
-fi
-
-set -e
-
-cat > $TEMP/all < /dev/null; then
- echo $1
- else
- case "$1" in
- all )
- cat $TEMP/all
- ;;
- minimal )
- echo wmm2020; echo igrf12
- ;;
- * )
- if test -n "$FORCE"; then
- echo $1
- else
- echo Unknown $MODEL $1 1>&2
- exit 1
- fi
- ;;
- esac
- fi
- shift
-done > $TEMP/list
-
-sort -u $TEMP/list > $TEMP/todo
-
-while read file; do
- if test -z "$FORCE" -a -s $PARENTDIR/$SUBDIR/$file.$EXT; then
- echo $PARENTDIR/$SUBDIR/$file.$EXT already installed, skipping $file...
- echo $file >> $TEMP/skip
- continue
- fi
- echo download $file.tar.bz2 ...
- echo $file >> $TEMP/download
- URL="https://downloads.sourceforge.net/project/geographiclib/$SUBDIR-distrib/$file.tar.bz2?use_mirror=autoselect"
- ARCHIVE=$TEMP/$file.tar.bz2
- wget -O$ARCHIVE $URL
- echo unpack $file.tar.bz2 ...
- tar vxojf $ARCHIVE -C $PARENTDIR
- echo $MODEL $file installed.
-done < $TEMP/todo
-
-if test "$DEBUG"; then
- echo Saving temporary directory $TEMP
-fi
-echo
-if test -s $TEMP/download; then
- n=`wc -l < $TEMP/download`
- s=; test $n -gt 1 && s=s
- cat <
-int main() {
- int q;
- return int(std::hypot(3.0, 4.0) + std::expm1(0.5) +
- std::log1p(2.0) + std::asinh(10.0) +
- std::atanh(0.8) + std::cbrt(8.0) +
- std::fma(1.0, 2.0, 3.0) + std::remquo(100.0, 90.0, &q) +
- std::remainder(100.0, 90.0) + std::copysign(1.0, -0.0) +
- std::round(3.5)) +
- std::isfinite(4.0) + std::isnan(0.0) + int(std::lround(-3.5));
-}\n" CXX11_MATH)
-if (CXX11_MATH)
- add_definitions (-DGEOGRAPHICLIB_CXX11_MATH=1)
-else ()
- add_definitions (-DGEOGRAPHICLIB_CXX11_MATH=0)
-endif ()
-
-# Check whether the C++11 static_assert macro is available. This flag
-# is *not* propagated to clients that use GeographicLib. However, this
-# is of no consequence. When the client code is being compiled (and the
-# GeographicLib headers being included), a work-alike substitution is
-# used.
-check_cxx_source_compiles (
- "#include
-int main() {
- static_assert(true, \"static assert test\");
- return 0;
-}\n" CXX11_STATIC_ASSERT)
-if (CXX11_STATIC_ASSERT)
- add_definitions (-DGEOGRAPHICLIB_HAS_STATIC_ASSERT=1)
-else ()
- add_definitions (-DGEOGRAPHICLIB_HAS_STATIC_ASSERT=0)
-endif ()
-
-# Set the include directories. Look in ${PROJECT_BINARY_DIR}/include
-# first because that's where Config.h will be
-include_directories ("${PROJECT_BINARY_DIR}/include" include)
-
-if (USE_BOOST_FOR_EXAMPLES)
- # quad precision numbers appeared in Boost 1.54. Various
- # workarounds stopped being needed with Boost 1.64.
- find_package (Boost 1.64 COMPONENTS serialization)
-elseif (GEOGRAPHICLIB_PRECISION EQUAL 4)
- if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CXX11_MATH)
- find_package (Boost 1.64)
- endif ()
-endif ()
-
-set (HIGHPREC_LIBRARIES)
-if (GEOGRAPHICLIB_PRECISION EQUAL 1)
- message (WARNING "Compiling with floats which results in poor accuracy")
-elseif (GEOGRAPHICLIB_PRECISION EQUAL 2)
- # This is the default
-elseif (GEOGRAPHICLIB_PRECISION EQUAL 3)
- if (WIN32)
- message (WARNING
- "Cannot support long double on Windows, switching to double")
- set (GEOGRAPHICLIB_PRECISION 2)
- endif ()
-elseif (GEOGRAPHICLIB_PRECISION EQUAL 4)
- if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CXX11_MATH)
- if (Boost_FOUND)
- include_directories ("${Boost_INCLUDE_DIRS}")
- set (HIGHPREC_LIBRARIES quadmath)
- endif ()
- endif ()
- if (NOT HIGHPREC_LIBRARIES)
- message (WARNING "Cannot support quad precision, switching to double")
- set (GEOGRAPHICLIB_PRECISION 2)
- endif ()
-elseif (GEOGRAPHICLIB_PRECISION EQUAL 5)
- if (CXX11_MATH)
- # Install MPFR C++ version 3.6.5 (2016-12-19) or later from
- # http://www.holoborodko.com/pavel/mpfr and install mpreal.h in the
- # include directory. NOTE: MPFR C++ is covered by the GPL; be sure
- # to abide by the terms of this license.
- #
- # For Linux, use system versions of mpfr and gmp. For Apple, use
- # brew install mpfr. Recent versions of mpfr (3.0 or later) work
- # fine. For Windows, download MPFR-MPIR-x86-x64-MSVC2010.zip from
- # the MPFR C++ site and unpack in the top-level directory. The
- # Windows build only works with GEOGRAPHICLIB_LIB_TYPE=STATIC.
- # NOTE: mpfr, gmp, and mpir are covered by the LGPL; be sure to
- # abide by the terms of this license.
- #
- # Need Visual Studio 12 2013 or later, g++ 4.5 or later; not sure
- # about clang.
- if (WIN32)
- if (MSVC AND NOT MSVC_VERSION LESS 1800)
- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
- set (_ARCH x64)
- else ()
- set (_ARCH Win32)
- endif ()
- include_directories (mpfr_mpir_x86_x64_msvc2010/mpfr
- mpfr_mpir_x86_x64_msvc2010/mpir/dll/${_ARCH}/Release)
- # These are C libraries so it's OK to use release versions for
- # debug builds. Also these work for later versions of Visual
- # Studio (specifically version 12).
- link_directories (mpfr_mpir_x86_x64_msvc2010/mpfr/dll/${_ARCH}/Release
- mpfr_mpir_x86_x64_msvc2010/mpir/dll/${_ARCH}/Release)
- set (HIGHPREC_LIBRARIES mpfr mpir)
- # Suppress the myriad of "conditional expression is constant"
- # warnings
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4127")
- endif ()
- else ()
- if (APPLE)
- include_directories (/usr/local/include)
- link_directories (/usr/local/lib)
- endif ()
- # g++ before 4.5 doesn't work (no explicit cast operator)
- if (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
- CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.5))
- set (HIGHPREC_LIBRARIES mpfr gmp)
- endif ()
- endif ()
- endif ()
- if (NOT HIGHPREC_LIBRARIES)
- message (WARNING "Cannot support mpfr, switching to double")
- set (GEOGRAPHICLIB_PRECISION 2)
- endif ()
-endif ()
-
-if (APPLE AND APPLE_MULTIPLE_ARCHITECTURES)
- if (CMAKE_SYSTEM_PROCESSOR MATCHES "i.86" OR
- CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" OR
- CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
- set (CMAKE_OSX_ARCHITECTURES "i386;x86_64")
- endif ()
-endif ()
-
-# Create a Config.h to expose system information to the compiler
-configure_file (
- include/GeographicLib/Config.h.in
- include/GeographicLib/Config.h
- @ONLY)
-
-# The documentation depends on doxygen.
-if (GEOGRAPHICLIB_DOCUMENTATION)
- set (DOXYGEN_SKIP_DOT ON)
- # Version 1.8.7 or later needed for …
- find_package (Doxygen 1.8.7)
- # For JavaScript documentation
- find_program (JSDOC jsdoc)
- # For Python documentation
- find_program (SPHINX sphinx-build)
-endif ()
-
-# The man pages are written as pod files and converted to nroff format,
-# C++ code, and html. Because this require tools that may not be
-# available on an end-user's system, the creation of the final
-# documentation is therefore only done in "MAINTAINER" mode. The
-# maintainer runs "make distrib-all" which installs the transformed
-# documentation files into the source tree. Skip Apple here because
-# man/makeusage.sh uses "head --lines -4" to drop the last 4 lines of a
-# file and there's no simple equivalent for MacOSX
-if (NOT WIN32 AND NOT APPLE)
- find_program (HAVE_POD2MAN pod2man)
- find_program (HAVE_POD2HTML pod2html)
- find_program (HAVE_COL col)
-endif ()
-if (HAVE_POD2MAN AND HAVE_POD2HTML AND HAVE_COL)
- set (MAINTAINER ON)
-else ()
- set (MAINTAINER OFF)
-endif ()
-if (MAINTAINER)
- add_custom_target (distrib-all)
- add_dependencies (distrib-all distrib-man)
-endif ()
-
-if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
- # Set a default build type for single-configuration cmake generators
- # if no build type is set.
- set (CMAKE_BUILD_TYPE Release)
-endif ()
-
-# Set output directories for Windows so that executables and dlls are
-# put in the same place
-if (WIN32)
- # static libaries
- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
- # shared libraries
- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
- # executables and dlls
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
-endif ()
-
-# The list of tools (to be installed into, e.g., /usr/local/bin)
-set (TOOLS CartConvert ConicProj GeodesicProj GeoConvert GeodSolve
- GeoidEval Gravity MagneticField Planimeter RhumbSolve TransverseMercatorProj)
-# The list of scripts (to be installed into, e.g., /usr/local/sbin)
-set (SCRIPTS geographiclib-get-geoids geographiclib-get-gravity
- geographiclib-get-magnetic)
-
-set_property (GLOBAL PROPERTY USE_FOLDERS ON)
-
-# The list of subdirectories to process
-add_subdirectory (src)
-add_subdirectory (include/GeographicLib)
-add_subdirectory (tools)
-add_subdirectory (man)
-add_subdirectory (doc)
-add_subdirectory (js)
-add_subdirectory (matlab)
-add_subdirectory (python/geographiclib)
-add_subdirectory (examples)
-if (MSVC AND BUILD_NETGEOGRAPHICLIB)
- if (GEOGRAPHICLIB_PRECISION EQUAL 2)
- set (NETGEOGRAPHICLIB_LIBRARIES NETGeographicLib)
- set (NETLIBNAME NETGeographic)
- add_subdirectory (dotnet/NETGeographicLib)
- add_subdirectory (dotnet/examples/ManagedCPP)
- else ()
- message (WARNING "Build of NETGeographicLib only works with doubles")
- endif ()
-endif ()
-add_subdirectory (cmake)
-if (DEVELOPER)
- add_subdirectory (tests)
-endif ()
-
-# Packaging support; we deal with
-# (1) a source distribution: cmake make a tar.gz file and the zip file
-# is created from this. Only the maintainer can do this, because of
-# the need to generate additional documentation files.
-# (2) a binary distribution: code is included for Linux, Apple, and
-# Windows, but only the Windows distribution has been exercised.
-
-# Need to ensure that system dlls get included in a binary distribution
-if (NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
- # Visual Studio Express does include redistributable components so
- # squelch the warning.
- set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
-endif ()
-set (CMAKE_INSTALL_DEBUG_LIBRARIES ON)
-include (InstallRequiredSystemLibraries)
-
-# The configuration of CPack is via variable that need to be set before
-# the include (CPack).
-set (CPACK_PACKAGE_CONTACT charles@karney.com)
-set (CPACK_PACKAGE_VENDOR "GeographicLib")
-set (CPACK_PACKAGE_DESCRIPTION_SUMMARY
- "GeographicLib library, utilities, and documentation")
-# The list of files to be excluded from the source distribution.
-set (CPACK_SOURCE_IGNORE_FILES
- "#"
- "~\$"
- "/\\\\.git"
- "${PROJECT_SOURCE_DIR}/BUILD"
- "${PROJECT_SOURCE_DIR}/(tests|testdata|cgi-bin|.*\\\\.cache)/"
- "${PROJECT_SOURCE_DIR}/(distrib|.*-distrib|.*-installer|geodesic-papers)/"
- "${PROJECT_SOURCE_DIR}/[^/]*\\\\.(xml|html|css|kmz|pdf)\$"
- "${PROJECT_SOURCE_DIR}/(autogen|biblio)\\\\.sh\$"
- "${PROJECT_SOURCE_DIR}/(robots.txt|geodesic-biblio.txt|makefile-admin|[^/]*\\\\.png)\$"
- "${PROJECT_SOURCE_DIR}/matlab/.*blurb.txt\$")
-set (CPACK_SOURCE_GENERATOR TGZ)
-
-set (CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE.txt)
-set (CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}-${PROJECT_VERSION}")
-set (CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
-
-if (WIN32)
- # The Windows binary packager is NSIS. Set the necessary variables
- # for this.
- set (CPACK_NSIS_CONTACT "charles@karney.com")
- set (CPACK_NSIS_URL_INFO_ABOUT "https://geographiclib.sourceforge.io")
- set (CPACK_NSIS_HELP_LINK "mailto:charles@karney.com")
- # No provision for accommodating different compiler versions. However
- # the Visual Studio 14 2015 build works also with Visual Studio 15
- # 2017 and Visual Studio 16 2019.
- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
- set (CPACK_NSIS_INSTALL_ROOT "C:\\\\Program Files")
- set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}-win64")
- set (CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME} x64 ${PROJECT_VERSION}")
- set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY
- "${PROJECT_NAME}-x64-${PROJECT_VERSION}")
- else ()
- set (CPACK_NSIS_INSTALL_ROOT "C:\\\\Program Files (x86)")
- set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}-win32")
- set (CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME} win32 ${PROJECT_VERSION}")
- set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY
- "${PROJECT_NAME}-win32-${PROJECT_VERSION}")
- endif ()
- set (CPACK_NSIS_DISPLAY_NAME ${CPACK_NSIS_PACKAGE_NAME})
- set (CPACK_NSIS_MENU_LINKS
- "https://geographiclib.sourceforge.io/${PROJECT_VERSION}/index.html"
- "Library documentation"
- "https://geographiclib.sourceforge.io/${PROJECT_VERSION}/utilities.html"
- "Utilities documentation"
- "https://geographiclib.sourceforge.io" "GeographicLib home page"
- "https://sourceforge.net/projects/geographiclib/" "Main project page")
- set (CPACK_NSIS_MODIFY_PATH ON)
-elseif (APPLE)
- # Not tested
- set (CPACK_GENERATOR Bundle)
- set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}-darwin")
-else ()
- # Not tested
- set (CPACK_GENERATOR TGZ)
-endif ()
-
-include (CPack)
-
-# Another maintainer-specific target is building the source distribution
-# via the target dist. This calls package_source to make a tar.gz file.
-# However this needs to be touched up to support the vanilla Makefiles
-# provided with GeographicLib. This entails
-# (1) creating Makefile (which includes Makefile.mk);
-# (2) creating a bare-bones Config.h (with just the version information);
-# (3) making sure that make thinks the generated documentation files are
-# up-to-date.
-# Then a new tar.gz file and zip file are created. To avoid potential
-# problems with directory permissions, tar and zip are told only to
-# archive the files.
-if (MAINTAINER)
- add_custom_target (dist
- COMMAND ${CMAKE_MAKE_PROGRAM} package_source
- COMMAND
- cd _CPack_Packages/Linux-Source/TGZ/${CPACK_SOURCE_PACKAGE_FILE_NAME} &&
- echo include Makefile.mk > Makefile &&
- sed -e "s/Unconfigured/${PROJECT_VERSION}/"
- -e "s/MAJOR .*/MAJOR ${CPACK_PACKAGE_VERSION_MAJOR}/"
- -e "s/MINOR .*/MINOR ${CPACK_PACKAGE_VERSION_MINOR}/"
- -e "s/PATCH .*/PATCH ${CPACK_PACKAGE_VERSION_PATCH}/"
- include/GeographicLib/Config.h > include/GeographicLib/Config.h.new &&
- mv include/GeographicLib/Config.h.new include/GeographicLib/Config.h
- COMMAND
- cd _CPack_Packages/Linux-Source/TGZ/${CPACK_SOURCE_PACKAGE_FILE_NAME} &&
- touch man/[A-Za-z]*.usage man/[A-Za-z]*.1 man/[A-Za-z]*.1.html &&
- chmod -R g-w .
- COMMAND
- cd _CPack_Packages/Linux-Source/TGZ &&
- find ${CPACK_SOURCE_PACKAGE_FILE_NAME} -type f |
- tar cfzT ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz -
- COMMAND
- rm -f ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip &&
- rsync -a --delete
- _CPack_Packages/Linux-Source/TGZ/${CPACK_SOURCE_PACKAGE_FILE_NAME}
- _CPack_Packages/Linux-Source/TGZ.DOS/ &&
- cd _CPack_Packages/Linux-Source/TGZ.DOS &&
- find . -type f |
- egrep -v '/\(compile|config[^/]*|depcomp|install-sh|missing|[Mm]akefile[^/]*|[^/]*\\.\(ac|am|csproj|eps|kmz|m4|pdf|png|resx|settings|sh|sln|vcproj|vcxproj\)\)$$' |
- xargs unix2dos -q -k &&
- find ${CPACK_SOURCE_PACKAGE_FILE_NAME} -type f |
- zip -q ${CMAKE_BINARY_DIR}/${CPACK_SOURCE_PACKAGE_FILE_NAME}.zip -@
- )
- add_dependencies (dist distrib-all)
-endif ()
-
-# The test suite -- split into a separate file because it's rather large.
-# N.B. Many of the tests fail with GEOGRAPHICLIB_PRECISION = 1 (float).
-include (tools/tests.cmake)
diff --git a/libs/GeographicLib-1.50.1/INSTALL b/libs/GeographicLib-1.50.1/INSTALL
deleted file mode 100644
index 9bf634eb25b19c1eee0f590981bc772a94158f0a..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/INSTALL
+++ /dev/null
@@ -1,3 +0,0 @@
-For installation instructions, open
-
- https://geographiclib.sourceforge.io/html/install.html
diff --git a/libs/GeographicLib-1.50.1/LICENSE.txt b/libs/GeographicLib-1.50.1/LICENSE.txt
deleted file mode 100644
index d1bcab1a0cf44d5c28266653ce12ab41b5cb2813..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/LICENSE.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-The MIT License (MIT); this license applies to GeographicLib,
-versions 1.12 and later.
-
-Copyright (c) 2008-2019, Charles Karney
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use, copy,
-modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/libs/GeographicLib-1.50.1/Makefile b/libs/GeographicLib-1.50.1/Makefile
deleted file mode 100644
index c7745fa8cc466028bf1a72e4936edd056c56ce79..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include Makefile.mk
diff --git a/libs/GeographicLib-1.50.1/Makefile.am b/libs/GeographicLib-1.50.1/Makefile.am
deleted file mode 100644
index f7a0f419f3ce6480a2019c1bd047d8d8b06792dc..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/Makefile.am
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Makefile.am
-#
-# Copyright (C) 2009, Francesco P. Lovergine
-
-AUTOMAKE_OPTIONS = foreign
-
-ACLOCAL_AMFLAGS = -I m4
-
-SUBDIRS = src man tools doc js include matlab python cmake examples
-
-EXTRA_DIST = AUTHORS 00README.txt LICENSE.txt NEWS INSTALL README.md \
- Makefile.mk CMakeLists.txt windows maxima doc legacy java js dotnet \
- wrapper
-
-# Install the pkg-config file; the directory is set using
-# PKG_INSTALLDIR in configure.ac.
-pkgconfig_DATA = cmake/geographiclib.pc
-
-dist-hook:
- rm -rf $(distdir)/doc/html $(distdir)/doc/manpages \
- $(distdir)/doc/GeographicLib.dox
- find $(distdir)/maxima -type f -name '*.lsp' | xargs rm -rf
- rm -rf $(distdir)/java/targets
- find $(distdir)/java -type f -name '*.class' | xargs rm -rf
- find $(distdir)/wrapper -mindepth 2 -type d | xargs rm -rf
- find $(distdir)/wrapper -type f -name '*.o' -o -name '*.mex*' | \
- xargs rm -f
- find $(distdir)/windows -mindepth 1 -type d | xargs rm -rf
- find $(distdir)/windows -type f \
- ! \( -name '*.sln' -o -name '*.vc*proj' -o -name '*.mk' \)| \
- xargs rm -f
- find $(distdir) \
- \( -name .svn -o -name '.git*' -o -name CVS -o -name Makefile -o -name '*~' -o -name '*#*' -o -name 'CMakeFiles' -o -name '*.log' -o -name '*.tmp' -o -name '*.pyc' -o -name '*.bak' -o -name '*.BAK' -o -name geographiclib.js \) | \
- xargs rm -rf
- echo include Makefile.mk > $(distdir)/Makefile
- sed -e "s/Unconfigured/$(PACKAGE_VERSION)/" \
- -e "s/MAJOR .*/MAJOR ${GEOGRAPHICLIB_VERSION_MAJOR}/" \
- -e "s/MINOR .*/MINOR ${GEOGRAPHICLIB_VERSION_MINOR}/" \
- -e "s/PATCH .*/PATCH ${GEOGRAPHICLIB_VERSION_PATCH}/" \
- $(top_srcdir)/include/GeographicLib/Config.h > \
- $(distdir)/include/GeographicLib/Config.h
-
-# Custom rules
-
-all-local: man doc
-install-data-local: install-doc
-
-doc: man
- $(MAKE) -C doc doc
-
-install-doc:
- $(MAKE) -C doc install-doc
-
-man:
- $(MAKE) -C man man
-
-.PHONY: doc install-doc man install-matlab install-python
diff --git a/libs/GeographicLib-1.50.1/Makefile.in b/libs/GeographicLib-1.50.1/Makefile.in
deleted file mode 100644
index ca36dcd205be6130496cd79ac592a7e3a1ab1fcc..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/Makefile.in
+++ /dev/null
@@ -1,949 +0,0 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Makefile.am
-#
-# Copyright (C) 2009, Francesco P. Lovergine
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) $(am__DIST_COMMON)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/include/GeographicLib/Config-ac.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
- ctags-recursive dvi-recursive html-recursive info-recursive \
- install-data-recursive install-dvi-recursive \
- install-exec-recursive install-html-recursive \
- install-info-recursive install-pdf-recursive \
- install-ps-recursive install-recursive installcheck-recursive \
- installdirs-recursive pdf-recursive ps-recursive \
- tags-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
- $(RECURSIVE_TARGETS) \
- $(RECURSIVE_CLEAN_TARGETS) \
- $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
- cscope distdir distdir-am dist dist-all distcheck
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(top_srcdir)/include/GeographicLib/Config-ac.h.in AUTHORS \
- INSTALL NEWS compile config.guess config.sub depcomp \
- install-sh ltmain.sh missing
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- if test -d "$(distdir)"; then \
- find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -rf "$(distdir)" \
- || { sleep 5 && rm -rf "$(distdir)"; }; \
- else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-DIST_TARGETS = dist-gzip
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
- | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COL = @COL@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GEOGRAPHICLIB_VERSION_MAJOR = @GEOGRAPHICLIB_VERSION_MAJOR@
-GEOGRAPHICLIB_VERSION_MINOR = @GEOGRAPHICLIB_VERSION_MINOR@
-GEOGRAPHICLIB_VERSION_PATCH = @GEOGRAPHICLIB_VERSION_PATCH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POD2HTML = @POD2HTML@
-POD2MAN = @POD2MAN@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgconfigdir = @pkgconfigdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign
-ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = src man tools doc js include matlab python cmake examples
-EXTRA_DIST = AUTHORS 00README.txt LICENSE.txt NEWS INSTALL README.md \
- Makefile.mk CMakeLists.txt windows maxima doc legacy java js dotnet \
- wrapper
-
-
-# Install the pkg-config file; the directory is set using
-# PKG_INSTALLDIR in configure.ac.
-pkgconfig_DATA = cmake/geographiclib.pc
-all: all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-include/GeographicLib/Config-ac.h: include/GeographicLib/stamp-h1
- @test -f $@ || rm -f include/GeographicLib/stamp-h1
- @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) include/GeographicLib/stamp-h1
-
-include/GeographicLib/stamp-h1: $(top_srcdir)/include/GeographicLib/Config-ac.h.in $(top_builddir)/config.status
- @rm -f include/GeographicLib/stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status include/GeographicLib/Config-ac.h
-$(top_srcdir)/include/GeographicLib/Config-ac.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f include/GeographicLib/stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f include/GeographicLib/Config-ac.h include/GeographicLib/stamp-h1
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
- @fail=; \
- if $(am__make_keepgoing); then \
- failcom='fail=yes'; \
- else \
- failcom='exit 1'; \
- fi; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscope: cscope.files
- test ! -s cscope.files \
- || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-clean-cscope:
- -rm -f cscope.files
-cscope.files: clean-cscope cscopelist
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
- -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-hook
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
- $(am__post_remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__post_remove_distdir)
-
-dist-lzip: distdir
- tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
- $(am__post_remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__post_remove_distdir)
-
-dist-tarZ: distdir
- @echo WARNING: "Support for distribution archives compressed with" \
- "legacy program 'compress' is deprecated." >&2
- @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__post_remove_distdir)
-
-dist-shar: distdir
- @echo WARNING: "Support for shar distribution archives is" \
- "deprecated." >&2
- @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
- $(am__post_remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__post_remove_distdir)
-
-dist dist-all:
- $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
- $(am__post_remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lz*) \
- lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir)
- chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build/sub \
- && ../../configure \
- $(AM_DISTCHECK_CONFIGURE_FLAGS) \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- --srcdir=../.. --prefix="$$dc_install_base" \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__post_remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @test -n '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: trying to run $@ with an empty' \
- '$$(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- $(am__cd) '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA) all-local
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-data-local install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-pkgconfigDATA
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
- am--refresh check check-am clean clean-cscope clean-generic \
- clean-libtool cscope cscopelist-am ctags ctags-am dist \
- dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
- dist-tarZ dist-xz dist-zip distcheck distclean \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-local install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-pkgconfigDATA install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am uninstall-pkgconfigDATA
-
-.PRECIOUS: Makefile
-
-
-dist-hook:
- rm -rf $(distdir)/doc/html $(distdir)/doc/manpages \
- $(distdir)/doc/GeographicLib.dox
- find $(distdir)/maxima -type f -name '*.lsp' | xargs rm -rf
- rm -rf $(distdir)/java/targets
- find $(distdir)/java -type f -name '*.class' | xargs rm -rf
- find $(distdir)/wrapper -mindepth 2 -type d | xargs rm -rf
- find $(distdir)/wrapper -type f -name '*.o' -o -name '*.mex*' | \
- xargs rm -f
- find $(distdir)/windows -mindepth 1 -type d | xargs rm -rf
- find $(distdir)/windows -type f \
- ! \( -name '*.sln' -o -name '*.vc*proj' -o -name '*.mk' \)| \
- xargs rm -f
- find $(distdir) \
- \( -name .svn -o -name '.git*' -o -name CVS -o -name Makefile -o -name '*~' -o -name '*#*' -o -name 'CMakeFiles' -o -name '*.log' -o -name '*.tmp' -o -name '*.pyc' -o -name '*.bak' -o -name '*.BAK' -o -name geographiclib.js \) | \
- xargs rm -rf
- echo include Makefile.mk > $(distdir)/Makefile
- sed -e "s/Unconfigured/$(PACKAGE_VERSION)/" \
- -e "s/MAJOR .*/MAJOR ${GEOGRAPHICLIB_VERSION_MAJOR}/" \
- -e "s/MINOR .*/MINOR ${GEOGRAPHICLIB_VERSION_MINOR}/" \
- -e "s/PATCH .*/PATCH ${GEOGRAPHICLIB_VERSION_PATCH}/" \
- $(top_srcdir)/include/GeographicLib/Config.h > \
- $(distdir)/include/GeographicLib/Config.h
-
-# Custom rules
-
-all-local: man doc
-install-data-local: install-doc
-
-doc: man
- $(MAKE) -C doc doc
-
-install-doc:
- $(MAKE) -C doc install-doc
-
-man:
- $(MAKE) -C man man
-
-.PHONY: doc install-doc man install-matlab install-python
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libs/GeographicLib-1.50.1/Makefile.mk b/libs/GeographicLib-1.50.1/Makefile.mk
deleted file mode 100644
index 90fb16f6e544e01afb60c11982e13dbbfd54010a..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/Makefile.mk
+++ /dev/null
@@ -1,56 +0,0 @@
-MAKEFILE := $(lastword $(MAKEFILE_LIST))
-MAKE := $(MAKE) -f $(MAKEFILE)
-SUBDIRS = src man tools doc js
-ALLDIRS = include $(SUBDIRS) maxima matlab python cmake
-
-all: src man tools js
-
-$(SUBDIRS):
- $(MAKE) -C $@
-
-tools: src
-install: install-headers install-lib install-tools install-man install-cmake \
- install-doc install-js install-matlab install-python
-clean: clean-src clean-tools clean-doc clean-js clean-man clean-matlab \
- clean-python
-
-install-headers:
- $(MAKE) -C include install
-install-lib:
- $(MAKE) -C src install
-install-tools: src
- $(MAKE) -C tools install
-install-cmake:
- $(MAKE) -C cmake install
-install-doc: doc
- $(MAKE) -C doc install
-install-js: js
- $(MAKE) -C js install
-install-man: man
- $(MAKE) -C man install
-install-matlab: matlab
- $(MAKE) -C matlab install
-install-python: python
- $(MAKE) -C python install
-clean-src:
- $(MAKE) -C src clean
-clean-tools:
- $(MAKE) -C tools clean
-clean-doc:
- $(MAKE) -C doc clean
-clean-js:
- $(MAKE) -C js clean
-clean-man:
- $(MAKE) -C man clean
-clean-matlab: matlab
- $(MAKE) -C matlab clean
-clean-python: python
- $(MAKE) -C python clean
-
-VERSION:=$(shell grep '\bVERSION=' configure | cut -f2 -d\' | head -1)
-
-.PHONY: all $(SUBDIRS) install clean \
- install-headers install-lib install-tools install-man install-cmake \
- install-doc install-js install-matlab install-python \
- clean-src clean-tools clean-doc clean-js clean-man clean-matlab \
- clean-python
diff --git a/libs/GeographicLib-1.50.1/NEWS b/libs/GeographicLib-1.50.1/NEWS
deleted file mode 100644
index d4073a36a46170f6f0f71374440088b242234667..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/NEWS
+++ /dev/null
@@ -1,1786 +0,0 @@
-A reverse chronological list of changes to GeographicLib
-
-For more information, see
-
- https://geographiclib.sourceforge.io/
-
-The current version of the library is 1.50.1
-
-Changes between 1.50.1 (released 2019-12-13) and 1.50 versions:
-
- * Add the World Magnetic Model 2020, wmm2020, covering the period
- 2020-2025. This is now the model returned by
- MagneticModel::DefaultMagneticName and is default magnetic model
- for MagneticField (replacing wmm2015v2 which is only valid thru
- the end of 2019).
-
- * Include float instantiations of those templated Math functions
- which migrated to Math.cpp in version 1.50.
-
- * WARNING: The next version of GeographicLib will require a C++11
- compliant compiler. This means that the minimum version of Visual
- Studio will be Visual Studio 12 2013. (This repeats the warning
- given with version 1.50. It didn't apply to this version because
- this is a minor update.)
-
-Changes between 1.50 (released 2019-09-24) and 1.49 versions:
-
- * BUG fixes:
- + Java + JavaScript implementations of PolygonArea::TestEdge
- counted the pole encirclings wrong.
- + Fix typo in JavaScript implementation which affected unsigned
- areas.
- + Adding edges to a polygon counted pole encirclings inconsistent
- with the way the adding point counted them. This might have
- caused an incorrect result if a polygon vertex had longitude =
- 0. This affected all implementations except Fortran and
- MATLAB).
- + GARS::Forward: fix BUG in handling of longitude = +/-180d.
- + Fix bug in Rhumb class and RhumbSolve(1) utiity which caused
- incorrect area to be reported if an endpoint is at a pole.
- Thanks to Natalia Sabourova for reporting this.
- + Fix bug in MATLAB routine mgrs_inv which resulted in incorrect
- results for UPS zones with prec = -1.
- + In geodreckon.m geoddistance.m, suppress (innocuous) "warning:
- division by zero" messages from Octave.
- + In python implementation, work around problems caused by
- sin(inf) and fmod(inf) raising exceptions.
- + Geoid class, fix the use of streamoff.
-
- * The PolygonArea class, the Planimeter utility, and their equivalents
- in C, Fortran, MATLAB, Java, JavaScript, Python, and Maxima can now
- handle arbitrarily complex polygons. In the case of
- self-intersecting polygons the area is accumulated "algebraically",
- e.g., the areas of the 2 loops in a figure-8 polygon will partially
- cancel.
-
- * Changes in gravity and magnetic model handling
- + SphericalEngine::coeff::readcoeffs takes new optional argument
- truncate.
- + The constructors for GravityModel and MagneticModel allow the
- maximum degree and order to be specified. The array of
- coefficients will then be truncated if necessary.
- + GravityModel::Degree(), GravityModel::Order(),
- MagneticModel::Degree(), MagneticModel::Order() return the
- maximum degree and order of all the components of a GravityModel
- or MagneticModel.
- + Gravity and MagneticField utilities accept -N and -M options to
- to allow the maximum degree and order to be specified.
-
- * The GeodSolve allows fractional distances to be entered as fractions
- (with the -F flag).
-
- * MajorRadius() methods are now called EquatorialRadius() for the C++,
- Java, and .NET libraries. "Equatorial" is more descriptive in the
- case of prolate ellipsoids. MajorRadius() is retained for backward
- compatibility for C++ and Java but is deprecated.
-
- * Minimum version updates:
- + CMake = 3.1.0, released 2014-12-15.
- + Minimum g++ version = 4.8.0, released 2013-03-22.
- + Visual Studio 10 2010 (haven't been able to check Visual Studio
- 2008 for a long time).
- + WARNING: The next version of GeographicLib will require a C++11
- compliant compiler. This means that the minimum version of
- Visual Studio will be Visual Studio 12 2013.
- + Minimum boost version = 1.64 needed for GEOGRAPHICLIB_PRECISION
- = 4.
- + Java = 1.6; this allows the removal of epsilon, min, hypot,
- log1p, copysign, cbrt from GeoMath.
-
- * CMake updates:
- + Fine tune Visual Studio compatibility check in
- find_package(GeographicLib); this allows GeographicLib compiled
- with Visual Studio 14 2015 to be used with a project compiled
- with Visual Studio 15 2017 and 16 2019.
- + Suppress warnings with dotnet build.
- + Change CMake target names and add an interface library (thanks
- to Matthew Woehlke).
- + Remove pre-3.1.0 cruft and update the documentation to remove
- the need to call include_dirctories.
- + Add _d suffix to example and test programs.
- + Changer installation path for binary installer to the Windows
- default.
- + Add support for Intel compiler (for C++, C, Fortran). This
- entails supplying the -fp-model precise flag to prevent the
- compiler from incorrectly simplying (a + b) + c and 0.0 + x.
-
- * Add version 2 of the World Magnetic Model 2015, wmm2015v2. This is
- now the default magnetic model for MagneticField (replacing wmm2015
- which is now deprecated). Coming in 2019-12: the wmm2020 model.
-
- * The -f flag in the scripts geographiclib-get-geoids,
- geographiclib-get-gravity, and geographiclib-get-magnetic, allows
- you to load new models (not yet in the set defined by "all"). This
- is in addition to its original role of allowing you to overwrite
- existing models.
-
- * Changes in math function support:
- + Move some of the functionality from Math.hpp to Math.cpp to make
- compilation of package which depend on GeographicLib less
- sensitive to the current compiler environment.
- + Add Math::remainder, Math::remquo, Math::round, and
- Math::lround. Also add implementations of remainder, remquo to
- C implementation.
- + Math::cbrt, Math::atanh, and Math::asinh now preserve the sign
- of -0. (Also: C, Java, JavaScript, Python, MATLAB. Not
- necessary: Fortran because sign is a built-in function.)
- + JavaScript: fall back to Math.hypot, Math.cbrt, Math.log1p,
- Math.atanh if they are available.
-
- * When parsing DMS strings ignore various non-breaking spaces (C++ and
- JavaScript).
-
- * Improve code coverage in the tests of geodesic algorithms (C++, C,
- Java, JavaScript, Python, MATLAB, Fortran).
-
- * Old deprecated NormalGravity::NormalGravity constructor removed.
-
- * Additions to the documentation:
- + add documentation links to ge{distance,reckon}.m;
- + clarify which solution is returned for Geocentric::Reverse.
-
-Changes between 1.49 (released 2017-10-05) and 1.48 versions:
-
- * Add the Enhanced Magnetic Model 2017, emm2017. This is valid for
- 2000 thru the end of 2021.
-
- * Avoid potential problems with the order of initializations in DMS,
- GARS, Geohash, Georef, MGRS, OSGB, SphericalEngine; this only would
- have been an issue if GeographicLib objects were instantiated
- globally. Now no GeographicLib initialization code should be run
- prior to the entry of main().
-
- * To support the previous fix, add an overload, Utility::lookup(const
- char* s, char c).
-
- * NearestNeighbor::Search throws an error if pts is the wrong size
- (instead of merely returning no results).
-
- * Use complex arithmetic for Clenshaw sums in TransverseMercator and
- tranmerc_{fwd,inv}.m.
-
- * Changes in cmake support:
- + fix compiler flags for GEOGRAPHICLIB_PRECISION = 4;
- + add CONVERT_WARNINGS_TO_ERRORS option (default OFF), if ON then
- compiler warnings are treated as errors.
-
- * Fix warnings about implicit conversions of doubles to bools in C++,
- C, and JavaScript packages.
-
- * Binary installers for Windows now use Visual Studio 14 2015.
-
-Changes between 1.48 (released 2017-04-09) and 1.47 versions:
-
- * The "official" URL for GeographicLib is now
- https://geographiclib.sourceforge.io (instead of
- http://geographiclib.sourceforge.net).
-
- * The default range for longitude and azimuth is now (-180d, 180d],
- instead of [-180d, 180d). This was already the case for the C++
- library; now the change has been made to the other implementations
- (C, Fortran, Java, JavaScript, Python, MATLAB, and Maxima).
-
- * Changes to NearestNeighbor:
- + fix BUG in reading a NearestNeighbor object from a stream which
- sometimes incorrectly caused a "Bad index" exception to be thrown;
- + add operator<<, operator>>, swap,
- std::swap(NearestNeighbor&, NearestNeighbor&);
-
- * Additions to the documentation:
- + add documentation on finding nearest neighbors;
- + normal gravity documentation is now on its own page and now has an
- illustrative figure;
- + document the truncation error in the series for auxiliary
- latitudes.
-
- * Fix BUGS in MATLAB function geodreckon with mixed scalar and array
- arguments.
-
- * Workaround bug in math.fmod for Python 2.7 on 32-bit Windows
- machines.
-
- * Changes in cmake support:
- + add USE_BOOST_FOR_EXAMPLES option (default OFF), if ON search for
- Boost libraries for building examples;
- + add APPLE_MULTIPLE_ARCHITECTURES option (default OFF), if ON build
- for both i386 and x86_64 on Mac OS X systems;
- + don't add flag for C++11 for g++ 6.0 (since it's not needed).
-
- * Fix compiler warnings with Visual Studio 2017 and for the C library.
-
-Changes between 1.47 (released 2017-02-15) and 1.46 versions:
-
- * Add NearestNeighbor class.
-
- * Improve accuracy of area calculation (fixing a flaw introduced in
- version 1.46); fix applied in Geodesic, GeodesicExact, and the
- implementations in C, Fortran, Java, JavaScript, Python, MATLAB, and
- Maxima.
-
- * Generalize NormalGravity to allow oblate and prolate ellipsoids. As
- a consequence a new form of constructor has been introduced and the
- old form is now deprecated (and because the signatures of the two
- constructors are similar, the compiler will warn about the use of
- the old one).
-
- * Changes in Math class:
- + Math::sincosd, Math::sind, Math::cosd only return -0 for the case
- sin(-0);
- + Math::atan2d and Math::AngNormalize return results in (-180deg,
- 180deg]; this may affect the longitudes and azimuth returned by
- several other functions.
-
- * Add Utility::trim() and Utility::val(); Utility::num() is now
- DEPRECATED.
-
- * Changes in cmake support:
- + remove support of PACKAGE_PATH and INSTALL_PATH in cmake
- configuration;
- + fix to FindGeographicLib.cmake to make it work on Debian systems;
- + use $ (cmake version >= 3.1);
- + use NAMESPACE for exported targets;
- + geographiclib-config.cmake exports GEOGRAPHICLIB_DATA,
- GEOGRAPHICLIB_PRECISION, and GeographicLib_HIGHPREC_LIBRARIES.
-
- * Add pkg-config support for cmake and autoconf builds.
-
- * Minor fixes:
- + fix the order of declarations in C library, incorporating the
- patches in version 1.46.1;
- + fix the packaging of the python library, incorporating the patches
- in version 1.46.3;
- + restrict junit dependency in the Java package to testing scope
- (thanks to Mick Killianey);
- + various behind-the-scenes fixes to EllipticFunction;
- + fix documentation and default install location for Windows binary
- installers;
- + fix clang compiler warnings in GeodesicExactC4 and
- TransverseMercator.
-
-Changes between 1.46 (released 2016-02-15) and 1.45 versions:
-
- * The following BUGS have been fixed:
- + the -w flag to Planimeter(1) was being ignored;
- + in the Java package, the wrong longitude was being returned with
- direct geodesic calculation with a negative distance when starting
- point was at a pole (this bug was introduced in version 1.44);
- + in the JavaScript package, PolygonArea.TestEdge contained a
- misspelling of a variable name and other typos (problem found by
- threepointone).
-
- * INCOMPATIBLE CHANGES:
- + make the -w flag (to swap the default order of latitude and
- longitude) a toggle for all utility programs;
- + the -a option to GeodSolve(1) now toggles (instead of sets) arc
- mode;
- + swap order coslon and sinlon arguments in CircularEngine class.
-
- * Remove deprecated functionality:
- + remove gradient calculation from the Geoid class and GeoidEval(1)
- (this was inaccurate and of dubious utility);
- + remove reciprocal flattening functions, InverseFlattening in many
- classes and Constants::WGS84_r(); stop treating flattening > 1 as
- the reciprocal flattening in constructors;
- + remove DMS::Decode(string), DMS::DecodeFraction,
- EllipticFunction:m, EllipticFunction:m1, Math::extradigits,
- Math::AngNormalize2, PolygonArea::TestCompute;
- + stop treating LONG_NOWRAP as an alias for LONG_UNROLL in Geodesic
- (and related classes) and Rhumb;
- + stop treating full/schmidt as aliases for FULL/SCHMIDT in
- SphericalEngine (and related classes);
- + remove qmake project file src/GeographicLib.pro because QtCreator
- can handle cmake projects now;
- + remove deprecated Visual Studio 2005 project and solution files.
-
- * Changes to GeodesicLine and GeodesicLineExact classes; these changes
- (1) simplify the process of computing waypoints on a geodesic given
- two endpoints and (2) allow a GeodesicLine to be defined which is
- consistent with the solution of the inverse problem (in particular
- Geodesic::InverseLine the specification of south-going lines which
- pass the poles in a westerly direction by setting sin alpha_1 = -0):
- + the class stores the distance s13 and arc length a13 to a
- reference point 3; by default these quantities are NaNs;
- + GeodesicLine::SetDistance (and GeodesicLine::SetArc) specify the
- distance (and arc length) to point 3;
- + GeodesicLine::Distance (and GeodesicLine::Arc) return the distance
- (and arc length) to point 3;
- + new methods Geodesic::InverseLine and Geodesic::DirectLine return
- a GeodesicLine with the reference point 3 defined as point 2 of
- the corresponding geodesic calculation;
- + these changes are also included in the C, Java, JavaScript, and
- Python packages.
-
- * Other changes to the geodesic routines:
- + more accurate solution of the inverse problem when longitude
- difference is close to 180deg (also in C, Fortran, Java,
- JavaScript, Python, MATLAB, and Maxima packages);
- + more accurate calculation of lon2 in the inverse calculation with
- LONG_UNROLL (also in Java, JavaScript, Python packages).
-
- * Changes to GeodSolve(1) utility:
- + the -I and -D options now specify geodesic line calculation via
- the standard inverse or direct geodesic problems;
- + rename -l flag to -L to parallel the new -I and -D flags (-l is is
- retained for backward compatibility but is deprecated), and
- similarly for RhumbSolve(1);
- + the -F flag (in conjunction with the -I or -D flags) specifies
- that distances read on standard input are fractions of s13 or a13;
- + the -a option now toggles arc mode (noted above);
- + the -w option now toggles longitude first mode (noted above).
-
- * Changes to Math class:
- + Math::copysign added;
- + add overloaded version of Math::AngDiff which returns the error in
- the difference. This allows a more accurate treatment of inverse
- geodesic problem when lon12 is close to 180deg;
- + Math::AngRound now converts tiny negative numbers to -0 (instead
- of +0), however -0 is still converted to +0.
-
- * Add -S and -T options to GeoConvert(1).
-
- * Add Sphinx documentation for Python package.
-
- * Samples of wrapping the C++ library, so it's accessible in other
- languages, are given in wrapper/C, wrapper/python, and
- wrapper/matlab.
-
- * Binary installers for Windows now use Visual Studio 12 2013.
-
- * Remove top-level pom.xml from release (it was specific to SRI).
-
- * A reminder: because of the JavaScript changes introduced in version
- 1.45, you should remove the following installation directories from
- your system:
- + Windows: ${CMAKE_INSTALL_PREFIX}/doc/scripts
- + Others: ${CMAKE_INSTALL_PREFIX}/share/doc/GeographicLib/scripts
-
-Changes between 1.45 (released 2015-09-30) and 1.44 versions:
-
- * Fix BUG in solution of inverse geodesic caused by misbehavior of
- some versions of Visual Studio on Windows (fmod(-0.0, 360.0) returns
- +0.0 instead of -0.0) and Octave (sind(-0.0) returns +0.0 instead of
- -0.0). These bugs were exposed because max(-0.0, +0.0) returns -0.0
- for some languages.
-
- * Geodesic::Inverse now correctly returns NaNs if one of the latitudes
- is a NaN.
-
- * Changes to JavaScript package:
- + thanks to help from Yurij Mikhalevich, it is a now a node package
- that can be installed with npm;
- + make install now installs the node package in
- lib/node_modules/geographiclib;
- + add unit tests using mocha;
- + add documentation via JSDoc;
- + fix bug Geodesic.GenInverse (this bug, introduced in version 1.44,
- resulted in the wrong azimuth being reported for points at the
- pole).
-
- * Changes to Java package:
- + add implementation of ellipsoidal Gnomonic projection (courtesy of
- Sebastian Mattheis);
- + add unit tests using JUnit;
- + Math.toRadians and Math.toDegrees are used instead of
- GeoMath.degree (which is now removed), as a result...
- + Java version 1.2 (released 1998-12) or later is now required.
-
- * Changes to Python package:
- + add unit tests using the unittest framework;
- + fixed bug in normalization of the area.
-
- * Changes to MATLAB package:
- + fix array size mismatch in geoddistance by avoiding calls to
- subfunctions with zero-length arrays;
- + fix tranmerc_{fwd,inv} so that they work with arrays and mixed
- array/scalar arguments;
- + work around Octave problem which causes mgrs_fwd to return garbage
- with prec = 10 or 11;
- + add geographiclib_test.m to run a test suite.
-
- * Behavior of substituting 1/f for f if f > 1 is now deprecated. This
- behavior has been removed from the JavaScript, C, and Python
- implementations (it was never documented). Maxima, MATLAB, and
- Fortran implementations never included this behavior.
-
- * Other changes:
- + fix bug, introduced in version 1.42, in the C++ implementation to
- the computation of area which causes NaNs to be returned in the
- case of a sphere;
- + fixed bug, introduced in version 1.44, in the detection of C++11
- math functions in configure.ac;
- + throw error on non-convergence in Gnomonic::Reverse if
- GEOGRAPHICLIB_PRECISION > 3;
- + add geod_polygon_clear to C library;
- + turn illegal latitudes into NaNs for Fortran library;
- + add test suites for the C and Fortran libraries.
-
-Changes between 1.44 (released 2015-08-14) and 1.43 versions:
-
- * Various changes to improve accuracy, e.g., by minimizing round-off
- errors:
- + Add Math::sincosd, Math::sind, Math::cosd which take their
- arguments in degrees. These functions do exact range reduction
- and thus they obey exactly the elementary properties of the
- trigonometric functions, e.g., sin 9d = cos 81d
- = - sin 123456789d.
- + Math::AngNormalize now works for any angles, instead of angles in
- the range [-540d, 540d); the function Math::AngNormalize2 is now
- deprecated.
- + This means that there is now no restriction on longitudes and
- azimuths; any values can be used.
- + Improve the accuracy of Math::atan2d.
- + DMS::Decode avoids unnecessary round-off errors; thus 7:33:36 and
- 7.56 result in identical values. DMS::Encode rounds ties to even.
- These changes have also been made to DMS.js.
- + More accurate rounding in MGRS::Reverse and mgrs_inv.m; this
- change only makes a difference at sub-meter precisions.
- + With MGRS::Forward and mgrs_fwd.m, ensure that digits in lower
- precision results match those at higher precision; as a result,
- strings of trailing 9s are less likely to be generated. This
- change only makes a difference at sub-meter precisions.
- + Replace the series for A2 in the Geodesic class with one with
- smaller truncation errors.
- + Geodesic::Inverse sets s12 to zero for coincident points at pole
- (instead of returning a tiny quantity).
- + Math::LatFix returns its argument if it is in [-90d, 90d]; if not,
- it returns NaN.
- + Using Math::LatFix, routines which don't check their arguments now
- interpret a latitude outside the legal range of [-90d, 90d] as a
- NaN; such routines will return NaNs instead of finite but
- incorrect results; caution: code that (dangerously) relied on the
- "reasonable" results being returned for values of the latitude
- outside the allowed range will now malfunction.
-
- * All the utility programs accept the -w option to swap the
- latitude-longitude order on input and output (and where appropriate
- on the command-line arguments). CartConvert now accepts the -p
- option to set the precision; now all of the utilities except
- GeoidEval accept -p.
-
- * Add classes for GARS, the Global Area Reference System, and for
- Georef, the World Geographic Reference System.
-
- * Changes to DMS::Decode and DMS.js:
- + tighten up the rules:
- o 30:70.0 and 30:60 are illegal (minutes and second must be
- strictly less than 60), however
- o 30:60.0 and 30:60. are legal (floating point 60 is OK, since it
- might have been generated by rounding 59.99...);
- + generalize a+b concept, introduced in version 1.42, to any number
- of pieces; thus 8+0:40-0:0:10 is interpreted as 8:39:50.
-
- * Documentation fixes:
- + update man pages to refer to GeoConvert(1) on handling of
- geographic coordinates;
- + document limitations of the series used for TransverseMercator;
- + hide the documentation of the computation of the gradient of the
- geoid height (now deprecated) in the Geoid class;
- + warn about the possible misinterpretation of 7.0E+1 by
- DMS::Decode;
- + swaplatlong optional argument of DMS::DecodeLatLon and various
- functions in the GeoCoords class is now called longfirst;
- + require Doxygen 1.8.7 or later.
-
- * More systematic treatment of version numbers:
- + Python: __init__.py defines __version__ and __version_info__;
- + JavaScript:
- o Math.js defines Constants.version and Constants.version_string;
- o version number included as comment in packed script
- geographiclib.js;
- o geod-calc.html and geod-google.html report the version number;
- o https://geographiclib.sourceforge.io/scripts/ gives access to
- earlier versions of geographiclib.js as geographiclib-m.nn.js;
- + Fortran: add geover subroutine to return version numbers;
- + Maxima: geodesic.mac defines geod_version;
- + CGI scripts: these report the version numbers of the utilities.
-
- * BUG FIXES:
- + NormalGravity now works properly for a sphere (omega = f = J2 =
- 0), instead of returning NaNs (problem found by htallon);
- + CassiniSoldner::Forward and cassini_fwd.m now returns the correct
- azimuth for points at the pole.
-
- * MATLAB-specific fixes:
- + mgrs_fwd now treats treats prec > 11 as prec = 11;
- + illegal letter combinations are now correctly detected by
- mgrs_inv;
- + fixed bug where mgrs_inv returned the wrong results for prec = 0
- strings and center = 0;
- + mgrs_inv now decodes prec = 11 strings properly;
- + routines now return array results with the right shape;
- + routines now properly handle mixed scalar and array arguments.
-
- * Add Accumulator::operator*=(T y).
-
- * Geohash uses "invalid" instead of "nan" when the latitude or
- longitude is a nan.
-
-Changes between 1.43 (released 2015-05-23) and 1.42 versions:
-
- * Add the Enhanced Magnetic Model 2015, emm2015. This is valid for
- 2000 thru the end of 2019. This required some changes in the
- MagneticModel and MagneticCircle classes; so this model cannot be
- used with versions of GeographicLib prior to 1.43.
-
- * Fix BLUNDER in PolarStereographic constructor introduced in version
- 1.42. This affected UTMUPS conversions for UPS which could be
- incorrect by up to 0.5 km.
-
- * Changes in the LONG_NOWRAP option (added in version 1.39) in the
- Geodesic and GeodesicLine classes:
- + The option is now called LONG_UNROLL (a less negative sounding
- term); the original name, LONG_NOWRAP, is retained for backwards
- compatibility.
- + There were two bad BUGS in the implementation of this capability:
- (a) it gave incorrect results for west-going geodesics; (b) the
- option was ignored if used directly via the GeodesicLine class.
- The first bug affected the implementations in all languages. The
- second affected the implementation in C++ (GeodesicLine and
- GeodesicLineExact), JavaScript, Java, C, Python. These bugs have
- now been FIXED.
- + The GeodSolve utility now accepts a -u option, which turns on the
- LONG_UNROLL treatment. With this option lon1 is reported as
- entered and lon2 is given such that lon2 - lon1 indicates how
- often and in what sense the geodesic has encircled the earth.
- (This option also affects the value of longitude reported when an
- inverse calculation is run with the -f option.)
- + The inverse calculation with the JavaScript and python libraries
- similarly sets lon1 and lon2 in output dictionary respecting the
- LONG_UNROLL flag.
- + The online version of GeodSolve now offers an option to unroll the
- longitude.
- + To support these changes DMS::DecodeLatLon no longer reduces the
- longitude to the range [-180deg, 180deg) and Math::AngRound now
- coverts -0 to +0.
-
- * Add Math::polyval (also to C, Java, JavaScript, Fortran, python
- versions of the library; this is a built-in function for
- MATLAB/Octave). This evaluates a polynomial using Horner's method.
- The Maxima-generated code fragments for the evaluation of series in
- the Geodesic, TransverseMercator, and Rhumb classes and MATLAB
- routines for great ellipses have been replaced by Maxima-generated
- arrays of polynomial coefficients which are used as input to
- Math::polyval.
-
- * Add MGRS::Check() to verify that a, f, k_UTM, and k_UPS are
- consistent with the assumptions in the UTMUPS and MGRS classes.
- This is invoked with GeoConvert --version. (This function was added
- to document and check the assumptions used in the UTMUPS and MGRS
- classes in case they are extended to deal with ellipsoids other than
- WS84.)
-
- * MATLAB function mgrs_inv now takes an optional center argument and
- strips white space from both beginning and end of the string.
-
- * Minor internal changes:
- + GeodSolve sets the geodesic mask so that unnecessary calculations
- are avoided;
- + some routines have migrated into a math class for for python,
- Java, JavaScript libraries.
-
- * A reminder: because of changes in the installation directories for
- non-Windows systems introduced in version 1.42, you should remove
- the following directories from your system:
- + ${CMAKE_INSTALL_PREFIX}/share/cmake/GeographicLib*
- + ${CMAKE_INSTALL_PREFIX}/libexec/GeographicLib/matlab
-
-Changes between 1.42 (released 2015-04-28) and 1.41 versions:
-
- * DMS::Decode allows a single addition or subtraction operation, e.g.,
- 70W+0:0:15. This affects the GeoCoords class and the utilities
- (which use the DMS class for reading coordinates).
-
- * Add Math::norm, Math::AngRound, Math::tand, Math::atan2d,
- Math::eatanhe, Math::taupf, Math::tauf, Math::fma and remove
- duplicated (but private) functionality from other classes.
-
- * On non-Windows systems, the cmake config-style find_package files
- are now installed under ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}
- instead of ${CMAKE_INSTALL_PREFIX}/share, because the files are
- architecture-specific. This change will let 32-bit and 64-bit
- versions coexist on the same machine (in lib and lib64). You should
- remove the versions in the old "share" location.
-
- * MATLAB changes:
- + provide native MATLAB implementations for compiled interface
- functions;
- + the compiled MATLAB interface is now deprecated and so the
- MATLAB_COMPILER option in the cmake build has been removed;
- + reorganize directories, so that
- o matlab/geographiclib contains the native matlab code;
- o matlab/geographiclib-legacy contains wrapper functions to mimic
- the previous compiled functionality;
- + the installed MATLAB code mirrors this layout, but the parent
- installation directory on non-Windows systems is
- ${CMAKE_INSTALL_PREFIX}/share (instead of
- ${CMAKE_INSTALL_PREFIX}/libexec), because the files are now
- architecture independent;
- + matlab/geographiclib is now packaged and distributed as MATLAB
- File Exchange package 50605 (this supersedes three earlier MATLAB
- packages);
- + point fix for geodarea.m to correct bug in area of polygons which
- encircle a pole multiple times (released as version 1.41.1 of
- MATLAB File Exchange package 39108, 2014-04-22).
-
- * artifactId for Java package changed from GeographicLib to
- GeographicLib-Java and the package is now deployed to Maven Central
- (thanks to Chris Bennight for help on this).
-
- * Fix autoconf mismatch of version numbers (which were inconsistent in
- versions 1.40 and 1.41).
-
- * Mark the computation of the gradient of the geoid height in the
- Geoid class and the GeoidEval utility
- as deprecated.
-
- * Work around the boost-quadmath bug with setprecision(0).
-
- * Deprecate use of Visual Studio 2005 "-vc8" project files in the
- windows directory.
-
-Changes between 1.41 (released 2015-03-09) and 1.40 versions:
-
- * Fix bug in Rhumb::Inverse (with exact = true) and related functions
- which causes the wrong distance to be reported if one of the end
- points is at a pole. Thanks to Thomas Murray for reporting this.
-
- * Add International Geomagnetic Reference Field (12th generation),
- which approximates the main magnetic field of the earth for the
- period 1900-2020.
-
- * Split information about Jacobi's conformal projection to a separate
- section and include more material.
-
-Changes between 1.40 (released 2014-12-18) and 1.39 versions:
-
- * Add the World Magnetic Model 2015, wmm2015. This is now the default
- magnetic model for MagneticField (replacing wmm2010 which is valid
- thru the end of 2014).
-
- * Geodesic::Inverse didn't return NaN if one of the longitudes was a
- NaN (bug introduced in version 1.25). Fixed in the C++, Java,
- JavaScript, C, Fortran, and Python implementations of the geodesic
- routines. This bug was not present in the Matlab version.
-
- * Fix bug in Utility::readarray and Utility::writearray which caused
- an exception in debug mode with zero-sized arrays.
-
- * Fix BLUNDER in OSGB::GridReference (found by kalderami) where the
- wrong result was returned if the easting or northing was negative.
-
- * OSGB::GridReference now returns "INVALID" if either coordinate is
- NaN. Similarly a grid reference starting with "IN" results in NaNs
- for the coordinates.
-
- * Default constructor for GeoCoords corresponds to an undefined
- position (latitude and longitude = NaN), instead of the north pole.
-
- * Add an online version of RhumbSolve at
- https://geographiclib.sourceforge.io/cgi-bin/RhumbSolve.
-
- * Additions to the documentation:
- + documentation on Jacobi's conformal projection;
- + a page on Auxiliary latitudes (actually, this was added in
- version 1.39);
- + document the use of two single quotes to stand for a double quote
- in DMS (this feature was introduced in version 1.13).
-
- * The Matlab function, geographiclibinterface, which compiles the
- wrapper routines for Matlab now works with Matlab 2014b on a Mac.
-
-Changes between 1.39 (released 2014-11-11) and 1.38 versions:
-
- * GeographicLib usually normalizes longitudes to the range [-180deg,
- 180deg). However, when solving the direct geodesic and rhumb line
- problems, it is sometimes necessary to know how many lines the line
- encircled the earth by returning the longitude "unwrapped". So the
- following changes have been made:
- + add a LONG_NOWRAP flag to mask enums for the outmask arguments for
- Geodesic, GeodesicLine, Rhumb, and RhumbLine;
- + similar changes have been made to the Python, Javascript, and
- Java implementations of the geodesic routines;
- + for the C, Fortran, and Matlab implementations the arcmode
- argument to the routines was generalized to allow a combination of
- ARCMODE and LONG_NOWRAP bits;
- + the Maxima version now returns the longitude unwrapped.
- These changes were necessary to fix the PolygonAreaT::AddEdge (see
- the next item).
-
- * Changes in area calculations:
- + fix BUG in PolygonAreaT::AddEdge (also in C, Java, Javascript, and
- Python implementations) which sometimes causes the wrong area to
- be returned if the edge spanned more than 180deg;
- + add area calculation to the Rhumb and RhumbLine classes and the
- RhumbSolve utility;
- + add PolygonAreaRhumb typedef for PolygonAreaT;
- + add -R option to Planimeter to use PolygonAreaRhumb (and -G option
- for the default geodesic polygon);
- + fix BLUNDER in area calculation in Matlab routine geodreckon;
- + add area calculation to Matlab/Octave routines for great ellipses.
-
- * Fix bad BUG in Geohash::Reverse; this was introduced in version 1.37
- and affected all platforms where unsigned longs are 32-bits. Thanks
- to Christian Csar for reporting and diagnosing this.
-
- * Binary installers for Windows are now built with Visual Studio 11
- 2012 (instead of Visual Studio 10 2010). Compiled Matlab support
- still with version 2013a (64-bit).
-
- * Update GeographicLib.pro for builds with qmake to include all the
- source files.
-
- * Cmake updates:
- + include cross-compiling checks in cmake config file;
- + improve the way unsuitable versions are reported;
- + include_directories (${GeographicLib_INCLUDE_DIRS}) is no longer
- necessary with cmake 2.8.11 or later.
-
- * legacy/Fortran now includes drop-in replacements for the geodesic
- utilities from the NGS.
-
- * geographiclib-get-{geoids,gravity,magnetic} with no arguments now
- print the usage instead of loading the minimal sets.
-
- * Utility::date(const std::string&, int&, int&, int&) and hence the
- MagneticField utility accepts the string "now" as a legal time
- (meaning today).
-
-Changes between 1.38 (released 2014-10-02) and 1.37 versions:
-
- * On MacOSX, the installed package is relocatable (for cmake version
- 2.8.12 and later).
-
- * On Mac OSX, GeographicLib can be installed using homebrew.
-
- * In cmake builds under Windows, set the output directories so that
- binaries and shared libraries are together.
-
- * Accept the minus sign as a synonym for - in DMS.{cpp,js}.
-
- * The cmake configuration file geographiclib-depends.cmake has been
- renamed to geographiclib-targets.cmake.
-
- * Matlab/Octave routines for great ellipses added.
-
- * Provide man pages for geographiclib-get-{geoids,gravity,magnetic}.
-
-Changes between 1.37 (released 2014-08-08) and 1.36 versions:
-
- * Add support for high precision arithmetic.
-
- * INCOMPATIBLE CHANGE: the static instantiations of various classes
- for the WGS84 ellipsoid have been changed to a "construct on first
- use idiom". This avoids a lot of wasteful initialization before the
- user's code starts. Unfortunately it means that existing source
- code that relies on any of the following static variables will need
- to be changed to a function call:
- + AlbersEqualArea::AzimuthalEqualAreaNorth
- + AlbersEqualArea::AzimuthalEqualAreaSouth
- + AlbersEqualArea::CylindricalEqualArea
- + Ellipsoid::WGS84
- + Geocentric::WGS84
- + Geodesic::WGS84
- + GeodesicExact::WGS84
- + LambertConformalConic::Mercator
- + NormalGravity::GRS80
- + NormalGravity::WGS84
- + PolarStereographic::UPS
- + TransverseMercator::UTM
- + TransverseMercatorExact::UTM
- Thus, occurrences of, for example,
- const Geodesic& geod = Geodesic::WGS84; // version 1.36 and earlier
- need to be changed to
- const Geodesic& geod = Geodesic::WGS84(); // version 1.37 and later
- (note the parentheses!); alternatively use
- // works with all versions
- const Geodesic geod(Constants::WGS84_a(), Constants::WGS84_a());
-
- * Incompatible change: the environment variables
- {GEOID,GRAVITY,MAGNETIC}_{NAME,PATH} are now prefixed with
- GEOGRAPHICLIB_.
-
- * Incompatible change for Windows XP: retire the Windows XP common
- data path. If you're still using Windows XP, then you might have to
- move the folder C:\Documents and Settings\All Users\Application
- Data\GeographicLib to C:\ProgramData\GeographicLib.
-
- * All macro names affecting the compilation now start with
- GEOGRAPHICLIB_; this applies to GEOID_DEFAULT_NAME,
- GRAVITY_DEFAULT_NAME, MAGNETIC_DEFAULT_NAME, PGM_PIXEL_WIDTH,
- HAVE_LONG_DOUBLE, STATIC_ASSERT, WORDS_BIGENDIAN.
-
- * Changes to PolygonArea:
- + introduce PolygonAreaT which takes a geodesic class as a
- parameter;
- + PolygonArea and PolygonAreaExact are typedef'ed to
- PolygonAreaT and PolygonAreaT;
- + add -E option to Planimeter to use PolygonAreaExact;
- + add -Q option to Planimeter to calculate the area on the authalic
- sphere.
-
- * Add -p option to Planimeter, ConicProj, GeodesicProj,
- TransverseMercatorProj.
-
- * Add Rhumb and RhumbLine classes and the RhumbSolve utility.
-
- * Minor changes to NormalGravity:
- + add J2ToFlattening and FlatteningToJ2;
- + use Newton's method to determine f from J2;
- + in constructor, allow omega = 0 (i.e., treat the spherical case).
-
- * Add grs80 GravityModel.
-
- * Make geographiclib-get-{geoids,gravity,magnetic} scripts work on
- MacOS.
-
- * Minor changes:
- + simplify cross-platform support for C++11 mathematical functions;
- + change way area coefficients are given in GeodesicExact to improve
- compile times;
- + enable searching the online documentation;
- + add macros GEOGRAPHICLIB_VERSION and GEOGRAPHICLIB_VERSION_NUM;
- + add solution and project files for Visual Studio Express 2010.
-
-Changes between 1.36 (released 2014-05-13) and 1.35 versions:
-
- * Changes to comply with NGA's prohibition of the use of the
- upper-case letters N/S to designate the hemisphere when displaying
- UTM/UPS coordinates:
- + UTMUPS::DecodeZone allows north/south as hemisphere designators
- (in addition to n/s);
- + UTMUPS::EncodeZone now encodes the hemisphere in lower case (to
- distinguish this use from a grid zone designator);
- + UTMUPS::EncodeZone takes an optional parameter abbrev to
- indicate whether to use n/s or north/south as the hemisphere
- designator;
- + GeoCoords::UTMUPSRepresentation and AltUTMUPSRepresentation
- similarly accept the abbrev parameter;
- + GeoConvert uses the flags -a and -l to govern whether UTM/UPS
- output uses n/s (the -a flag) or north/south (the -l flag) to
- denote the hemisphere;
- + Fixed a bug what allowed +3N to be accepted as an alternation
- UTM zone designation (instead of 3N).
- WARNING: The use of lower case n/s for the hemisphere might cause
- compatibility problems. However DecodeZone has always accepted
- either case; so the issue will only arise with other software
- reading the zone information. To avoid possible misinterpretation
- of the zone designator, consider calling EncodeZone with abbrev =
- false and GeoConvert with -l, so that north/south are used to
- denote the hemisphere.
-
- * MGRS::Forward with prec = -1 will produce a grid zone designation.
- Similarly MGRS::Reverse will decode a grid zone designation (and
- return prec = -1).
-
- * Stop using the throw() declaration specification which is
- deprecated in C++11.
-
- * Add missing std:: qualifications to copy in LocalCartesion and
- Geocentric headers (bug found by Clemens).
-
-Changes between 1.35 (released 2014-03-13) and 1.34 versions:
-
- * Fix blunder in UTMUPS::EncodeEPSG (found by Ben Adler).
-
- * Matlab wrapper routines geodesic{direct,inverse,line} switch to
- "exact" routes if |f| > 0.02.
-
- * GeodSolve.cgi allows ellipsoid to be set (and uses the -E option
- for GeodSolve).
-
- * Set title in HTML versions of man pages for the utility programs.
-
- * Changes in cmake support:
- + add _d to names of executables in debug mode of Visual Studio;
- + add support for Android (cmake-only), thanks to Pullan Yu;
- + check CPACK version numbers supplied on command line;
- + configured version of project-config.cmake.in is
- project-config.cmake (instead of geographiclib-config.cmake), to
- prevent find_package incorrectly using this file;
- + fix tests with multi-line output;
- + this release includes a file, pom.xml, which is used by an
- experimental build system (based on maven) at SRI.
-
-Changes between 1.34 (released 2013-12-11) and 1.33 versions:
-
- * Many changes in cmake support:
- + minimum version of cmake needed increased to 2.8.4 (which was
- released in 2011-02);
- + allow building both shared and static librarys with
- -D GEOGRAPHICLIB_LIB_TYPE=BOTH;
- + both shared and static libraries (Release plus Debug) included in
- binary installer;
- + find_package uses COMPONENTS and GeographicLib_USE_STATIC_LIBS to
- select the library to use;
- + find_package version checking allows nmake and Visual Studio
- generators to interoperate on Windows;
- + find_package (GeographicLib ...) requires that GeographicLib be
- capitalized correctly;
- + on Unix/Linux, don't include the version number in directory for
- the cmake configuration files;
- + defaults for GEOGRAPHICLIB_DOCUMENTATION and
- BUILD_NETGEOGRAPHICLIB are now OFF;
- + the GEOGRAPHICLIB_EXAMPLES configuration parameter is no longer
- used; cmake always configures to build the examples, but they are
- not built by default (instead build targets: exampleprograms and
- netexamples);
- + matlab-all target renamed to matlabinterface;
- + the configuration parameters PACKAGE_PATH and INSTALL_PATH are
- now deprecated (use CMAKE_INSTALL_PREFIX instead);
- + on Linux, the installed package is relocatable;
- + on MacOSX, the installed utilities can find the shared library.
-
- * Use a more precise value for OSGB::CentralScale().
-
- * Add Arc routines to python interface.
-
- * The Geod utility has been removed; the same functionality lives on
- with GeodSolve (introduced in version 1.30).
-
-Changes between 1.33 (released 2013-10-08) and 1.32 versions:
-
- * Add NETGeographic .NET wrapper library (courtesy of Scott Heiman).
-
- * Make inspector functions in GeographicLib::Ellipsoid const.
-
- * Add Accumulator.cpp to instantiate GeographicLib::Accumulator.
-
- * Defer some of the initialization of GeographicLib::OSGB to when it
- is first called.
-
- * Fix bug in autoconf builds under MacOS.
-
-Changes between 1.32 (released 2013-07-12) and 1.31 versions:
-
- * Generalize C interface for polygon areas to allow vertices to be
- specified incrementally.
-
- * Fix way flags for C++11 support are determined.
-
-Changes between 1.31 (released 2013-07-01) and 1.30 versions:
-
- * Changes breaking binary compatibility (source compatibility is
- maintained):
- + overloaded versions of DMS::Encode,
- EllipticFunction::EllipticFunction, and
- GeoCoords::DMSRepresentation, have been eliminated by the use of
- optional arguments;
- + correct the declaration of first arg to UTMUPS::DecodeEPSG.
-
- * FIX BUG in GeographicLib::GravityCircle constructor (found by
- Mathieu Peyréga) which caused bogus results for the gravity
- disturbance and gravity anomaly vectors. (This only affected
- calculations using GravityCircle. GravityModel calculations did not
- suffer from this bug.)
-
- * Improvements to the build:
- + add macros GEOGRAPHICLIB_VERSION_{MAJOR,MINOR,PATCH} to Config.h;
- + fix documentation for new version of perlpod;
- + improving setting of runtime path for Unix-like systems with
- cmake;
- + install PDB files when compiling with Visual Studio to aid
- debugging;
- + Windows binary release now uses Matlab R2013a (64-bit) and uses
- the -largeArrayDims option.
-
- * Changes to the geodesic routines:
- + add Java implementation of the geodesic routines (thanks to Skip
- Breidbach for the maven support);
- + FIX BUG: avoid altering input args in Fortran implementation;
- + more systematic treatment of very short geodesic;
- + fixes to python port so that they work with version 3.x, in
- addition to 2.x (courtesy of Amato);
- + accumulate the perimeter and area of polygons via a double-wide
- accumulator in Fortran, C, and Matlab implementations (this is
- already included in the other implementations);
- + port PolygonArea::AddEdge and PolygonArea::TestEdge to JavaScript
- and python interfaces;
- + include documentation on short geodesics.
-
- * Unix scripts for downloading datasets,
- geographiclib-get-{geoids,gravity,magnetic}, skip already download
- models by default, unless the -f flag is given.
-
- * FIX BUGS: meridian convergence and scale returned by
- TransverseMercatorExact was wrong at a pole.
-
- * Improve efficiency of MGRS::Forward by avoiding the calculation of
- the latitude if possible (adapting an idea of Craig Rollins).
-
- * Fixes to the way the Matlab interface routines are built (thanks to
- Phil Miller and Chris F.).
-
-Changes between 1.30 (released 2013-02-27) and 1.29 versions:
-
- * Changes to geodesic routines:
- + fix BUG in fail-safe mechanisms in Geodesic::Inverse;
- + the command line utility Geod is now called GeodSolve;
- + allow addition of polygon edges in PolygonArea;
- + add full Maxima implementation of geodesic algorithms.
-
-Changes between 1.29 (released 2013-01-16) and 1.28 versions:
-
- * Changes to allow compilation with libc++ (courtesy of Kal Conley).
-
- * Add description of geodesics on triaxial ellipsoid to
- documentation.
-
- * Update journal reference for "Algorithms for geodesics".
-
-Changes between 1.28 (released 2012-12-11) and 1.27 versions:
-
- * Changes to geodesic routines:
- + compute longitude difference exactly;
- + hence fix BUG in area calculations for polygons with vertices very
- close to the prime meridian;
- + fix BUG is geoddistance.m where the value of m12 was wrong for
- meridional geodesics;
- + add Matlab implementations of the geodesic projections;
- + remove unneeded special code for geodesics which start at a pole;
- + include polygon area routine in C and Fortran implementations;
- + add doxygen documentation for C and Fortran libraries.
-
-Changes between 1.27 (released 2012-11-29) and 1.26 versions:
-
- * Changes to geodesic routines:
- + add native Matlab implementations: geoddistance.m, geodreckon.m,
- geodarea.m;
- + add C and Fortran implementations;
- + improve the solution of the direct problem so that the series
- solution is accurate to round off for |f| < 1/50;
- + tighten up the convergence criteria for solution of the inverse
- problem;
- + no longer signal failures of convergence with NaNs (a slightly
- less accurate answer is returned instead).
-
- * Fix DMS::Decode double rounding BUG.
-
- * On MacOSX platforms with the cmake configuration, universal
- binaries are built.
-
-Changes between 1.26 (released 2012-10-22) and 1.25 versions:
-
- * Replace the series used for geodesic areas by one with better
- convergence (this only makes an appreciable difference if |f| >
- 1/150).
-
-Changes between 1.25 (released 2012-10-16) and 1.24 versions:
-
- * Changes to geodesic calculations:
- + restart Newton's method in Geodesic::Inverse when it goes awry;
- + back up Newton's method with the bisection method;
- + Geodesic::Inverse now converges for any value of f;
- + add GeodesicExact and GeodesicLineExact which are formulated in
- terms of elliptic integrals and thus yield accurate results
- even for very eccentric ellipsoids;
- + the -E option to Geod invokes these exact classes.
-
- * Add functionality to EllipticFunction:
- + add all the traditional elliptic integrals;
- + remove restrictions on argument range for incomplete elliptic
- integrals;
- + allow imaginary modulus for elliptic integrals and elliptic
- functions;
- + make interface to the symmetric elliptic integrals public.
-
- * Allow GeographicLib::Ellipsoid to be copied.
-
- * Changes to the build tools:
- + cmake uses folders in Visual Studio to reduce clutter;
- + allow precision of reals to be set in cmake;
- + fail gracefully in the absence of pod documentation tools;
- + remove support for maintainer tasks in Makefile.mk;
- + upgrade to automake 1.11.6 to fix the "make distcheck" security
- vulnerability; see
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-3386
-
-Changes between 1.24 (released 2012-09-22) and 1.23 versions:
-
- * Allow the specification of the hemisphere in UTM coordinates in
- order to provide continuity across the equator:
- + add UTMUPS::Transfer;
- + add GeoCoords::UTMUPSRepresentation(bool, int) and
- GeoCoords::AltUTMUPSRepresentation(bool, int);
- + use the hemisphere letter in, e.g., GeoConvert -u -z 31N.
-
- * Add UTMUPS::DecodeEPSG and UTMUPS::EncodeEPSG.
-
- * cmake changes:
- + restore support for cmake 2.4.x;
- + explicitly check version of doxygen.
-
- * Fix building under cygwin.
-
- * Document restrictions on f in the Introduction.
-
- * Fix python interface to work with version 2.6.x.
-
-Changes between 1.23 (released 2012-07-17) and 1.22 versions:
-
- * Documentation changes:
- + remove html documentation from distribution and use web links if
- doxygen is not available;
- + use doxygen tags to document exceptions;
- + begin migrating the documentation to using Greek letters where
- appropriate (requires doxygen 1.8.1.2 or later).
-
- * Add Math::AngNormalize and Math::AngNormalize2; the allowed range
- for longitudes and azimuths widened to [-540d, 540d).
-
- * DMS::Decode understands more unicode symbols.
-
- * Geohash uses geohash code "nan" to stand for not a number.
-
- * Add Ellipsoid::NormalCurvatureRadius.
-
- * Various fixes in LambertConformalConic, TransverseMercator,
- PolarStereographic, and Ellipsoid to handle reverse projections of
- points near infinity.
-
- * Fix programming blunder in LambertConformalConic::Forward (incorrect
- results were returned if the tangent latitude was negative).
-
-Changes between 1.22 (released 2012-05-27) and 1.21 versions:
-
- * Add Geohash and Ellipsoid classes.
-
- * Fix bug in AlbersEqualArea of very prolate ellipsoids (b^2 > 2
- a^2).
-
- * cmake changes:
- + optionally use PACKAGE_PATH and INSTALL_PATH to determine
- CMAKE_INSTALL_PREFIX;
- + use COMMON_INSTALL_PATH to determine layout of installation
- directories;
- + as a consequence, the installation paths for the documentation,
- and python and matlab interfaces are shortened for Windows;
- + zip source distribution now uses DOS line endings;
- + the tests work in debug mode for Windows;
- + default setting of GEOGRAPHICLIB_DATA does not depend on
- CMAKE_INSTALL_PREFIX;
- + add a cmake configuration for build tree.
-
-Changes between 1.21 (released 2012-04-25) and 1.20 versions:
-
- * Support colon-separated DMS output:
- + DMS::Encode and GeoCoords::DMSRepresentation generalized;
- + GeoConvert and Geod now accept a -: option.
-
- * GeoidEval does not print the gradient of the geoid height by default
- (because it's subject to large errors); give the -g option to get
- the gradient printed.
-
- * Work around optimization BUG in GeographicLib::Geodesic::Inverse
- with tdm mingw g++ version 4.6.1.
-
- * autoconf fixed to ensure that that out-of-sources builds work;
- document this as the preferred method of using autoconf.
-
- * cmake tweaks:
- + simplify the configuration of doxygen;
- + allow the Matlab compiler to be specified with the MATLAB_COMPILER
- option.
-
-Changes between 1.20 (released 2012-03-23) and 1.19 versions:
-
- * cmake tweaks:
- + improve find_package's matching of compiler versions;
- + CMAKE_INSTALL_PREFIX set from CMAKE_PREFIX_PATH if available;
- + add "x64" to the package name for the 64-bit binary installer;
- + fix cmake warning with Visual Studio Express.
-
- * Fix SphericalEngine to deal with aggressive iterator checking by
- Visual Studio.
-
- * Fix transcription BUG is Geodesic.js.
-
-Changes between 1.19 (released 2012-03-13) and 1.18 versions:
-
- * Slight improvement in Geodesic::Inverse for very short lines.
-
- * Fix argument checking tests in MGRS::Forward.
-
- * Add --comment-delimiter and --line-separator options to the utility
- programs.
-
- * Add installer for 64-bit Windows; the compiled Matlab interface is
- supplied with the Windows 64-bit installer only.
-
-Changes between 1.18 (released 2012-02-18) and 1.17 versions:
-
- * Improve documentation on configuration with cmake.
-
- * cmake's find_package ensures that the compiler versions match on Windows.
-
- * Improve documentation on compiling Matlab interface.
-
- * Binary installer for Windows installs under C:/pkg-vc10 by default.
-
-Changes between 1.17 (released 2012-01-21) and 1.16 versions:
-
- * Work around optimization BUG in Geodesic::Inverse with g++ version
- 4.4.0 (mingw).
-
- * Fix BUG in argument checking with OSGB::GridReference.
-
- * Fix missing include file in SphericalHarmonic2.
-
- * Add simple examples of usage for each class.
-
- * Add internal documenation to the cmake configuration files.
-
-Changes between 1.16 (released 2011-12-07) and 1.15 versions:
-
- * Add calculation of the earth's gravitational field:
- + add NormalGravity GravityModel and GravityCircle classes;
- + add command line utility Gravity;
- + add Gravity models;
- + add Constants::WGS84_GM(), Constants::WGS84_omega(), and similarly
- for GRS80.
-
- * Build uses GEOGRAPHICLIB_DATA to specify a common parent directory
- for geoid, gravity, and magnetic data (instead of
- GEOGRAPHICLIB_GEOID_PATH, etc.); similarly, GeoidEval, Gravity, and
- MagneticField, look at the environment variable GEOGRAPHICLIB_DATA
- to locate the data.
-
- * Spherical harmonic software changes:
- + capitalize enums SphericalHarmonic::FULL and
- SphericalHarmonic::SCHMIDT (the lower case names are retained but
- deprecated);
- + optimize the sum by using a static table of square roots which is
- updated by SphericalEngine::RootTable;
- + avoid overflow for high degree models.
-
- * Magnetic software fixes:
- + fix documentation BUG in MagneticModel::Circle;
- + make MagneticModel constructor explicit;
- + provide default MagneticCircle constructor;
- + add additional inspector functions to MagneticCircle;
- + add -c option to MagneticField;
- + default height to zero in MagneticField.
-
-Changes between 1.15 (released 2011-11-08) and 1.14 versions:
-
- * Add calculation of the earth's magnetic field:
- + add MagneticModel and MagneticCircle classes;
- + add command line utility MagneticField;
- + add Magnetic models;
- + add Installing the magnetic field models;
- + add The format of the magnetic model files;
- + add classes SphericalEngine, CircularEngine, SphericalHarmonic,
- SphericalHarmonic1, and SphericalHarmonic2. which sum spherical
- harmonic series.
-
- * Add Utility class to support I/O and date manipulation.
-
- * Cmake configuration includes a _d suffix on the library built in
- debug mode.
-
- * For the Python package, include manifest and readme files; don't
- install setup.py for non-Windows systems.
-
- * Include Doxygen tag file in distribution as doc/html/Geographic.tag.
-
-Changes between 1.14 (released 2011-09-30) and 1.13 versions:
-
- * Ensure that geographiclib-config.cmake is relocatable.
-
- * Allow more unicode symbols to be used in DMS::Decode.
-
- * Modify GeoidEval so that it can be used to convert the height datum
- for LIDAR data.
-
- * Modest speed-up of Geodesic::Inverse.
-
- * Changes in python interface:
- + FIX BUG in transcription of Geodesic::Inverse;
- + include setup.py for easy installation;
- + python only distribution is available at
- http://pypi.python.org/pypi/geographiclib
-
- * Supply a minimal Qt qmake project file for library
- src/Geographic.pro.
-
-Changes between 1.13 (released 2011-08-13) and 1.12 versions:
-
- * Changes to I/O:
- + allow : (colon) to be used as a DMS separator in DMS::Decode;
- + also accept Unicode symbols for degrees, minutes, and seconds
- (coded as UTF-8);
- + provide optional swaplatlong argument to various DMS and GeoCoords
- functions to make longitude precede latitude;
- + GeoConvert now has a -w option to make longitude precede latitude
- on input and output;
- + include a JavaScript version of DMS.
-
- * Slight improvement in starting guess for solution of geographic
- latitude in terms of conformal latitude in TransverseMercator,
- TransverseMercatorExact, and LambertConformalConic.
-
- * For most classes, get rid of const member variables so that the
- default copy assignment works.
-
- * Put Math and Accumulator in their own header files.
-
- * Remove unused "fast" GeographicLib::Accumulator method.
-
- * Reorganize the Python interface.
-
- * Withdraw some deprecated routines.
-
- * cmake changes:
- + include FindGeographic.cmake in distribution;
- + building with cmake creates and installs
- geographiclib-config.cmake;
- + better support for building a shared library under Windows.
-
-Changes between 1.12 (released 2011-07-21) and 1.11 versions:
-
- * Change license to MIT/X11.
-
- * Add GeographicLib::PolygonArea class and equivalent Matlab function.
-
- * Provide JavaScript and Python implementations of geodesic routines.
-
- * Fix Windows installer to include runtime dlls for Matlab.
-
- * Fix (innocuous) unassigned variable in Geodesic::GenInverse.
-
- * Geodesic routines in Matlab return a12 as first column of aux return
- value (incompatible change).
-
- * A couple of code changes to enable compilation with Visual Studio
- 2003.
-
-Changes between 1.11 (released 2011-06-27) and 1.10 versions:
-
- * Changes to Planimeter:
- + add -l flag to Planimeter for polyline calculations;
- + trim precision of area to 3 decimal places;
- + FIX BUG with pole crossing edges (due to compiler optimization).
-
- * Geod no longer reports the reduced length by default; however the -f
- flag still reports this and in addition gives the geodesic scales
- and the geodesic area.
-
- * FIX BUGS (compiler-specific) in inverse geodesic calculations.
-
- * FIX BUG: accommodate tellg() returning -1 at end of string.
-
- * Change way flattening of the ellipsoid is specified:
- + constructors take f argument which is taken to be the flattening
- if f < 1 and the inverse flattening otherwise (this is a
- compatible change for spheres and oblate ellipsoids, but it is an
- INCOMPATIBLE change for prolate ellipsoids);
- + the -e arguments to the Utility Programs are handled similarly; in
- addition, simple fractions, e.g., 1/297, can be used for the
- flattening;
- + introduce Constants::WGS84_f() for the WGS84 flattening (and
- deprecate Constants::WGS84_r() for the inverse flattening);
- + most classes have a Flattening() member function;
- + InverseFlattening() has been deprecated (and now returns inf for a
- sphere, instead of 0).
-
-Changes between 1.10 (released 2011-06-11) and 1.9 versions:
-
- * Improvements to Matlab/Octave interface:
- + add {geocentric,localcartesian}{forward,reverse};
- + make geographiclibinterface more general;
- + install the source for the interface;
- + cmake compiles the interface if ENABLE_MATLAB=ON;
- + include compiled interface with Windows binary installer.
-
- * Fix various configuration issues
- + autoconf did not install Config.h;
- + cmake installed in man/man1 instead of share/man/man1;
- + cmake did not set the rpath on the tools.
-
-Changes between 1.9 (released 2011-05-28) and 1.8 versions:
-
- * FIX BUG in area returned by Planimeter for pole encircling polygons.
-
- * FIX BUG in error message reported when DMS::Decode reads the string
- "5d.".
-
- * FIX BUG in AlbersEqualArea::Reverse (lon0 not being used).
-
- * Ensure that all exceptions thrown in the Utility Programs are
- caught.
-
- * Avoid using catch within GeographicLib::DMS.
-
- * Move Accumulator class from Planimeter.cpp to Constants.hpp.
-
- * Add Math::sq.
-
- * Simplify Installing the geoid datasets
- + add geographiclib-get-geoids for Unix-like systems;
- + add installers for Windows.
-
- * Provide cmake support:
- + build binary installer for Windows;
- + include regression tests;
- + add --input-string, --input-file, --output-file options to the
- Utility Programs to support tests.
-
- * Rename utility EquidistantTest as GeodesicProj and
- TransverseMercatorTest as TransverseMercatorProj.
-
- * Add ConicProj.
-
- * Reverse the initial sense of the -s option for Planimeter.
-
- * Migrate source from subversion to git.
-
-Changes between 1.8 (released 2011-02-22) and 1.7 versions:
-
- * Optionally return rotation matrix from GeographicLib::Geocentric and
- GeographicLib::LocalCartesian.
-
- * For the Utility Programs, supply man pages, -h prints the synopsis,
- --help prints the man page, --version prints the version.
-
- * Use accurate summation in Planimeter.
-
- * Add 64-bit targets for Visual Studio 2010.
-
- * Use templates for defining math functions and some constants.
-
- * GeographicLib::Geoid updates
- + Add GeographicLib::Geoid::DefaultGeoidPath and
- GeographicLib::Geoid::DefaultGeoidName;
- + GeoidEval uses environment variable GEOID_NAME as the default
- geoid;
- + Add --msltohae and --haetomsl as GeoidEval options (and don't
- document the single hyphen versions).
-
- * Remove documentation that duplicates papers on transverse Mercator
- and geodesics.
-
-Changes between 1.7 (released 2010-12-21) and 1.6 versions:
-
- * FIX BUG in scale returned by GeographicLib::LambertConformalConic::Reverse.
-
- * Add GeographicLib::AlbersEqualArea projection.
-
- * Library created by Visual Studio is Geographic.lib instead of
- GeographicLib.lib (compatible with makefiles).
-
- * Make classes NaN aware.
-
- * Use cell arrays for MGRS strings in Matlab.
-
- * Add solution/project files for Visual Studio 2010 (32-bit only).
-
- * Use C++11 static_assert and math functions, if available.
-
-Change between 1.6 (released 2010-11-23) and 1.5 versions:
-
- * FIX BUG introduced in GeographicLib::Geoid in version 1.5 (found by
- Dave Edwards).
-
-Changes between 1.5 (released 2010-11-19) and 1.4 versions:
-
- * Improve area calculations for small polygons.
-
- * Add -s and -r flags to Planimeter utility.
-
- * Improve the accuracy of GeographicLib::LambertConformalConic using
- divided differences.
-
- * FIX BUG in meridian convergence returned by
- LambertConformalConic::Forward.
-
- * Add optional threadsafe parameter to GeographicLib::Geoid
- constructor. WARNING: This changes may break binary compatibility
- with previous versions of GeographicLib. However, the library is
- source compatible.
-
- * Add GeographicLib::OSGB.
-
- * Matlab and Octave interfaces to GeographicLib::UTMUPS,
- GeographicLib::MGRS, GeographicLib::Geoid, GeographicLib::Geodesic
- provided.
-
- * Minor changes
- + explicitly turn on optimization in Visual Studio 2008 projects;
- + add missing dependencies in some Makefiles;
- + move pi() and degree() from GeographicLib::Constants to
- GeographicLib::Math;
- + introduce GeographicLib::Math::extended type to aid testing;
- + add GeographicLib::Math::epi() and GeographicLib::Math::edegree().
- + fixes to compile under cygwin;
- + tweak expression used to find latitude from conformal latitude.
-
-Changes between 1.4 (released 2010-09-12) and 1.3 versions:
-
- * Changes to GeographicLib::Geodesic and GeographicLib::GeodesicLine:
- + FIX BUG in Geodesic::Inverse with prolate ellipsoids;
- + add area computations to Geodesic::Direct and Geodesic::Inverse;
- + add geodesic areas to geodesic test set;
- + make GeodesicLine constructor public;
- + change longitude series in Geodesic into Helmert-like form;
- + ensure that equatorial geodesics have cos(alpha0) = 0 identically;
- + generalize interface for Geodesic and GeodesicLine;
- + split GeodesicLine and Geodesic into different files;
- + signal convergence failure in Geodesic::Inverse with NaNs;
- + deprecate one function in Geodesic and two functions in
- GeodesicLine;
- + deprecate -n option for Geod.
- WARNING: These changes may break binary compatibility with previous
- versions of GeographicLib. However, the library is source
- compatible (with the proviso that GeographicLib/GeodesicLine.hpp may
- now need to be included).
-
- * Add the Planimeter utility for computing the areas of
- geodesic polygons.
-
- * Improve iterative solution of GeographicLib::Gnomonic::Reverse.
-
- * Add GeographicLib::Geoid::ConvertHeight.
-
- * Add -msltohae, -haetomsl, and -z options to GeoidEval.
-
- * Constructors check that minor radius is positive.
-
- * Add overloaded Forward and Reverse functions to the projection
- classes which don't return the convergence (or azimuth) and scale.
-
- * Document function parameters and return values consistently.
-
-Changes between 1.3 (released 2010-07-21) and 1.2 versions:
-
- * Add GeographicLib::Gnomonic, the ellipsoid generalization of the
- gnomonic projection.
-
- * Add -g and -e options to Equidistanttest.
-
- * Use fixed-point notation for output from Cartconvert,
- Equidistanttest, Transversemercatortest.
-
- * PolarStereographic:
- + Improved conversion to conformal coordinates;
- + Fix bug with scale at opposite pole;
- + Complain if latitude out of range in SetScale.
-
- * Add GeographicLib::Math::NaN().
-
- * Add long double version of hypot for Windows.
-
- * Add EllipticFunction::E(real).
-
- * Update references to Geotrans in MGRS documentation.
-
- * Speed up tmseries.mac.
-
-Changes between 1.2 (released 2010-05-21) and 1.1 versions:
-
- * FIX BUGS in GeographicLib::Geodesic,
- + wrong azimuth returned by Direct if point 2 is on a pole;
- + Inverse sometimes fails with very close points.
-
- * Improve calculation of scale in GeographicLib::CassiniSoldner,
- + add GeodesicLine::Scale, GeodesicLine::EquatorialAzimuth, and
- GeodesicLine::EquatorialArc;
- + break friend connection between CassiniSoldner and Geodesic.
-
- * Add DMS::DecodeAngle and DMS::DecodeAzimuth. Extend DMS::Decode and
- DMS::Encode to deal with distances.
-
- * Code and documentation changes in Geodesic and Geocentric for
- consistency with the forthcoming paper on geodesics.
-
- * Increase order of series using in Geodesic to 6 (full accuracy
- maintained for ellipsoid flattening < 0.01).
-
- * Macro __NO_LONG_DOUBLE_MATH to disable use of long double.
-
- * Correct declaration of Math::isfinite to return a bool.
-
- * Changes in the Utility Programs,
- + improve error reporting when parsing command line arguments;
- + accept latitudes and longitudes in decimal degrees or degrees,
- minutes, and seconds, with optional hemisphere designators;
- + GeoConvert -z accepts zone or zone+hemisphere;
- + GeoidEval accepts any of the input formats used by GeoConvert;
- + CartConvert allows the ellipsoid to be specified with -e.
-
-Changes between 1.1 (released 2010-02-09) and 1.0 versions:
-
- * FIX BUG (introduced in 2009-03) in EllipticFunction::E(sn,cn,dn).
-
- * Increase accuracy of scale calculation in TransverseMercator and
- TransverseMercatorExact.
-
- * Code and documentation changes for consistency with arXiv:1002.1417
-
-Changes between 1.0 (released 2010-01-07) and 2009-11 versions:
-
- * Add autoconf configuration files.
-
- * BUG FIX: Improve initial guess for Newton's method in
- PolarStereographic::Reverse. (Previously this failed to converge
- when the co-latitude exceeded about 130 deg.)
-
- * Constructors for TransverseMercator, TransverseMercatorExact,
- PolarStereographic, Geocentric, and Geodesic now check for obvious
- problems with their arguments and throw an exception if necessary.
-
- * Most classes now include inspector functions such as MajorRadius()
- so that you can determine how instances were constructed.
-
- * Add GeographicLib::LambertConformalConic class.
-
- * Add GeographicLib::PolarStereographic::SetScale to allow the
- latitude of true scale to be specified.
-
- * Add solution and project files for Visual Studio 2008.
-
- * Add GeographicLib::GeographicErr for exceptions.
-
- * GeographicLib::Geoid changes:
- + BUG FIX: fix typo in GeographicLib::Geoid::Cache which could cause
- a segmentation fault in some cases when the cached area spanned
- the prime meridian.
- + Include sufficient edge data to allow heights to be returned for
- cached area without disk reads;
- + Add inspector functions to query the extent of the cache.
-
-Changes between 2009-11 and 2009-10 versions:
-
- * Allow specification of "closest UTM zone" in GeographicLib::UTMUPS
- and GeoConvert (via -t option).
-
- * Utilities now complain is there are too many tokens on input lines.
-
- * Include real-to-real versions of GeographicLib::DMS::Decode and
- GeographicLib::DMS::Encode.
-
- * More house-cleaning changes:
- + Ensure that functions which return results through reference
- arguments do not alter the arguments when an exception is thrown.
- + Improve accuracy of GeographicLib::MGRS::Forward.
- + Include more information in some error messages.
- + Improve accuracy of inverse hyperbolic functions.
- + Fix the way GeographicLib::Math functions handle different
- precisions.
-
-Changes between 2009-10 and 2009-09 versions:
-
- * Change web site to https://geographiclib.sourceforge.io
-
- * Several house-cleaning changes:
- + Change from the a flat directory structure to a more easily
- maintained one.
- + Introduce Math class for common mathematical functions (in
- Constants.hpp).
- + Use Math::real as the type for all real quantities. By default this
- is typedef'ed to double; and the library should be installed this
- way.
- + Eliminate const reference members of AzimuthalEquidistant,
- CassiniSoldner and LocalCartesian so that they may be copied.
- + Make several constructors explicit. Disallow some constructors.
- Disallow copy constructor/assignment for Geoid.
- + Document least square formulas in Geoid.cpp.
- + Use unsigned long long for files positions of geoid files in Geoid.
- + Introduce optional mgrslimits argument in UTMUPS::Forward and
- UTMUPS::Reverse to enforce stricter MGRS limits on eastings and
- northings.in
- + Add 64-bit targets in Visual Studio project files.
-
-Changes between 2009-09 and 2009-08 versions:
-
- * Add GeographicLib::Geoid and GeoidEval utility.
-
-Changes between 2009-08 and 2009-07 versions:
-
- * Add GeographicLib::CassiniSoldner class and EquidistantTest utility.
-
- * Fix bug in GeographicLib::Geodesic::Inverse where NaNs were
- sometimes returned.
-
- * INCOMPATIBLE CHANGE: AzimuthalEquidistant now returns the reciprocal
- of the azimuthal scale instead of the reduced length.
-
- * Add -n option to GeoConvert.
-
-Changes between 2009-07 and 2009-06 versions:
-
- * Speed up the series inversion code in tmseries.mac and geod.mac.
-
- * Reference Borkowski in section on Geocentric coordinates.
-
-Changes between 2009-06 and 2009-05 versions:
-
- * Add routines to decode and encode zone+hemisphere to GeographicLib::UTMUPS.
-
- * Clean up code in GeographicLib::Geodesic.
-
-Changes between 2009-05 and 2009-04 versions:
-
- * Improvements to GeographicLib::Geodesic:
- + more economical series expansions,
- + return reduced length (as does the Geod utility),
- + improved calculation of starting point for inverse method,
- + use reduced length to give derivative for Newton's method.
-
- * Add AzimuthalEquidistant class.
-
- + Make GeographicLib::Geocentric, GeographicLib::TransverseMercator,
- and GeographicLib::PolarStereographic classes work with prolate
- ellipsoids.
-
- * CartConvert checks its inputs more carefully.
-
- * Remove reference to defunct Constants.cpp from GeographicLib.vcproj.
-
-Changes between 2009-04 and 2009-03 versions:
-
- * Use compile-time constants to select the order of series in
- GeographicLib::TransverseMercator.
-
- * 2x unroll of Clenshaw summation to avoid data shuffling.
-
- * Simplification of GeographicLib::EllipticFunction::E.
-
- * Use STATIC_ASSERT for compile-time checking of constants.
-
- * Improvements to GeographicLib::Geodesic:
- + compile-time option to change order of series used,
- + post maxima code for generating the series,
- + tune the order of series for double,
- + improvements in the selection of starting points for Newton's
- method,
- + accept and return spherical arc lengths,
- + works with both oblate and prolate spheroids,
- + add -a, -e, -b options to the Geod utility.
-
-Changes between 2009-03 and 2009-02 versions:
-
- * Add GeographicLib::Geodesic and the Geod utility.
-
- * Declare when no exceptions are thrown by functions.
-
- * Minor changes to GeographicLib::DMS class.
-
- * Use invf = 0 to mean a sphere in constructors to some classes.
-
- * The makefile creates a library and includes an install target.
-
- * Rename GeographicLib::ECEF to GeographicLib::Geocentric, ECEFConvert
- to CartConvert.
-
- * Use inline functions to define constant doubles in Constants.hpp.
-
-Changes between 2009-02 and 2009-01 versions:
-
- * Fix documentation of constructors (flattening -> inverse
- flattening).
-
- * Use std versions of math functions.
-
- * Add ECEF and LocalCartesian classes and ECEFConvert utility.
-
- * Gather the documentation on the utility programs onto one page.
diff --git a/libs/GeographicLib-1.50.1/README.md b/libs/GeographicLib-1.50.1/README.md
deleted file mode 100644
index 6b13c770865fa1c74a54b8c074e3a9371d9d20f8..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-GeographicLib
-=============
-
-A C++ library for geographic projections. The web site for the package
-is
-
-> https://geographiclib.sourceforge.io
-
-The API for the library is documented at
-
-> https://geographiclib.sourceforge.io/html
diff --git a/libs/GeographicLib-1.50.1/aclocal.m4 b/libs/GeographicLib-1.50.1/aclocal.m4
deleted file mode 100644
index ac35604b86f538f6704e4800d4b29514f6d845e8..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/aclocal.m4
+++ /dev/null
@@ -1,1231 +0,0 @@
-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# ===========================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
-#
-# DESCRIPTION
-#
-# Check whether the given FLAG works with the current language's compiler
-# or gives an error. (Warnings, however, are ignored)
-#
-# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
-# success/failure.
-#
-# If EXTRA-FLAGS is defined, it is added to the current language's default
-# flags (e.g. CFLAGS) when the check is done. The check is thus made with
-# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
-# force the compiler to issue an error when a bad flag is given.
-#
-# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
-#
-# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
-# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Guido U. Draheim
-# Copyright (c) 2011 Maarten Bosmans
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-#serial 6
-
-AC_DEFUN([AX_CHECK_COMPILE_FLAG],
-[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
-AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
-AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
- ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
- _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
- AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
- [AS_VAR_SET(CACHEVAR,[yes])],
- [AS_VAR_SET(CACHEVAR,[no])])
- _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
-AS_VAR_IF(CACHEVAR,yes,
- [m4_default([$2], :)],
- [m4_default([$3], :)])
-AS_VAR_POPDEF([CACHEVAR])dnl
-])dnl AX_CHECK_COMPILE_FLAGS
-
-# Copyright (C) 2002-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.16'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.16.1], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
- [$1], [CXX], [depcc="$CXX" am_compiler_list=],
- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
- [$1], [UPC], [depcc="$UPC" am_compiler_list=],
- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
- [--enable-dependency-tracking],
- [do not reject slow dependency extractors])
-AS_HELP_STRING(
- [--disable-dependency-tracking],
- [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Older Autoconf quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- # TODO: see whether this extra hack can be removed once we start
- # requiring Autoconf 2.70 or later.
- AS_CASE([$CONFIG_FILES],
- [*\'*], [eval set x "$CONFIG_FILES"],
- [*], [set x $CONFIG_FILES])
- shift
- # Used to flag and report bootstrapping failures.
- am_rc=0
- for am_mf
- do
- # Strip MF so we end up with the name of the file.
- am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile which includes
- # dependency-tracking related rules and includes.
- # Grep'ing the whole file directly is not great: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
- || continue
- am_dirpart=`AS_DIRNAME(["$am_mf"])`
- am_filepart=`AS_BASENAME(["$am_mf"])`
- AM_RUN_LOG([cd "$am_dirpart" \
- && sed -e '/# am--include-marker/d' "$am_filepart" \
- | $MAKE -f - am--depfiles]) || am_rc=$?
- done
- if test $am_rc -ne 0; then
- AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
- for automatic dependency tracking. Try re-running configure with the
- '--disable-dependency-tracking' option to at least be able to build
- the package (albeit without support for automatic dependency tracking).])
- fi
- AS_UNSET([am_dirpart])
- AS_UNSET([am_filepart])
- AS_UNSET([am_mf])
- AS_UNSET([am_rc])
- rm -f conftest-deps.mk
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking is enabled.
-# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
-# order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
-m4_define([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[_AM_PROG_CC_C_O
-])
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.65])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
- [$0: two- and three-arguments forms are deprecated.])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
- [ok:ok],,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# For better backward compatibility. To be removed once Automake 1.9.x
-# dies out for good. For more background, see:
-#
-#
-AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target (and possibly the TAP driver). The
-# system "awk" is bad on some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES([CC])],
- [m4_define([AC_PROG_CC],
- m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES([CXX])],
- [m4_define([AC_PROG_CXX],
- m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES([OBJC])],
- [m4_define([AC_PROG_OBJC],
- m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
- [_AM_DEPENDENCIES([OBJCXX])],
- [m4_define([AC_PROG_OBJCXX],
- m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
-])
-AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The testsuite driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard:
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: .
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
- AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
- fi
-fi
-dnl The trailing newline in this macro's definition is deliberate, for
-dnl backward compatibility and to allow trailing 'dnl'-style comments
-dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check whether make has an 'include' directive that can support all
-# the idioms we need for our automatic dependency tracking code.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
-cat > confinc.mk << 'END'
-am__doit:
- @echo this is the am__doit target >confinc.out
-.PHONY: am__doit
-END
-am__include="#"
-am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
- AS_CASE([$?:`cat confinc.out 2>/dev/null`],
- ['0:this is the am__doit target'],
- [AS_CASE([$s],
- [BSD], [am__include='.include' am__quote='"'],
- [am__include='include' am__quote=''])])
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-AC_MSG_RESULT([${_am_result}])
-AC_SUBST([am__include])])
-AC_SUBST([am__quote])])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it is modern enough.
-# If it is, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
- am_missing_run="$MISSING "
-else
- am_missing_run=
- AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_CC_C_O
-# ---------------
-# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
-# to automatically call this.
-AC_DEFUN([_AM_PROG_CC_C_O],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-AC_LANG_PUSH([C])dnl
-AC_CACHE_CHECK(
- [whether $CC understands -c and -o together],
- [am_cv_prog_cc_c_o],
- [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
- # Make sure it works both with $CC and with simple cc.
- # Following AC_PROG_CC_C_O, we do the test twice because some
- # compilers refuse to overwrite an existing .o file with -o,
- # though they will create one.
- am_cv_prog_cc_c_o=yes
- for am_i in 1 2; do
- if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
- && test -f conftest2.$ac_objext; then
- : OK
- else
- am_cv_prog_cc_c_o=no
- break
- fi
- done
- rm -f core conftest*
- unset am_i])
-if test "$am_cv_prog_cc_c_o" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-AC_LANG_POP([C])])
-
-# For backward compatibility.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_RUN_LOG(COMMAND)
-# -------------------
-# Run COMMAND, save the exit status in ac_status, and log it.
-# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
-AC_DEFUN([AM_RUN_LOG],
-[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
- ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- (exit $ac_status); }])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
- [--enable-silent-rules],
- [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
- [--disable-silent-rules],
- [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004-2018 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-#
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-
- [m4_case([$1],
- [ustar],
- [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
- # There is notably a 21 bits limit for the UID and the GID. In fact,
- # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
- # and bug#13588).
- am_max_uid=2097151 # 2^21 - 1
- am_max_gid=$am_max_uid
- # The $UID and $GID variables are not portable, so we need to resort
- # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
- # below are definitely unexpected, so allow the users to see them
- # (that is, avoid stderr redirection).
- am_uid=`id -u || echo unknown`
- am_gid=`id -g || echo unknown`
- AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
- if test $am_uid -le $am_max_uid; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- _am_tools=none
- fi
- AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
- if test $am_gid -le $am_max_gid; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- _am_tools=none
- fi],
-
- [pax],
- [],
-
- [m4_fatal([Unknown tar format])])
-
- AC_MSG_CHECKING([how to create a $1 tar archive])
-
- # Go ahead even if we have the value already cached. We do so because we
- # need to set the values for the 'am__tar' and 'am__untar' variables.
- _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-
- for _am_tool in $_am_tools; do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar; do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works.
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
- fi
- done
- rm -rf conftest.dir
-
- AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
- AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([m4/pkg.m4])
diff --git a/libs/GeographicLib-1.50.1/cmake/CMakeLists.txt b/libs/GeographicLib-1.50.1/cmake/CMakeLists.txt
deleted file mode 100644
index de9a35d128e3685d99d55f8c46d1dbd16311f813..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/CMakeLists.txt
+++ /dev/null
@@ -1,99 +0,0 @@
-# config file support for find_package (GeographicLib). This needs to
-# deal with two environments: (1) finding the build tree and (2)
-# finding the install tree. geographiclib-config.cmake detects which
-# situation it is handing by looking at @PROJECT_ROOT_DIR@. If
-# this is an absolute path, it's in the build tree; otherwise, it's in the
-# install tree. (Note that the whole install tree can be relocated.)
-
-# Variables needed by ${PROJECT_NAME_LOWER}-config-version.cmake
-if (MSVC)
- # For checking the compatibility of MSVC_TOOLSET_VERSION; see
- # https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
- # Assume major version number is obtained by dropping the last decimal
- # digit.
- math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
-else ()
- set (MSVC_TOOLSET_VERSION 0)
- set (MSVC_TOOLSET_MAJOR 0)
-endif ()
-if (CMAKE_CROSSCOMPILING)
- # Ensure that all "true" (resp. "false") settings are represented by
- # the same string.
- set (CMAKE_CROSSCOMPILING_STR "ON")
-else ()
- set (CMAKE_CROSSCOMPILING_STR "OFF")
-endif ()
-
-# geographiclib-config.cmake for the build tree
-set (PROJECT_ROOT_DIR "${PROJECT_BINARY_DIR}")
-set (PROJECT_INCLUDE_DIRS
- "${PROJECT_BINARY_DIR}/include" "${PROJECT_SOURCE_DIR}/include")
-configure_file (project-config.cmake.in
- "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config.cmake" @ONLY)
-configure_file (project-config-version.cmake.in
- "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config-version.cmake" @ONLY)
-export (TARGETS
- ${PROJECT_ALL_LIBRARIES} ${TOOLS}
- FILE "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-targets.cmake")
-export (TARGETS
- ${PROJECT_ALL_LIBRARIES} ${TOOLS}
- NAMESPACE ${PROJECT_NAME}::
- FILE "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-namespace-targets.cmake")
-
-# geographiclib-config.cmake for the install tree. It's installed in
-# ${INSTALL_CMAKE_DIR} and @PROJECT_ROOT_DIR@ is the relative
-# path to the root from there. (Note that the whole install tree can
-# be relocated.)
-if (COMMON_INSTALL_PATH)
- # Install under lib${LIB_SUFFIX} so that 32-bit and 64-bit packages
- # can be installed on a single machine.
- set (INSTALL_CMAKE_DIR "lib${LIB_SUFFIX}/cmake/${PROJECT_NAME}")
- set (PROJECT_ROOT_DIR "../../..")
-else ()
- set (INSTALL_CMAKE_DIR "cmake")
- set (PROJECT_ROOT_DIR "..")
-endif ()
-# @PROJECT_INCLUDE_DIRS@ is not used in the install tree; reset
-# it to prevent the source and build paths appearing in the installed
-# config files
-set (PROJECT_INCLUDE_DIRS)
-configure_file (project-config.cmake.in project-config.cmake @ONLY)
-configure_file (project-config-version.cmake.in
- project-config-version.cmake @ONLY)
-install (FILES
- "${CMAKE_CURRENT_BINARY_DIR}/project-config.cmake"
- DESTINATION "${INSTALL_CMAKE_DIR}"
- RENAME "${PROJECT_NAME_LOWER}-config.cmake")
-install (FILES
- "${CMAKE_CURRENT_BINARY_DIR}/project-config-version.cmake"
- DESTINATION "${INSTALL_CMAKE_DIR}"
- RENAME "${PROJECT_NAME_LOWER}-config-version.cmake")
-# Make information about the cmake targets (the library and the tools)
-# available.
-install (EXPORT targets
- FILE ${PROJECT_NAME_LOWER}-targets.cmake
- DESTINATION "${INSTALL_CMAKE_DIR}")
-install (EXPORT targets
- NAMESPACE ${PROJECT_NAME}::
- FILE ${PROJECT_NAME_LOWER}-namespace-targets.cmake
- DESTINATION "${INSTALL_CMAKE_DIR}")
-
-if (MSVC AND PACKAGE_DEBUG_LIBS)
- install (FILES
- "${PROJECT_BINARY_DIR}/cmake/CMakeFiles/Export/cmake/${PROJECT_NAME_LOWER}-targets-debug.cmake"
- DESTINATION "${INSTALL_CMAKE_DIR}" CONFIGURATIONS Release)
-endif ()
-
-# Support for pkgconfig/geographiclib.pc
-set (prefix ${CMAKE_INSTALL_PREFIX})
-set (exec_prefix "\${prefix}")
-set (libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
-set (includedir "\${prefix}/include")
-set (bindir "\${exec_prefix}/bin")
-set (PACKAGE_NAME "${PROJECT_NAME}")
-set (PACKAGE_VERSION "${PROJECT_VERSION}")
-
-configure_file (project.pc.in geographiclib.pc @ONLY)
-install (FILES
- "${CMAKE_CURRENT_BINARY_DIR}/geographiclib.pc"
- DESTINATION "lib${LIB_SUFFIX}/pkgconfig")
diff --git a/libs/GeographicLib-1.50.1/cmake/FindGeographicLib.cmake b/libs/GeographicLib-1.50.1/cmake/FindGeographicLib.cmake
deleted file mode 100644
index f32ef47706d3bfe5e780a95a9965101cd0dae175..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/FindGeographicLib.cmake
+++ /dev/null
@@ -1,40 +0,0 @@
-# Look for GeographicLib
-#
-# Set
-# GeographicLib_FOUND = GEOGRAPHICLIB_FOUND = TRUE
-# GeographicLib_INCLUDE_DIRS = /usr/local/include
-# GeographicLib_LIBRARIES = /usr/local/lib/libGeographic.so
-# GeographicLib_LIBRARY_DIRS = /usr/local/lib
-
-find_library (GeographicLib_LIBRARIES Geographic
- PATHS "${CMAKE_INSTALL_PREFIX}/../GeographicLib/lib")
-
-if (GeographicLib_LIBRARIES)
- get_filename_component (GeographicLib_LIBRARY_DIRS
- "${GeographicLib_LIBRARIES}" PATH)
- get_filename_component (_ROOT_DIR "${GeographicLib_LIBRARY_DIRS}" PATH)
- set (GeographicLib_INCLUDE_DIRS "${_ROOT_DIR}/include")
- set (GeographicLib_BINARY_DIRS "${_ROOT_DIR}/bin")
- if (NOT EXISTS "${GeographicLib_INCLUDE_DIRS}/GeographicLib/Config.h")
- # On Debian systems the library is in e.g.,
- # /usr/lib/x86_64-linux-gnu/libGeographic.so
- # so try stripping another element off _ROOT_DIR
- get_filename_component (_ROOT_DIR "${_ROOT_DIR}" PATH)
- set (GeographicLib_INCLUDE_DIRS "${_ROOT_DIR}/include")
- set (GeographicLib_BINARY_DIRS "${_ROOT_DIR}/bin")
- if (NOT EXISTS "${GeographicLib_INCLUDE_DIRS}/GeographicLib/Config.h")
- unset (GeographicLib_INCLUDE_DIRS)
- unset (GeographicLib_LIBRARIES)
- unset (GeographicLib_LIBRARY_DIRS)
- unset (GeographicLib_BINARY_DIRS)
- endif ()
- endif ()
- unset (_ROOT_DIR)
-endif ()
-
-include (FindPackageHandleStandardArgs)
-find_package_handle_standard_args (GeographicLib DEFAULT_MSG
- GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES
- GeographicLib_INCLUDE_DIRS)
-mark_as_advanced (GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES
- GeographicLib_INCLUDE_DIRS)
diff --git a/libs/GeographicLib-1.50.1/cmake/Makefile.am b/libs/GeographicLib-1.50.1/cmake/Makefile.am
deleted file mode 100644
index 212e9f39328dfd872ea7adafa349be7c4e89f06e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# Makefile.am
-#
-# Copyright (C) 2011, Charles Karney
-
-cmakedir=$(datadir)/cmake/GeographicLib
-
-install:
- $(INSTALL) -d $(DESTDIR)$(cmakedir)
- $(INSTALL) -m 644 $(srcdir)/FindGeographicLib.cmake \
- $(DESTDIR)$(cmakedir)
-
-EXTRA_DIST = Makefile.mk CMakeLists.txt FindGeographicLib.cmake \
- project-config-version.cmake.in project-config.cmake.in
diff --git a/libs/GeographicLib-1.50.1/cmake/Makefile.in b/libs/GeographicLib-1.50.1/cmake/Makefile.in
deleted file mode 100644
index 06e1a46757741a4fc3acd5395b236fd53175f1eb..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/Makefile.in
+++ /dev/null
@@ -1,477 +0,0 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Makefile.am
-#
-# Copyright (C) 2011, Charles Karney
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = cmake
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/include/GeographicLib/Config-ac.h
-CONFIG_CLEAN_FILES = geographiclib.pc
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/project.pc.in
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-COL = @COL@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GEOGRAPHICLIB_VERSION_MAJOR = @GEOGRAPHICLIB_VERSION_MAJOR@
-GEOGRAPHICLIB_VERSION_MINOR = @GEOGRAPHICLIB_VERSION_MINOR@
-GEOGRAPHICLIB_VERSION_PATCH = @GEOGRAPHICLIB_VERSION_PATCH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POD2HTML = @POD2HTML@
-POD2MAN = @POD2MAN@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgconfigdir = @pkgconfigdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-cmakedir = $(datadir)/cmake/GeographicLib
-EXTRA_DIST = Makefile.mk CMakeLists.txt FindGeographicLib.cmake \
- project-config-version.cmake.in project-config.cmake.in
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cmake/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu cmake/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-geographiclib.pc: $(top_builddir)/config.status $(srcdir)/project.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags TAGS:
-
-ctags CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
-
-distdir-am: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- cscopelist-am ctags-am distclean distclean-generic \
- distclean-libtool distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-install:
- $(INSTALL) -d $(DESTDIR)$(cmakedir)
- $(INSTALL) -m 644 $(srcdir)/FindGeographicLib.cmake \
- $(DESTDIR)$(cmakedir)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/libs/GeographicLib-1.50.1/cmake/Makefile.mk b/libs/GeographicLib-1.50.1/cmake/Makefile.mk
deleted file mode 100644
index e747bdb02441bdb6b36846ed762c06a04f90d71f..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/Makefile.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-DEST = $(PREFIX)/share/cmake/GeographicLib
-
-INSTALL=install -b
-
-all:
- @:
-install:
- test -d $(DEST) || mkdir -p $(DEST)
- $(INSTALL) -m 644 FindGeographicLib.cmake $(DEST)
-clean:
- @:
-
-.PHONY: all install clean
diff --git a/libs/GeographicLib-1.50.1/cmake/project-config-version.cmake.in b/libs/GeographicLib-1.50.1/cmake/project-config-version.cmake.in
deleted file mode 100644
index 782d07f7a60d0ffd784534946cdbe680193f1ce9..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/project-config-version.cmake.in
+++ /dev/null
@@ -1,86 +0,0 @@
-# Version checking for @PROJECT_NAME@
-
-set (PACKAGE_VERSION "@PROJECT_VERSION@")
-set (PACKAGE_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@")
-set (PACKAGE_VERSION_MINOR "@PROJECT_VERSION_MINOR@")
-set (PACKAGE_VERSION_PATCH "@PROJECT_VERSION_PATCH@")
-
-# These variable definitions parallel those in @PROJECT_NAME@'s
-# cmake/CMakeLists.txt.
-if (MSVC)
- # For checking the compatibility of MSVC_TOOLSET_VERSION; see
- # https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
- # Assume major version number is obtained by dropping the last decimal
- # digit.
- math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
-endif ()
-if (CMAKE_CROSSCOMPILING)
- # Ensure that all "true" (resp. "false") settings are represented by
- # the same string.
- set (CMAKE_CROSSCOMPILING_STR "ON")
-else ()
- set (CMAKE_CROSSCOMPILING_STR "OFF")
-endif ()
-
-if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME@")
- # Check package name (in particular, because of the way cmake finds
- # package config files, the capitalization could easily be "wrong").
- # This is necessary to ensure that the automatically generated
- # variables, e.g., _FOUND, are consistently spelled.
- set (REASON "package = @PROJECT_NAME@, NOT ${PACKAGE_FIND_NAME}")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
- CMAKE_SIZEOF_VOID_P EQUAL @CMAKE_SIZEOF_VOID_P@))
- # Reject if there's a 32-bit/64-bit mismatch (not necessary with Apple
- # since a multi-architecture library is built for that platform).
- set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (MSVC AND NOT (
- # toolset version must be at least as great as @PROJECT_NAME@'s
- MSVC_TOOLSET_VERSION GREATER_EQUAL @MSVC_TOOLSET_VERSION@
- # and major versions must match
- AND MSVC_TOOLSET_MAJOR EQUAL @MSVC_TOOLSET_MAJOR@ ))
- # Reject if there's a mismatch in MSVC compiler versions
- set (REASON "MSVC_TOOLSET_VERSION = @MSVC_TOOLSET_VERSION@")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (NOT CMAKE_CROSSCOMPILING_STR STREQUAL "@CMAKE_CROSSCOMPILING_STR@")
- # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}
- set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (CMAKE_CROSSCOMPILING AND
- NOT (CMAKE_SYSTEM_NAME STREQUAL "@CMAKE_SYSTEM_NAME@" AND
- CMAKE_SYSTEM_PROCESSOR STREQUAL "@CMAKE_SYSTEM_PROCESSOR@"))
- # Reject if cross-compiling and there's a mismatch in the target system
- set (REASON "target = @CMAKE_SYSTEM_NAME@-@CMAKE_SYSTEM_PROCESSOR@")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
-elseif (PACKAGE_FIND_VERSION)
- if (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION)
- set (PACKAGE_VERSION_EXACT TRUE)
- elseif (PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION
- AND PACKAGE_FIND_VERSION_MAJOR EQUAL PACKAGE_VERSION_MAJOR)
- set (PACKAGE_VERSION_COMPATIBLE TRUE)
- endif ()
-endif ()
-
-set (@PROJECT_NAME@_SHARED_FOUND @GEOGRAPHICLIB_SHARED_LIB@)
-set (@PROJECT_NAME@_STATIC_FOUND @GEOGRAPHICLIB_STATIC_LIB@)
-set (@PROJECT_NAME@_NETGeographicLib_FOUND @BUILD_NETGEOGRAPHICLIB@)
-
-# Check for the components requested. The convention is that
-# @PROJECT_NAME@_${comp}_FOUND should be true for all the required
-# components.
-if (@PROJECT_NAME@_FIND_COMPONENTS)
- foreach (comp ${@PROJECT_NAME@_FIND_COMPONENTS})
- if (@PROJECT_NAME@_FIND_REQUIRED_${comp} AND
- NOT @PROJECT_NAME@_${comp}_FOUND)
- set (REASON "without ${comp}")
- set (PACKAGE_VERSION_UNSUITABLE TRUE)
- endif ()
- endforeach ()
-endif ()
-
-# If unsuitable, append the reason to the package version so that it's
-# visible to the user.
-if (PACKAGE_VERSION_UNSUITABLE)
- set (PACKAGE_VERSION "${PACKAGE_VERSION} (${REASON})")
-endif ()
diff --git a/libs/GeographicLib-1.50.1/cmake/project-config.cmake.in b/libs/GeographicLib-1.50.1/cmake/project-config.cmake.in
deleted file mode 100644
index 67481bff5565ad44d37a1d7f48185021ea617366..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/project-config.cmake.in
+++ /dev/null
@@ -1,100 +0,0 @@
-# Configure @PROJECT_NAME@
-#
-# Set
-# @PROJECT_NAME@_FOUND = @PROJECT_NAME_UPPER@_FOUND = 1
-# @PROJECT_NAME@_INCLUDE_DIRS = /usr/local/include
-# @PROJECT_NAME@_SHARED_LIBRARIES = GeographicLib_SHARED (or empty)
-# @PROJECT_NAME@_STATIC_LIBRARIES = GeographicLib_STATIC (or empty)
-# @PROJECT_NAME@_LIBRARY_DIRS = /usr/local/lib
-# @PROJECT_NAME@_BINARY_DIRS = /usr/local/bin
-# @PROJECT_NAME@_VERSION = 1.34 (for example)
-# @PROJECT_NAME_UPPER@_DATA = /usr/local/share/GeographicLib (for example)
-# Depending on @PROJECT_NAME@_USE_STATIC_LIBS
-# @PROJECT_NAME@_LIBRARIES = ${@PROJECT_NAME@_SHARED_LIBRARIES}, if OFF
-# @PROJECT_NAME@_LIBRARIES = ${@PROJECT_NAME@_STATIC_LIBRARIES}, if ON
-# If only one of the libraries is provided, then
-# @PROJECT_NAME@_USE_STATIC_LIBS is ignored.
-#
-# Since cmake 2.8.11 or later, there's no need to include
-# include_directories (${GeographicLib_INCLUDE_DIRS})
-# The variables are retained for information.
-#
-# The following variables are only relevant if the library has been
-# compiled with a default precision different from double:
-# @PROJECT_NAME_UPPER@_PRECISION = the precision of the library (usually 2)
-# @PROJECT_NAME@_HIGHPREC_LIBRARIES = the libraries need for high precision
-
-message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}")
-# @PROJECT_NAME@_VERSION is set by version file
-message (STATUS
- "@PROJECT_NAME@ configuration, version ${@PROJECT_NAME@_VERSION}")
-
-# Tell the user project where to find our headers and libraries
-get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
-if (IS_ABSOLUTE "@PROJECT_ROOT_DIR@")
- # This is an uninstalled package (still in the build tree)
- set (_ROOT "@PROJECT_ROOT_DIR@")
- set (@PROJECT_NAME@_INCLUDE_DIRS "@PROJECT_INCLUDE_DIRS@")
- set (@PROJECT_NAME@_LIBRARY_DIRS "${_ROOT}/src")
- set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/tools")
-else ()
- # This is an installed package; figure out the paths relative to the
- # current directory.
- get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE)
- set (@PROJECT_NAME@_INCLUDE_DIRS "${_ROOT}/include")
- set (@PROJECT_NAME@_LIBRARY_DIRS "${_ROOT}/lib@LIB_SUFFIX@")
- set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/bin")
-endif ()
-set (@PROJECT_NAME_UPPER@_DATA "@GEOGRAPHICLIB_DATA@")
-set (@PROJECT_NAME_UPPER@_PRECISION @GEOGRAPHICLIB_PRECISION@)
-set (@PROJECT_NAME@_HIGHPREC_LIBRARIES "@HIGHPREC_LIBRARIES@")
-
-set (@PROJECT_NAME@_SHARED_LIBRARIES @PROJECT_SHARED_LIBRARIES@)
-set (@PROJECT_NAME@_STATIC_LIBRARIES @PROJECT_STATIC_LIBRARIES@)
-# Read in the exported definition of the library
-include ("${_DIR}/@PROJECT_NAME_LOWER@-targets.cmake")
-include ("${_DIR}/@PROJECT_NAME_LOWER@-namespace-targets.cmake")
-
-# For interoperability with older installations of GeographicLib and
-# with packages which depend on GeographicLib, @PROJECT_NAME@_LIBRARIES
-# etc. still point to the non-namespace variables. Tentatively plan to
-# transition to namespace variables as follows:
-#
-# * namespace targets were introduced with version 1.47 (2017-02-15)
-# * switch @PROJECT_NAME@_LIBRARIES to point to namespace variable after
-# 2020-02
-# * remove non-namespace variables after 2023-02
-
-unset (_ROOT)
-unset (_DIR)
-
-if ((NOT @PROJECT_NAME@_SHARED_LIBRARIES) OR
- (@PROJECT_NAME@_USE_STATIC_LIBS AND @PROJECT_NAME@_STATIC_LIBRARIES))
- set (@PROJECT_NAME@_LIBRARIES ${@PROJECT_NAME@_STATIC_LIBRARIES})
- message (STATUS " \${@PROJECT_NAME@_LIBRARIES} set to static library")
-else ()
- set (@PROJECT_NAME@_LIBRARIES ${@PROJECT_NAME@_SHARED_LIBRARIES})
- message (STATUS " \${@PROJECT_NAME@_LIBRARIES} set to shared library")
-endif ()
-
-set (@PROJECT_NAME@_NETGeographicLib_LIBRARIES @NETGEOGRAPHICLIB_LIBRARIES@)
-
-# Check for the components requested. This only supports components
-# STATIC, SHARED, and NETGeographicLib by checking the value of
-# @PROJECT_NAME@_${comp}_LIBRARIES. No need to check if the component
-# is required or not--the version file took care of that.
-# @PROJECT_NAME@_${comp}_FOUND is set appropriately for each component.
-if (@PROJECT_NAME@_FIND_COMPONENTS)
- foreach (comp ${@PROJECT_NAME@_FIND_COMPONENTS})
- if (@PROJECT_NAME@_${comp}_LIBRARIES)
- set (@PROJECT_NAME@_${comp}_FOUND 1)
- message (STATUS "@PROJECT_NAME@ component ${comp} found")
- else ()
- set (@PROJECT_NAME@_${comp}_FOUND 0)
- message (WARNING "@PROJECT_NAME@ component ${comp} not found")
- endif ()
- endforeach ()
-endif ()
-
-# @PROJECT_NAME@_FOUND is set to 1 automatically
-set (@PROJECT_NAME_UPPER@_FOUND 1) # for backwards compatibility
diff --git a/libs/GeographicLib-1.50.1/cmake/project.pc.in b/libs/GeographicLib-1.50.1/cmake/project.pc.in
deleted file mode 100644
index db1bc9cd73f884c8db47fbc8c9e0c9625af7df7e..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/cmake/project.pc.in
+++ /dev/null
@@ -1,14 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-bindir=@bindir@
-
-Name: @PACKAGE_NAME@
-Description: A library for geographic projections
-Version: @PACKAGE_VERSION@
-URL: https://geographiclib.sourceforge.io
-
-Requires:
-Libs: -L${libdir} -lGeographic
-Cflags: -I${includedir}
diff --git a/libs/GeographicLib-1.50.1/compile b/libs/GeographicLib-1.50.1/compile
deleted file mode 100755
index 99e50524b3bade179355469777b4d664bcd5c964..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/compile
+++ /dev/null
@@ -1,348 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2018-03-07.03; # UTC
-
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
-# Written by Tom Tromey .
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to or send patches to
-# .
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" "" $nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
- file=$1
- case $file in
- / | /[!/]*) # absolute file, and not a UNC file
- if test -z "$file_conv"; then
- # lazily determine how to convert abs files
- case `uname -s` in
- MINGW*)
- file_conv=mingw
- ;;
- CYGWIN*)
- file_conv=cygwin
- ;;
- *)
- file_conv=wine
- ;;
- esac
- fi
- case $file_conv/,$2, in
- *,$file_conv,*)
- ;;
- mingw/*)
- file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
- ;;
- cygwin/*)
- file=`cygpath -m "$file" || echo "$file"`
- ;;
- wine/*)
- file=`winepath -w "$file" || echo "$file"`
- ;;
- esac
- ;;
- esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
- func_file_conv "$1"
- if test -z "$lib_path"; then
- lib_path=$file
- else
- lib_path="$lib_path;$file"
- fi
- linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
- lib=$1
- found=no
- save_IFS=$IFS
- IFS=';'
- for dir in $lib_path $LIB
- do
- IFS=$save_IFS
- if $shared && test -f "$dir/$lib.dll.lib"; then
- found=yes
- lib=$dir/$lib.dll.lib
- break
- fi
- if test -f "$dir/$lib.lib"; then
- found=yes
- lib=$dir/$lib.lib
- break
- fi
- if test -f "$dir/lib$lib.a"; then
- found=yes
- lib=$dir/lib$lib.a
- break
- fi
- done
- IFS=$save_IFS
-
- if test "$found" != yes; then
- lib=$lib.lib
- fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
- # Assume a capable shell
- lib_path=
- shared=:
- linker_opts=
- for arg
- do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- eat=1
- case $2 in
- *.o | *.[oO][bB][jJ])
- func_file_conv "$2"
- set x "$@" -Fo"$file"
- shift
- ;;
- *)
- func_file_conv "$2"
- set x "$@" -Fe"$file"
- shift
- ;;
- esac
- ;;
- -I)
- eat=1
- func_file_conv "$2" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -I*)
- func_file_conv "${1#-I}" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -l)
- eat=1
- func_cl_dashl "$2"
- set x "$@" "$lib"
- shift
- ;;
- -l*)
- func_cl_dashl "${1#-l}"
- set x "$@" "$lib"
- shift
- ;;
- -L)
- eat=1
- func_cl_dashL "$2"
- ;;
- -L*)
- func_cl_dashL "${1#-L}"
- ;;
- -static)
- shared=false
- ;;
- -Wl,*)
- arg=${1#-Wl,}
- save_ifs="$IFS"; IFS=','
- for flag in $arg; do
- IFS="$save_ifs"
- linker_opts="$linker_opts $flag"
- done
- IFS="$save_ifs"
- ;;
- -Xlinker)
- eat=1
- linker_opts="$linker_opts $2"
- ;;
- -*)
- set x "$@" "$1"
- shift
- ;;
- *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
- func_file_conv "$1"
- set x "$@" -Tp"$file"
- shift
- ;;
- *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
- func_file_conv "$1" mingw
- set x "$@" "$file"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
- done
- if test -n "$linker_opts"; then
- linker_opts="-link$linker_opts"
- fi
- exec "$@" $linker_opts
- exit 1
-}
-
-eat=
-
-case $1 in
- '')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to .
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
- icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
- func_cl_wrapper "$@" # Doesn't return...
- ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- # So we strip '-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no '-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # '.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/libs/GeographicLib-1.50.1/config.guess b/libs/GeographicLib-1.50.1/config.guess
deleted file mode 100755
index b33c9e890e0c7c0acb1dbc9058f4be70e0a8f10f..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/config.guess
+++ /dev/null
@@ -1,1486 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright 1992-2018 Free Software Foundation, Inc.
-
-timestamp='2018-08-29'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see .
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program. This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-#
-# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
-#
-# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
-#
-# Please send patches to .
-
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Options:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright 1992-2018 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-tmp=
-# shellcheck disable=SC2172
-trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15
-trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0
-
-set_cc_for_build() {
- : "${TMPDIR=/tmp}"
- # shellcheck disable=SC2039
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
- dummy=$tmp/dummy
- case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
- ,,) echo "int x;" > "$dummy.c"
- for driver in cc gcc c89 c99 ; do
- if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$driver"
- break
- fi
- done
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
- esac
-}
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if test -f /.attbin/uname ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-case "$UNAME_SYSTEM" in
-Linux|GNU|GNU/*)
- # If the system lacks a compiler, then just pick glibc.
- # We could probably try harder.
- LIBC=gnu
-
- set_cc_for_build
- cat <<-EOF > "$dummy.c"
- #include
- #if defined(__UCLIBC__)
- LIBC=uclibc
- #elif defined(__dietlibc__)
- LIBC=dietlibc
- #else
- LIBC=gnu
- #endif
- EOF
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
-
- # If ldd exists, use it to detect musl libc.
- if command -v ldd >/dev/null && \
- ldd --version 2>&1 | grep -q ^musl
- then
- LIBC=musl
- fi
- ;;
-esac
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- "/sbin/$sysctl" 2>/dev/null || \
- "/usr/sbin/$sysctl" 2>/dev/null || \
- echo unknown)`
- case "$UNAME_MACHINE_ARCH" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- earmv*)
- arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine="${arch}${endian}"-unknown
- ;;
- *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently (or will in the future) and ABI.
- case "$UNAME_MACHINE_ARCH" in
- earm*)
- os=netbsdelf
- ;;
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # Determine ABI tags.
- case "$UNAME_MACHINE_ARCH" in
- earm*)
- expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "$UNAME_VERSION" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "$machine-${os}${release}${abi-}"
- exit ;;
- *:Bitrig:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
- exit ;;
- *:LibertyBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
- exit ;;
- *:MidnightBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
- exit ;;
- *:ekkoBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
- exit ;;
- *:SolidBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
- exit ;;
- *:MirBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
- exit ;;
- *:Sortix:*:*)
- echo "$UNAME_MACHINE"-unknown-sortix
- exit ;;
- *:Redox:*:*)
- echo "$UNAME_MACHINE"-unknown-redox
- exit ;;
- mips:OSF1:*.*)
- echo mips-dec-osf1
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE=alpha ;;
- "EV4.5 (21064)")
- UNAME_MACHINE=alpha ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE=alpha ;;
- "EV5 (21164)")
- UNAME_MACHINE=alphaev5 ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE=alphaev56 ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE=alphapca56 ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE=alphapca57 ;;
- "EV6 (21264)")
- UNAME_MACHINE=alphaev6 ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE=alphaev67 ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE=alphaev68 ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE=alphaev68 ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE=alphaev68 ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE=alphaev69 ;;
- "EV7 (21364)")
- UNAME_MACHINE=alphaev7 ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE=alphaev79 ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo "$UNAME_MACHINE"-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo "$UNAME_MACHINE"-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix"$UNAME_RELEASE"
- exit ;;
- arm*:riscos:*:*|arm*:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux"$UNAME_RELEASE"
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
- case `isainfo -b` in
- 32)
- echo i386-pc-solaris2"$UNAME_REL"
- ;;
- 64)
- echo x86_64-pc-solaris2"$UNAME_REL"
- ;;
- esac
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos"$UNAME_RELEASE"
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos"$UNAME_RELEASE"
- ;;
- sun4)
- echo sparc-sun-sunos"$UNAME_RELEASE"
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos"$UNAME_RELEASE"
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint"$UNAME_RELEASE"
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint"$UNAME_RELEASE"
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint"$UNAME_RELEASE"
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint"$UNAME_RELEASE"
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint"$UNAME_RELEASE"
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint"$UNAME_RELEASE"
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten"$UNAME_RELEASE"
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten"$UNAME_RELEASE"
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix"$UNAME_RELEASE"
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix"$UNAME_RELEASE"
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix"$UNAME_RELEASE"
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
-#ifdef __cplusplus
-#include /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
- dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos"$UNAME_RELEASE"
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
- then
- if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
- [ "$TARGET_BINARY_INTERFACE"x = x ]
- then
- echo m88k-dg-dgux"$UNAME_RELEASE"
- else
- echo m88k-dg-dguxbcs"$UNAME_RELEASE"
- fi
- else
- echo i586-dg-dgux"$UNAME_RELEASE"
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
- fi
- echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
- #include
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/lslpp ] ; then
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
- awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
- else
- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
- fi
- echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
- case "$UNAME_MACHINE" in
- 9000/31?) HP_ARCH=m68000 ;;
- 9000/[34]??) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "$sc_cpu_version" in
- 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
- 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "$sc_kernel_bits" in
- 32) HP_ARCH=hppa2.0n ;;
- 64) HP_ARCH=hppa2.0w ;;
- '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "$HP_ARCH" = "" ]; then
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
-
- #define _HPUX_SOURCE
- #include
- #include
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ "$HP_ARCH" = hppa2.0w ]
- then
- set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH=hppa2.0w
- else
- HP_ARCH=hppa64
- fi
- fi
- echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux"$HPUX_REV"
- exit ;;
- 3050*:HI-UX:*:*)
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
- #include
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo "$UNAME_MACHINE"-unknown-osf1mk
- else
- echo "$UNAME_MACHINE"-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi"$UNAME_RELEASE"
- exit ;;
- *:BSD/OS:*:*)
- echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
- exit ;;
- arm:FreeBSD:*:*)
- UNAME_PROCESSOR=`uname -p`
- set_cc_for_build
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
- else
- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
- fi
- exit ;;
- *:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- case "$UNAME_PROCESSOR" in
- amd64)
- UNAME_PROCESSOR=x86_64 ;;
- i386)
- UNAME_PROCESSOR=i586 ;;
- esac
- echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
- exit ;;
- i*:CYGWIN*:*)
- echo "$UNAME_MACHINE"-pc-cygwin
- exit ;;
- *:MINGW64*:*)
- echo "$UNAME_MACHINE"-pc-mingw64
- exit ;;
- *:MINGW*:*)
- echo "$UNAME_MACHINE"-pc-mingw32
- exit ;;
- *:MSYS*:*)
- echo "$UNAME_MACHINE"-pc-msys
- exit ;;
- i*:PW*:*)
- echo "$UNAME_MACHINE"-pc-pw32
- exit ;;
- *:Interix*:*)
- case "$UNAME_MACHINE" in
- x86)
- echo i586-pc-interix"$UNAME_RELEASE"
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix"$UNAME_RELEASE"
- exit ;;
- IA64)
- echo ia64-unknown-interix"$UNAME_RELEASE"
- exit ;;
- esac ;;
- i*:UWIN*:*)
- echo "$UNAME_MACHINE"-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
- exit ;;
- *:Minix:*:*)
- echo "$UNAME_MACHINE"-unknown-minix
- exit ;;
- aarch64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- aarch64_be:Linux:*:*)
- UNAME_MACHINE=aarch64_be
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- arc:Linux:*:* | arceb:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- arm*:Linux:*:*)
- set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
- else
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
- fi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- cris:Linux:*:*)
- echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
- exit ;;
- crisv32:Linux:*:*)
- echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
- exit ;;
- e2k:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- frv:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- hexagon:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- i*86:Linux:*:*)
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
- exit ;;
- ia64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- k1om:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- m32r*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- m68*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- set_cc_for_build
- sed 's/^ //' << EOF > "$dummy.c"
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
- test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
- ;;
- mips64el:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- openrisc*:Linux:*:*)
- echo or1k-unknown-linux-"$LIBC"
- exit ;;
- or32:Linux:*:* | or1k*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-"$LIBC"
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-"$LIBC"
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
- PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
- *) echo hppa-unknown-linux-"$LIBC" ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-"$LIBC"
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-"$LIBC"
- exit ;;
- ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-"$LIBC"
- exit ;;
- ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-"$LIBC"
- exit ;;
- riscv32:Linux:*:* | riscv64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
- exit ;;
- sh64*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- sh*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- tile*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- vax:Linux:*:*)
- echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
- exit ;;
- x86_64:Linux:*:*)
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
- exit ;;
- xtensa*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo "$UNAME_MACHINE"-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo "$UNAME_MACHINE"-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo "$UNAME_MACHINE"-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo "$UNAME_MACHINE"-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
- i*86:*DOS:*:*)
- echo "$UNAME_MACHINE"-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:*)
- UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
- else
- echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
- else
- echo "$UNAME_MACHINE"-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configure will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv"$UNAME_RELEASE"
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo "$UNAME_MACHINE"-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes .
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo "$UNAME_MACHINE"-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux"$UNAME_RELEASE"
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv"$UNAME_RELEASE"
- else
- echo mips-unknown-sysv"$UNAME_RELEASE"
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- x86_64:Haiku:*:*)
- echo x86_64-unknown-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux"$UNAME_RELEASE"
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux"$UNAME_RELEASE"
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux"$UNAME_RELEASE"
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux"$UNAME_RELEASE"
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux"$UNAME_RELEASE"
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux"$UNAME_RELEASE"
- exit ;;
- SX-ACE:SUPER-UX:*:*)
- echo sxace-nec-superux"$UNAME_RELEASE"
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody"$UNAME_RELEASE"
- exit ;;
- *:Rhapsody:*:*)
- echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- set_cc_for_build
- if test "$UNAME_PROCESSOR" = unknown ; then
- UNAME_PROCESSOR=powerpc
- fi
- if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
- fi
- # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_PPC >/dev/null
- then
- UNAME_PROCESSOR=powerpc
- fi
- fi
- elif test "$UNAME_PROCESSOR" = i386 ; then
- # Avoid executing cc on OS X 10.9, as it ships with a stub
- # that puts up a graphical alert prompting to install
- # developer tools. Any system running Mac OS X 10.7 or
- # later (Darwin 11 and later) is required to have a 64-bit
- # processor. This is not true of the ARM version of Darwin
- # that Apple uses in portable devices.
- UNAME_PROCESSOR=x86_64
- fi
- echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = x86; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NEO-*:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk"$UNAME_RELEASE"
- exit ;;
- NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk"$UNAME_RELEASE"
- exit ;;
- NSR-*:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk"$UNAME_RELEASE"
- exit ;;
- NSV-*:NONSTOP_KERNEL:*:*)
- echo nsv-tandem-nsk"$UNAME_RELEASE"
- exit ;;
- NSX-*:NONSTOP_KERNEL:*:*)
- echo nsx-tandem-nsk"$UNAME_RELEASE"
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- # shellcheck disable=SC2154
- if test "$cputype" = 386; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo "$UNAME_MACHINE"-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux"$UNAME_RELEASE"
- exit ;;
- *:DragonFly:*:*)
- echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "$UNAME_MACHINE" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
- exit ;;
- i*86:rdos:*:*)
- echo "$UNAME_MACHINE"-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo "$UNAME_MACHINE"-pc-aros
- exit ;;
- x86_64:VMkernel:*:*)
- echo "$UNAME_MACHINE"-unknown-esx
- exit ;;
- amd64:Isilon\ OneFS:*:*)
- echo x86_64-unknown-onefs
- exit ;;
-esac
-
-echo "$0: unable to guess system type" >&2
-
-case "$UNAME_MACHINE:$UNAME_SYSTEM" in
- mips:Linux | mips64:Linux)
- # If we got here on MIPS GNU/Linux, output extra information.
- cat >&2 <&2 </dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = "$UNAME_MACHINE"
-UNAME_RELEASE = "$UNAME_RELEASE"
-UNAME_SYSTEM = "$UNAME_SYSTEM"
-UNAME_VERSION = "$UNAME_VERSION"
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/libs/GeographicLib-1.50.1/config.sub b/libs/GeographicLib-1.50.1/config.sub
deleted file mode 100755
index b51fb8cdb69ea2e3828774c356acc50a8f759981..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/config.sub
+++ /dev/null
@@ -1,1790 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright 1992-2018 Free Software Foundation, Inc.
-
-timestamp='2018-08-29'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see .
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program. This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-
-
-# Please send patches to .
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
-
-Canonicalize a configuration name.
-
-Options:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright 1992-2018 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo "$1"
- exit ;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Split fields of configuration type
-IFS="-" read -r field1 field2 field3 field4 <&2
- exit 1
- ;;
- *-*-*-*)
- basic_machine=$field1-$field2
- os=$field3-$field4
- ;;
- *-*-*)
- # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
- # parts
- maybe_os=$field2-$field3
- case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
- | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
- | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
- | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
- | storm-chaos* | os2-emx* | rtmk-nova*)
- basic_machine=$field1
- os=$maybe_os
- ;;
- android-linux)
- basic_machine=$field1-unknown
- os=linux-android
- ;;
- *)
- basic_machine=$field1-$field2
- os=$field3
- ;;
- esac
- ;;
- *-*)
- # A lone config we happen to match not fitting any patern
- case $field1-$field2 in
- decstation-3100)
- basic_machine=mips-dec
- os=
- ;;
- *-*)
- # Second component is usually, but not always the OS
- case $field2 in
- # Prevent following clause from handling this valid os
- sun*os*)
- basic_machine=$field1
- os=$field2
- ;;
- # Manufacturers
- dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
- | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
- | unicom* | ibm* | next | hp | isi* | apollo | altos* \
- | convergent* | ncr* | news | 32* | 3600* | 3100* \
- | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
- | ultra | tti* | harris | dolphin | highlevel | gould \
- | cbm | ns | masscomp | apple | axis | knuth | cray \
- | microblaze* | sim | cisco \
- | oki | wec | wrs | winbond)
- basic_machine=$field1-$field2
- os=
- ;;
- *)
- basic_machine=$field1
- os=$field2
- ;;
- esac
- ;;
- esac
- ;;
- *)
- # Convert single-component short-hands not valid as part of
- # multi-component configurations.
- case $field1 in
- 386bsd)
- basic_machine=i386-pc
- os=bsd
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=udi
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=scout
- ;;
- alliant)
- basic_machine=fx80-alliant
- os=
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- os=
- ;;
- am29k)
- basic_machine=a29k-none
- os=bsd
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=sysv
- ;;
- amiga)
- basic_machine=m68k-unknown
- os=
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=bsd
- ;;
- aros)
- basic_machine=i386-pc
- os=aros
- ;;
- aux)
- basic_machine=m68k-apple
- os=aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=dynix
- ;;
- blackfin)
- basic_machine=bfin-unknown
- os=linux
- ;;
- cegcc)
- basic_machine=arm-unknown
- os=cegcc
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=bsd
- ;;
- cray)
- basic_machine=j90-cray
- os=unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- os=
- ;;
- da30)
- basic_machine=m68k-da30
- os=
- ;;
- decstation | pmax | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- os=
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=sysv3
- ;;
- dicos)
- basic_machine=i686-pc
- os=dicos
- ;;
- djgpp)
- basic_machine=i586-pc
- os=msdosdjgpp
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=ebmon
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=ose
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=go32
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=sysv3
- ;;
- hp300)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=hpux
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=proelf
- ;;
- i386mach)
- basic_machine=i386-mach
- os=mach
- ;;
- vsta)
- basic_machine=i386-pc
- os=vsta
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=sysv
- ;;
- m68knommu)
- basic_machine=m68k-unknown
- os=linux
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=sysv
- ;;
- mingw64)
- basic_machine=x86_64-pc
- os=mingw64
- ;;
- mingw32)
- basic_machine=i686-pc
- os=mingw32
- ;;
- mingw32ce)
- basic_machine=arm-unknown
- os=mingw32ce
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=morphos
- ;;
- moxiebox)
- basic_machine=moxie-unknown
- os=moxiebox
- ;;
- msdos)
- basic_machine=i386-pc
- os=msdos
- ;;
- msys)
- basic_machine=i686-pc
- os=msys
- ;;
- mvs)
- basic_machine=i370-ibm
- os=mvs
- ;;
- nacl)
- basic_machine=le32-unknown
- os=nacl
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=sysv4
- ;;
- netbsd386)
- basic_machine=i386-pc
- os=netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=sysv
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=nonstopux
- ;;
- os400)
- basic_machine=powerpc-ibm
- os=os400
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=os68k
- ;;
- paragon)
- basic_machine=i860-intel
- os=osf
- ;;
- parisc)
- basic_machine=hppa-unknown
- os=linux
- ;;
- pw32)
- basic_machine=i586-unknown
- os=pw32
- ;;
- rdos | rdos64)
- basic_machine=x86_64-pc
- os=rdos
- ;;
- rdos32)
- basic_machine=i386-pc
- os=rdos
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=coff
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=udi
- ;;
- sei)
- basic_machine=mips-sei
- os=seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- os=
- ;;
- sps7)
- basic_machine=m68k-bull
- os=sysv2
- ;;
- st2000)
- basic_machine=m68k-tandem
- os=
- ;;
- stratus)
- basic_machine=i860-stratus
- os=sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- os=
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=sunos4
- ;;
- sun3)
- basic_machine=m68k-sun
- os=
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=sunos4
- ;;
- sun4)
- basic_machine=sparc-sun
- os=
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=solaris2
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- os=
- ;;
- sv1)
- basic_machine=sv1-cray
- os=unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=unicos
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=tops20
- ;;
- tpf)
- basic_machine=s390x-ibm
- os=tpf
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=vms
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=vxworks
- ;;
- xbox)
- basic_machine=i686-pc
- os=mingw32
- ;;
- ymp)
- basic_machine=ymp-cray
- os=unicos
- ;;
- *)
- basic_machine=$1
- os=
- ;;
- esac
- ;;
-esac
-
-# Decode 1-component or ad-hoc basic machines
-case $basic_machine in
- # Here we handle the default manufacturer of certain CPU types. It is in
- # some cases the only manufacturer, in others, it is the most popular.
- w89k)
- cpu=hppa1.1
- vendor=winbond
- ;;
- op50n)
- cpu=hppa1.1
- vendor=oki
- ;;
- op60c)
- cpu=hppa1.1
- vendor=oki
- ;;
- ibm*)
- cpu=i370
- vendor=ibm
- ;;
- orion105)
- cpu=clipper
- vendor=highlevel
- ;;
- mac | mpw | mac-mpw)
- cpu=m68k
- vendor=apple
- ;;
- pmac | pmac-mpw)
- cpu=powerpc
- vendor=apple
- ;;
-
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- cpu=m68000
- vendor=att
- ;;
- 3b*)
- cpu=we32k
- vendor=att
- ;;
- bluegene*)
- cpu=powerpc
- vendor=ibm
- os=cnk
- ;;
- decsystem10* | dec10*)
- cpu=pdp10
- vendor=dec
- os=tops10
- ;;
- decsystem20* | dec20*)
- cpu=pdp10
- vendor=dec
- os=tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- cpu=m68k
- vendor=motorola
- ;;
- dpx2*)
- cpu=m68k
- vendor=bull
- os=sysv3
- ;;
- encore | umax | mmax)
- cpu=ns32k
- vendor=encore
- ;;
- elxsi)
- cpu=elxsi
- vendor=elxsi
- os=${os:-bsd}
- ;;
- fx2800)
- cpu=i860
- vendor=alliant
- ;;
- genix)
- cpu=ns32k
- vendor=ns
- ;;
- h3050r* | hiux*)
- cpu=hppa1.1
- vendor=hitachi
- os=hiuxwe2
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- cpu=hppa1.0
- vendor=hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- cpu=m68000
- vendor=hp
- ;;
- hp9k3[2-9][0-9])
- cpu=m68k
- vendor=hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- cpu=hppa1.0
- vendor=hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- cpu=hppa1.1
- vendor=hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- cpu=hppa1.0
- vendor=hp
- ;;
- i*86v32)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- os=sysv32
- ;;
- i*86v4*)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- os=sysv4
- ;;
- i*86v)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- os=sysv
- ;;
- i*86sol2)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
- vendor=pc
- os=solaris2
- ;;
- j90 | j90-cray)
- cpu=j90
- vendor=cray
- os=${os:-unicos}
- ;;
- iris | iris4d)
- cpu=mips
- vendor=sgi
- case $os in
- irix*)
- ;;
- *)
- os=irix4
- ;;
- esac
- ;;
- miniframe)
- cpu=m68000
- vendor=convergent
- ;;
- *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
- cpu=m68k
- vendor=atari
- os=mint
- ;;
- news-3600 | risc-news)
- cpu=mips
- vendor=sony
- os=newsos
- ;;
- next | m*-next)
- cpu=m68k
- vendor=next
- case $os in
- nextstep* )
- ;;
- ns2*)
- os=nextstep2
- ;;
- *)
- os=nextstep3
- ;;
- esac
- ;;
- np1)
- cpu=np1
- vendor=gould
- ;;
- op50n-* | op60c-*)
- cpu=hppa1.1
- vendor=oki
- os=proelf
- ;;
- pa-hitachi)
- cpu=hppa1.1
- vendor=hitachi
- os=hiuxwe2
- ;;
- pbd)
- cpu=sparc
- vendor=tti
- ;;
- pbb)
- cpu=m68k
- vendor=tti
- ;;
- pc532)
- cpu=ns32k
- vendor=pc532
- ;;
- pn)
- cpu=pn
- vendor=gould
- ;;
- power)
- cpu=power
- vendor=ibm
- ;;
- ps2)
- cpu=i386
- vendor=ibm
- ;;
- rm[46]00)
- cpu=mips
- vendor=siemens
- ;;
- rtpc | rtpc-*)
- cpu=romp
- vendor=ibm
- ;;
- sde)
- cpu=mipsisa32
- vendor=sde
- os=${os:-elf}
- ;;
- simso-wrs)
- cpu=sparclite
- vendor=wrs
- os=vxworks
- ;;
- tower | tower-32)
- cpu=m68k
- vendor=ncr
- ;;
- vpp*|vx|vx-*)
- cpu=f301
- vendor=fujitsu
- ;;
- w65)
- cpu=w65
- vendor=wdc
- ;;
- w89k-*)
- cpu=hppa1.1
- vendor=winbond
- os=proelf
- ;;
- none)
- cpu=none
- vendor=none
- ;;
- leon|leon[3-9])
- cpu=sparc
- vendor=$basic_machine
- ;;
- leon-*|leon[3-9]-*)
- cpu=sparc
- vendor=`echo "$basic_machine" | sed 's/-.*//'`
- ;;
-
- *-*)
- IFS="-" read -r cpu vendor <&2
- exit 1
- ;;
- esac
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $vendor in
- digital*)
- vendor=dec
- ;;
- commodore*)
- vendor=cbm
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x$os != x ]
-then
-case $os in
- # First match some system type aliases that might get confused
- # with valid system types.
- # solaris* is a basic system type, with this one exception.
- auroraux)
- os=auroraux
- ;;
- bluegene*)
- os=cnk
- ;;
- solaris1 | solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- solaris)
- os=solaris2
- ;;
- unixware*)
- os=sysv4.2uw
- ;;
- gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # es1800 is here to avoid being matched by es* (a different OS)
- es1800*)
- os=ose
- ;;
- # Some version numbers need modification
- chorusos*)
- os=chorusos
- ;;
- isc)
- os=isc2.2
- ;;
- sco6)
- os=sco5v6
- ;;
- sco5)
- os=sco3.2v5
- ;;
- sco4)
- os=sco3.2v4
- ;;
- sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- ;;
- sco3.2v[4-9]* | sco5v6*)
- # Don't forget version if it is 3.2v4 or newer.
- ;;
- scout)
- # Don't match below
- ;;
- sco*)
- os=sco3.2v2
- ;;
- psos*)
- os=psos
- ;;
- # Now accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST end in a * to match a version number.
- # sysv* is not here because it comes later, after sysvr4.
- gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
- | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
- | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
- | sym* | kopensolaris* | plan9* \
- | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
- | aos* | aros* | cloudabi* | sortix* \
- | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
- | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
- | knetbsd* | mirbsd* | netbsd* \
- | bitrig* | openbsd* | solidbsd* | libertybsd* \
- | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
- | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
- | chorusrdb* | cegcc* | glidix* \
- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
- | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
- | linux-newlib* | linux-musl* | linux-uclibc* \
- | uxpv* | beos* | mpeix* | udk* | moxiebox* \
- | interix* | uwin* | mks* | rhapsody* | darwin* \
- | openstep* | oskit* | conix* | pw32* | nonstopux* \
- | storm-chaos* | tops10* | tenex* | tops20* | its* \
- | os2* | vos* | palmos* | uclinux* | nucleus* \
- | morphos* | superux* | rtmk* | windiss* \
- | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
- | skyos* | haiku* | rdos* | toppers* | drops* | es* \
- | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
- | midnightbsd*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- qnx*)
- case $cpu in
- x86 | i*86)
- ;;
- *)
- os=nto-$os
- ;;
- esac
- ;;
- hiux*)
- os=hiuxwe2
- ;;
- nto-qnx*)
- ;;
- nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- sim | xray | os68k* | v88r* \
- | windows* | osx | abug | netware* | os9* \
- | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
- ;;
- linux-dietlibc)
- os=linux-dietlibc
- ;;
- linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- lynx*178)
- os=lynxos178
- ;;
- lynx*5)
- os=lynxos5
- ;;
- lynx*)
- os=lynxos
- ;;
- mac*)
- os=`echo "$os" | sed -e 's|mac|macos|'`
- ;;
- opened*)
- os=openedition
- ;;
- os400*)
- os=os400
- ;;
- sunos5*)
- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
- ;;
- sunos6*)
- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
- ;;
- wince*)
- os=wince
- ;;
- utek*)
- os=bsd
- ;;
- dynix*)
- os=bsd
- ;;
- acis*)
- os=aos
- ;;
- atheos*)
- os=atheos
- ;;
- syllable*)
- os=syllable
- ;;
- 386bsd)
- os=bsd
- ;;
- ctix* | uts*)
- os=sysv
- ;;
- nova*)
- os=rtmk-nova
- ;;
- ns2)
- os=nextstep2
- ;;
- nsk*)
- os=nsk
- ;;
- # Preserve the version number of sinix5.
- sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- sinix*)
- os=sysv4
- ;;
- tpf*)
- os=tpf
- ;;
- triton*)
- os=sysv3
- ;;
- oss*)
- os=sysv3
- ;;
- svr4*)
- os=sysv4
- ;;
- svr3)
- os=sysv3
- ;;
- sysvr4)
- os=sysv4
- ;;
- # This must come after sysvr4.
- sysv*)
- ;;
- ose*)
- os=ose
- ;;
- *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
- os=mint
- ;;
- zvmoe)
- os=zvmoe
- ;;
- dicos*)
- os=dicos
- ;;
- pikeos*)
- # Until real need of OS specific support for
- # particular features comes up, bare metal
- # configurations are quite functional.
- case $cpu in
- arm*)
- os=eabi
- ;;
- *)
- os=elf
- ;;
- esac
- ;;
- nacl*)
- ;;
- ios)
- ;;
- none)
- ;;
- *-eabi)
- ;;
- *)
- echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $cpu-$vendor in
- score-*)
- os=elf
- ;;
- spu-*)
- os=elf
- ;;
- *-acorn)
- os=riscix1.2
- ;;
- arm*-rebel)
- os=linux
- ;;
- arm*-semi)
- os=aout
- ;;
- c4x-* | tic4x-*)
- os=coff
- ;;
- c8051-*)
- os=elf
- ;;
- clipper-intergraph)
- os=clix
- ;;
- hexagon-*)
- os=elf
- ;;
- tic54x-*)
- os=coff
- ;;
- tic55x-*)
- os=coff
- ;;
- tic6x-*)
- os=coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=tops20
- ;;
- pdp11-*)
- os=none
- ;;
- *-dec | vax-*)
- os=ultrix4.2
- ;;
- m68*-apollo)
- os=domain
- ;;
- i386-sun)
- os=sunos4.0.2
- ;;
- m68000-sun)
- os=sunos3
- ;;
- m68*-cisco)
- os=aout
- ;;
- mep-*)
- os=elf
- ;;
- mips*-cisco)
- os=elf
- ;;
- mips*-*)
- os=elf
- ;;
- or32-*)
- os=coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=sysv3
- ;;
- sparc-* | *-sun)
- os=sunos4.1.1
- ;;
- pru-*)
- os=elf
- ;;
- *-be)
- os=beos
- ;;
- *-ibm)
- os=aix
- ;;
- *-knuth)
- os=mmixware
- ;;
- *-wec)
- os=proelf
- ;;
- *-winbond)
- os=proelf
- ;;
- *-oki)
- os=proelf
- ;;
- *-hp)
- os=hpux
- ;;
- *-hitachi)
- os=hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=sysv
- ;;
- *-cbm)
- os=amigaos
- ;;
- *-dg)
- os=dgux
- ;;
- *-dolphin)
- os=sysv3
- ;;
- m68k-ccur)
- os=rtu
- ;;
- m88k-omron*)
- os=luna
- ;;
- *-next)
- os=nextstep
- ;;
- *-sequent)
- os=ptx
- ;;
- *-crds)
- os=unos
- ;;
- *-ns)
- os=genix
- ;;
- i370-*)
- os=mvs
- ;;
- *-gould)
- os=sysv
- ;;
- *-highlevel)
- os=bsd
- ;;
- *-encore)
- os=bsd
- ;;
- *-sgi)
- os=irix
- ;;
- *-siemens)
- os=sysv4
- ;;
- *-masscomp)
- os=rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=uxpv
- ;;
- *-rom68k)
- os=coff
- ;;
- *-*bug)
- os=coff
- ;;
- *-apple)
- os=macos
- ;;
- *-atari*)
- os=mint
- ;;
- *-wrs)
- os=vxworks
- ;;
- *)
- os=none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-case $vendor in
- unknown)
- case $os in
- riscix*)
- vendor=acorn
- ;;
- sunos*)
- vendor=sun
- ;;
- cnk*|-aix*)
- vendor=ibm
- ;;
- beos*)
- vendor=be
- ;;
- hpux*)
- vendor=hp
- ;;
- mpeix*)
- vendor=hp
- ;;
- hiux*)
- vendor=hitachi
- ;;
- unos*)
- vendor=crds
- ;;
- dgux*)
- vendor=dg
- ;;
- luna*)
- vendor=omron
- ;;
- genix*)
- vendor=ns
- ;;
- clix*)
- vendor=intergraph
- ;;
- mvs* | opened*)
- vendor=ibm
- ;;
- os400*)
- vendor=ibm
- ;;
- ptx*)
- vendor=sequent
- ;;
- tpf*)
- vendor=ibm
- ;;
- vxsim* | vxworks* | windiss*)
- vendor=wrs
- ;;
- aux*)
- vendor=apple
- ;;
- hms*)
- vendor=hitachi
- ;;
- mpw* | macos*)
- vendor=apple
- ;;
- *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
- vendor=atari
- ;;
- vos*)
- vendor=stratus
- ;;
- esac
- ;;
-esac
-
-echo "$cpu-$vendor-$os"
-exit
-
-# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/libs/GeographicLib-1.50.1/configure b/libs/GeographicLib-1.50.1/configure
deleted file mode 100755
index b6fa0183d549d32e5198ca9d5e63ecf3c150424b..0000000000000000000000000000000000000000
--- a/libs/GeographicLib-1.50.1/configure
+++ /dev/null
@@ -1,19217 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GeographicLib 1.50.1.
-#
-# Report bugs to .
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and charles@karney.com
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 &1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='GeographicLib'
-PACKAGE_TARNAME='geographiclib'
-PACKAGE_VERSION='1.50.1'
-PACKAGE_STRING='GeographicLib 1.50.1'
-PACKAGE_BUGREPORT='charles@karney.com'
-PACKAGE_URL=''
-
-ac_unique_file="src/Geodesic.cpp"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include
-#ifdef HAVE_SYS_TYPES_H
-# include
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include
-#endif
-#ifdef STDC_HEADERS
-# include
-# include
-#else
-# ifdef HAVE_STDLIB_H
-# include
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include
-# endif
-# include
-#endif
-#ifdef HAVE_STRINGS_H
-# include
-#endif
-#ifdef HAVE_INTTYPES_H
-# include
-#endif
-#ifdef HAVE_STDINT_H
-# include
-#endif
-#ifdef HAVE_UNISTD_H
-# include
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-pkgconfigdir
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
-HAVE_PODPROGS_FALSE
-HAVE_PODPROGS_TRUE
-COL
-POD2HTML
-POD2MAN
-HAVE_DOXYGEN_FALSE
-HAVE_DOXYGEN_TRUE
-DOXYGEN
-CXXCPP
-LT_SYS_LIBRARY_PATH
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-ac_ct_CXX
-CXXFLAGS
-CXX
-CPP
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-LT_AGE
-LT_REVISION
-LT_CURRENT
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-GEOGRAPHICLIB_VERSION_PATCH
-GEOGRAPHICLIB_VERSION_MINOR
-GEOGRAPHICLIB_VERSION_MAJOR
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL
-am__quote'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_maintainer_mode
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_aix_soname
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-with_pkgconfigdir
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-CXX
-CXXFLAGS
-CCC
-LT_SYS_LIBRARY_PATH
-CXXCPP
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures GeographicLib 1.50.1 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/geographiclib]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of GeographicLib 1.50.1:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-silent-rules less verbose build output (undo: "make V=1")
- --disable-silent-rules verbose build output (undo: "make V=0")
- --enable-maintainer-mode
- enable make rules and dependencies not useful (and
- sometimes confusing) to the casual installer
- --enable-dependency-tracking
- do not reject slow dependency extractors
- --disable-dependency-tracking
- speeds up one-time build
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
- both]
- --with-aix-soname=aix|svr4|both
- shared library versioning (aka "SONAME") variant to
- provide on AIX, [default=aix].
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
- compiler's sysroot if not specified).
- --with-pkgconfigdir pkg-config installation directory
- ['${libdir}/pkgconfig']
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L if you have libraries in a
- nonstandard directory
- LIBS libraries to pass to the linker, e.g. -l
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
- you have headers in a nonstandard directory
- CPP C preprocessor
- CXX C++ compiler command
- CXXFLAGS C++ compiler flags
- LT_SYS_LIBRARY_PATH
- User-defined run-time library search path.
- CXXCPP C++ preprocessor
- PKG_CONFIG path to pkg-config utility
- PKG_CONFIG_PATH
- directories to add to pkg-config's search path
- PKG_CONFIG_LIBDIR
- path overriding pkg-config's built-in search path
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to .
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-GeographicLib configure 1.50.1
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case declares $2.
- For example, HP-UX 11i declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer to if __STDC__ is defined, since
- exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_cxx_try_cpp LINENO
-# ------------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_cpp
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-
-# ac_fn_cxx_try_run LINENO
-# ------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_cxx_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_run
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by GeographicLib $as_me 1.50.1, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-
-
-am__api_version='1.16'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
- alias in your environment" "$LINENO" 5
- fi
- if test "$2" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --is-lightweight"; then
- am_missing_run="$MISSING "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
- enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=1;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='geographiclib'
- VERSION='1.50.1'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# For better backward compatibility. To be removed once Automake 1.9.x
-# dies out for good. For more background, see:
-#
-#
-mkdir_p='$(MKDIR_P)'
-
-# We need awk for the "check" target (and possibly the TAP driver). The
-# system "awk" is bad on some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar pax cpio none'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes. So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
- cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present. This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard:
-
-Please tell bug-automake@gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message. This
-can help us improve future automake versions.
-
-END
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
- echo 'Configuration will proceed anyway, since you have set the' >&2
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
- echo >&2
- else
- cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: .
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
- as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
- fi
-fi
-
-
-GEOGRAPHICLIB_VERSION_MAJOR=1
-GEOGRAPHICLIB_VERSION_MINOR=50
-GEOGRAPHICLIB_VERSION_PATCH=1
-
-cat >>confdefs.h <<_ACEOF
-#define GEOGRAPHICLIB_VERSION_MAJOR $GEOGRAPHICLIB_VERSION_MAJOR
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GEOGRAPHICLIB_VERSION_MINOR $GEOGRAPHICLIB_VERSION_MINOR
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GEOGRAPHICLIB_VERSION_PATCH $GEOGRAPHICLIB_VERSION_PATCH
-_ACEOF
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-ac_config_headers="$ac_config_headers include/GeographicLib/Config-ac.h"
-
-
-LT_CURRENT=19
-LT_REVISION=1
-LT_AGE=0
-
-
-
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
-$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
-cat > confinc.mk << 'END'
-am__doit:
- @echo this is the am__doit target >confinc.out
-.PHONY: am__doit
-END
-am__include="#"
-am__quote=
-# BSD make does it like this.
-echo '.include "confinc.mk" # ignored' > confmf.BSD
-# Other make implementations (GNU, Solaris 10, AIX) do it like this.
-echo 'include confinc.mk # ignored' > confmf.GNU
-_am_result=no
-for s in GNU BSD; do
- { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
- (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- case $?:`cat confinc.out 2>/dev/null` in #(
- '0:this is the am__doit target') :
- case $s in #(
- BSD) :
- am__include='.include' am__quote='"' ;; #(
- *) :
- am__include='include' am__quote='' ;;
-esac ;; #(
- *) :
- ;;
-esac
- if test "$am__include" != "#"; then
- _am_result="yes ($s style)"
- break
- fi
-done
-rm -f confinc.* confmf.*
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
-$as_echo "${_am_result}" >&6; }
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- # Make sure it works both with $CC and with simple cc.
- # Following AC_PROG_CC_C_O, we do the test twice because some
- # compilers refuse to overwrite an existing .o file with -o,
- # though they will create one.
- am_cv_prog_cc_c_o=yes
- for am_i in 1 2; do
- if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
- ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } \
- && test -f conftest2.$ac_objext; then
- : OK
- else
- am_cv_prog_cc_c_o=no
- break
- fi
- done
- rm -f core conftest*
- unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer to if __STDC__ is defined, since
- # exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer to if __STDC__ is defined, since
- # exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
- if test -n "$CCC"; then
- CXX=$CCC
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CXX" && break
-done
-
- if test "x$ac_ct_CXX" = x; then
- CXX="g++"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CXX=$ac_ct_CXX
- fi
-fi
-
- fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if ${ac_cv_cxx_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GXX=yes
-else
- GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if ${ac_cv_prog_cxx_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_cxx_werror_flag=$ac_cxx_werror_flag
- ac_cxx_werror_flag=yes
- ac_cv_prog_cxx_g=no
- CXXFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cv_prog_cxx_g=yes
-else
- CXXFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
- CXXFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
-fi
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.6'
-macro_revision='2.4.6'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case $ECHO in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return, which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD=$ac_prog
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test yes = "$with_gnu_ld"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS=$lt_save_ifs
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD=$ac_dir/$ac_prog
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 &5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 &5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM=$NM
-else
- lt_nm_to_check=${ac_tool_prefix}nm
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS=$lt_save_ifs
- test -z "$ac_dir" && ac_dir=.
- tmp_nm=$ac_dir/$lt_tmp_nm
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
- case $build_os in
- mingw*) lt_bad_file=conftest.nm/nofile ;;
- *) lt_bad_file=/dev/null ;;
- esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
- *$lt_bad_file* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break 2
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break 2
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS=$lt_save_ifs
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test no != "$lt_cv_path_NM"; then
- NM=$lt_cv_path_NM
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols -headers"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test : != "$DUMPBIN"; then
- NM=$DUMPBIN
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring=ABCD
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- os2*)
- # The test takes a long time on OS/2.
- lt_cv_sys_max_cmd_len=8192
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test X`env echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test 17 != "$i" # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n "$lt_cv_sys_max_cmd_len"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test yes != "$GCC"; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test yes = "$GCC"; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# 'unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# that responds to the $file_magic_cmd with a given extended regex.
-# If you have 'file' or equivalent on your system and you're not sure
-# whether 'pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd* | bitrig*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-os2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh;
- # decide which one to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd=$ECHO
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test 0 -eq "$ac_status"; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test 0 -ne "$ac_status"; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test no = "$lt_cv_ar_at_file"; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- bitrig* | openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test ia64 = "$host_cpu"; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
- # Adjust the below global symbol transforms to fixup imported variables.
- lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
- lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
- lt_c_name_lib_hook="\
- -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
- -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
-else
- # Disable hooks by default.
- lt_cv_sys_global_symbol_to_import=
- lt_cdecl_hook=
- lt_c_name_hook=
- lt_c_name_lib_hook=
-fi
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function,
- # D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS=conftstm.$ac_objext
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test yes = "$pipe_works"; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case $with_sysroot in #(
- yes)
- if test yes = "$GCC"; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
-$as_echo "$with_sysroot" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
-$as_echo_n "checking for a working dd... " >&6; }
-if ${ac_cv_path_lt_DD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-if test -z "$lt_DD"; then
- ac_path_lt_DD_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in dd; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_lt_DD" || continue
-if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
- cmp -s conftest.i conftest.out \
- && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi
- $ac_path_lt_DD_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_lt_DD"; then
- :
- fi
-else
- ac_cv_path_lt_DD=$lt_DD
-fi
-
-rm -f conftest.i conftest2.i conftest.out
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
-$as_echo "$ac_cv_path_lt_DD" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
-$as_echo_n "checking how to truncate binary pipes... " >&6; }
-if ${lt_cv_truncate_bin+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
- cmp -s conftest.i conftest.out \
- && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
-$as_echo "$lt_cv_truncate_bin" >&6; }
-
-
-
-
-
-
-
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
- for cc_temp in $*""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
- done
- func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test no = "$enable_libtool_lock" || enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out what ABI is being produced by ac_compile, and set mode
- # options accordingly.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE=32
- ;;
- *ELF-64*)
- HPUX_IA64_MODE=64
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test yes = "$lt_cv_prog_gnu_ld"; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-mips64*-*linux*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- emul=elf
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- emul="${emul}32"
- ;;
- *64-bit*)
- emul="${emul}64"
- ;;
- esac
- case `/usr/bin/file conftest.$ac_objext` in
- *MSB*)
- emul="${emul}btsmip"
- ;;
- *LSB*)
- emul="${emul}ltsmip"
- ;;
- esac
- case `/usr/bin/file conftest.$ac_objext` in
- *N32*)
- emul="${emul}n32"
- ;;
- esac
- LD="${LD-ld} -m $emul"
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly. Note that the listed cases only cover the
- # situations where additional linker options are needed (such as when
- # doing 32-bit compilation for a host where ld defaults to 64-bit, or
- # vice versa); the common cases where no linker options are needed do
- # not appear in the list.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- case `/usr/bin/file conftest.o` in
- *x86-64*)
- LD="${LD-ld} -m elf32_x86_64"
- ;;
- *)
- LD="${LD-ld} -m elf_i386"
- ;;
- esac
- ;;
- powerpc64le-*linux*)
- LD="${LD-ld} -m elf32lppclinux"
- ;;
- powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- powerpcle-*linux*)
- LD="${LD-ld} -m elf64lppc"
- ;;
- powerpc-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test yes != "$lt_cv_cc_needs_belf"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS=$SAVE_CFLAGS
- fi
- ;;
-*-*solaris*)
- # Find out what ABI is being produced by ac_compile, and set linker
- # options accordingly.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*)
- case $host in
- i?86-*-solaris*|x86_64-*-solaris*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- sparc*-*-solaris*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
- if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD=${LD-ld}_sol2
- fi
- ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks=$enable_libtool_lock
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test yes != "$lt_cv_path_mainfest_tool"; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "$LT_MULTI_MODULE"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- # If there is a non-empty error log, and "single_module"
- # appears in it, assume the flag caused a linker warning
- if test -s conftest.err && $GREP single_module conftest.err; then
- cat conftest.err >&5
- # Otherwise, if the output was created with a 0 exit code from
- # the compiler, it worked.
- elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -s conftest.err && $GREP force_load conftest.err; then
- cat conftest.err >&5
- elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- 10.[012][,.]*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test yes = "$lt_cv_apple_cc_single_mod"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test yes = "$lt_cv_ld_exported_symbols_list"; then
- _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
- fi
- if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-# string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-# string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-# "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-# VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
- case x$2 in
- x)
- ;;
- *:)
- eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
- ;;
- x:*)
- eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
- ;;
- *::*)
- eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
- eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
- ;;
- *)
- eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
- ;;
- esac
-}
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include