From a6bbe9c6730812496da143beaf393fe24ffbdc8b Mon Sep 17 00:00:00 2001 From: Nicolau Manubens Date: Wed, 17 May 2017 19:01:30 +0200 Subject: [PATCH 1/2] Removed ncdf4 bugfix. --- DESCRIPTION | 4 +- NAMESPACE | 1 - R/NcToArray.R | 4 +- R/Utils.R | 877 ---------- cleanup | 4 - configure | 4095 ---------------------------------------------- src/Makevars.in | 6 - src/Makevars.win | 1 - src/easyNCDF.c | 733 --------- 9 files changed, 3 insertions(+), 5722 deletions(-) delete mode 100755 cleanup delete mode 100755 configure delete mode 100644 src/Makevars.in delete mode 100644 src/Makevars.win delete mode 100644 src/easyNCDF.c diff --git a/DESCRIPTION b/DESCRIPTION index ebc821d..4b23a42 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -3,8 +3,7 @@ Title: Tools to Easily Read/Write NetCDF Files into/from Multidimensional R Arra Version: 0.0.3 Authors@R: c( person("BSC-CNS", role = c("aut", "cph")), - person("Nicolau", "Manubens", , "nicolau.manubens@bsc.es", role = c("aut", "cre")), - person("David", "Pierce", , "david.pierce@ucsd.edu", role = c("ctb"))) + person("Nicolau", "Manubens", , "nicolau.manubens@bsc.es", role = c("aut", "cre"))) Description: Set of wrappers for the 'ncdf4' package to simplify and extend its reading/writing capabilities into/from multidimensional R arrays. Depends: R (>= 2.14.1) @@ -16,4 +15,3 @@ URL: https://earth.bsc.es/gitlab/es/easyNCDF/wikis/home BugReports: https://earth.bsc.es/gitlab/es/easyNCDF/issues LazyData: true SystemRequirements: netcdf development libraries -NeedsCompilation: yes diff --git a/NAMESPACE b/NAMESPACE index de2ea64..9baf4ba 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,4 +1,3 @@ -useDynLib(easyNCDF) exportPattern("^[^\\.]") import(ncdf4, abind) importFrom("stats", "setNames") diff --git a/R/NcToArray.R b/R/NcToArray.R index af82c57..5c7a91a 100644 --- a/R/NcToArray.R +++ b/R/NcToArray.R @@ -203,8 +203,8 @@ NcToArray <- function(file_to_read, dim_indices = NULL, vars_to_read = NULL, (length(file_object[['var']][[var_name]][['dim']]) > 1)) { start <- c(1, start) count <- c(-1, count) - ##original_ncvar_get_inner <- ncdf4:::ncvar_get_inner - ##assignInNamespace('ncvar_get_inner', .ncvar_get_inner, 'ncdf4') + ## original_ncvar_get_inner <- ncdf4:::ncvar_get_inner + ## assignInNamespace('ncvar_get_inner', .ncvar_get_inner, 'ncdf4') } var_result <- do.call('[', c(list(.ncvar_get(file_object, var_name, start, count, collapse_degen = FALSE)), lapply(indices_to_take, function(x) if (is_single_na(x)) TRUE else x - min(x) + 1), list(drop = FALSE))) diff --git a/R/Utils.R b/R/Utils.R index 5cd9374..82c2fb6 100644 --- a/R/Utils.R +++ b/R/Utils.R @@ -203,880 +203,3 @@ names(dim(array1)) <- names(dim(array2)) array1 } - -# The functions from here on are copies of some functions in 'ncdf4' package -# with a small bugfix in ncvar_get_inner. When ncdf4 addresses this bug, these -# function will be removed from this package. -# This code belongs to David Pierce. -.ncvar_size <- function( ncid, varid ) { - - if( mode(ncid) != 'numeric' ) - stop(paste("error, must be passed a numeric first arg: ncid2use, not an arg of mode", mode(ncid))) - - if( mode(varid) != 'numeric' ) - stop("Error, must be passed a numeric second arg: varid2use" ) - - ndims <- .ncvar_ndims( ncid, varid ) - if( ndims == 0 ) - #return(vector()) changed DWP 2012-09-20 - return(1) # indicates a scalar var - - rv <- list() - rv$error <- -1 - rv$varsize <- integer(ndims) - rv$ndims <- -1 - rv <- .C("R_nc4_varsize", - as.integer(ncid), - as.integer(varid), - ndims=as.integer(rv$ndims), - varsize=as.integer(rv$varsize), - error=as.integer(rv$error), - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("error returned from C routine R_nc4_varsize") - - #------------------------------------- - # Switch order from C-style to R-style - #------------------------------------- - rv$varsize <- rv$varsize[ ndims:1 ] - - return(rv$varsize) -} - -.ncvar_type <- function( ncid, varid, output_string=FALSE ) { - - if( mode(ncid) != 'numeric' ) - stop("error, must be passed a numeric first arg: ncid2use") - - if( mode(varid) != 'numeric' ) - stop("Error, must be passed a numeric second arg: varid2use" ) - - rv <- list() - rv$error <- -1 - rv$precint <- -1 - - rv <- .C("R_nc4_inq_vartype", - as.integer(ncid), - as.integer(varid), - precint=as.integer(rv$precint), - error=as.integer(rv$error), - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("error returned from C call") - return( rv$precint ) -} - -.ncvar_ndims <- function( ncid, varid ) { - - if( mode(ncid) != 'numeric' ) - stop(paste("error, ncvar_ndims must be passed a numeric first arg; mode of val passed=", mode(ncid))) - - if( mode(varid) != 'numeric' ) - stop("Error, ncvar_ndims must be passed a numeric second arg: varid2use" ) - - rv <- list() - rv$error <- -1 - rv$ndims <- -1 - rv <- .C("R_nc4_inq_varndims", - as.integer(ncid), - as.integer(varid), - ndims=as.integer(rv$ndims), - error=as.integer(rv$error), - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("error returned from C call") - return( rv$ndims ) -} - -.blankstring_ncdf4 <- function( n ) { - - rv <- .Call("R_nc4_blankstring", as.integer(n), PACKAGE="easyNCDF") - return( rv ) -} - -.ncvar_type_to_string <- function( precint ) { - - if( precint == 1 ) - prec <- "short" - else if( precint == 2 ) - prec <- "int" - else if( precint == 3 ) - prec <- "float" - else if( precint == 4 ) - prec <- "double" - else if( precint == 5 ) - prec <- "char" - else if( precint == 6 ) - prec <- "byte" - else if( precint == 7 ) - prec <- "unsigned byte" - else if( precint == 8 ) - prec <- "unsigned short" - else if( precint == 9 ) - prec <- "unsigned int" - else if( precint == 10 ) - prec <- "8 byte int" - else if( precint == 11 ) - prec <- "unsinged 8 byte int" - else if( precint == 12 ) - prec <- "string" - else - stop(paste("Error, unrecognized type code of variable supplied:", precint )) - - return( prec ) -} - -.ncvar_get_inner <- function( ncid, varid, missval, addOffset=0., scaleFact=1.0, start=NA, count=NA, verbose=FALSE, signedbyte=TRUE, - collapse_degen=TRUE, raw_datavals=FALSE ) { - - if( ! is.numeric(ncid)) - stop("Error, first arg passed to ncvar_get_inner (ncid) must be a simple C-style integer that is passed directly to the C api") - if( ! is.numeric(varid)) - - stop("Error, second arg passed to ncvar_get_inner (varid) must be a simple C-style integer that is passed directly to the C api") - - if( verbose ) { - print(paste("ncvar_get_inner: entering with (C-STYLE INTEGER ONLY) ncid=", ncid, - "varid=", varid )) - print(paste("ncvar_get_inner: following line is collapse_degen:")) - print(collapse_degen) - } - - tmp_typename = c('short', 'int', 'float', 'double', 'char', 'byte' ) - - have_start = (length(start)>1) || ((length(start)==1) && (!is.na(start))) - have_count = (length(count)>1) || ((length(count)==1) && (!is.na(count))) - - sm <- storage.mode(start) - if( (sm != "double") && (sm != "integer") && (sm != "logical")) - stop(paste("passed a start argument of storage mode",sm,"; can only handle double or integer")) - sm <- storage.mode(count) - if( (sm != "double") && (sm != "integer") && (sm != "logical")) - stop(paste("passed a 'count' argument with storage mode '",sm,"'; can only handle double or integer", sep='')) - - if( signedbyte ) - byte_style = 1 # 1=signed - else - byte_style = 2 # 2=unsigned - - varsize <- .ncvar_size ( ncid, varid ) - ndims <- .ncvar_ndims( ncid, varid ) - if( verbose ) { - print(paste("ndims:",ndims)) - print("ncvar_get: varsize:") - print(varsize) - } - - #------------------------------ - # Fix up start and count to use - #------------------------------ - if( ndims == 0 ) { - start <- 1 - count <- 1 - } - else - { - if( ! have_start ) - start <- rep(1,ndims) # Note: use R convention for now - if( ! have_count ) - count <- varsize - start + 1 - else - { - #------------------ - # Take care of -1's - #------------------ - count <- ifelse( (count == -1), varsize-start+1, count) - } - } - if( verbose ) { - print("ncvar_get: start:") - print(start) - print("ncvar_get: count:") - print(count) - } - - if( ndims > 0 ) { - if( length(start) != ndims ) - stop(paste("Error: variable has",ndims,"dims, but start has",length(start),"entries. They must match!")) - if( length(count) != ndims ) - stop(paste("Error: variable has",ndims,"dims, but count has",length(count),"entries. They must match!")) - } - - #---------------------------------------- - # Need to know how much space to allocate - #---------------------------------------- - totvarsize <- prod(count) - if( verbose ) - print(paste("ncvar_get: totvarsize:",totvarsize)) - - #-------------------------------------------------- - # Switch from R to C convention for start and count - #-------------------------------------------------- - c.start <- start[ ndims:1 ] - 1 - c.count <- count[ ndims:1 ] - - rv <- list() - rv$error <- -1 - - #--------------------------------- - # Get the correct type of variable - #--------------------------------- - precint <- .ncvar_type( ncid, varid ) # 1=short, 2=int, 3=float, 4=double, 5=char, 6=byte, 7=ubyte, 8=ushort, 9=uint, 10=int64, 11=uint64, 12=string - if( verbose ) - print(paste("ncvar_get_inner: getting var of type",tmp_typename[precint], 'id=', precint)) - - if( (precint == 1) || (precint == 2) || (precint == 6) || (precint == 7) || (precint == 8)) { - #-------------------------------- - # Short, Int, Byte, UByte, UShort - #-------------------------------- - rv <- .Call("Rsx_nc4_get_vara_int", - as.integer(ncid), - as.integer(varid), - as.integer(c.start), # Already switched to C convention... - as.integer(c.count), # Already switched to C convention... - as.integer(byte_style), # 1=signed, 2=unsigned - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("C function Rsx_nc4_get_var_int returned error") - data = rv$data - } - - else if( (precint == 3) || (precint == 4)) { - #---------------------------------------------------------------- - # Float, double where we have the C routine fix the missing value - # 'imvstate' is: 0 if we do not have a missing value (it is NULL), - # 1 if the missing value is NA, 2 if the missing value is present - # and not NULL and not NA. These codes are used by the C routine - #---------------------------------------------------------------- - if( is.null( missval )) { - passed_missval = 0.0 - imvstate = as.integer(0) - } - else if( is.na(missval)) { - passed_missval = 0.0 - imvstate = as.integer(1) - } - else - { - passed_missval = missval - imvstate = as.integer(2) - } - - if( raw_datavals ) - fixmiss = as.integer(0) # setting 'raw_datavalues' to TRUE gives the actual raw numbers from the file, not processed at all - else - fixmiss = as.integer(1) - - if( verbose ) print('about to call Rsx_nc4_get_vara_double...') - rv <- .Call("Rsx_nc4_get_vara_double", - as.integer(ncid), - as.integer(varid), - as.integer(c.start), # Already switched to C convention... - as.integer(c.count), # Already switched to C convention... - fixmiss, - imvstate, - as.double(passed_missval), - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("C function R_nc4_get_vara_double returned error") - if( verbose ) print('back from call to Rsx_nc4_get_vara_double...') - data = rv$data - } - - else if( (precint == 9) || (precint == 10) || (precint == 11)) { - #--------------------------------------------- - # uint, int64, uint64 - # Thanks to Tom Hilinski of Colorado State for - # fix to uint here - #--------------------------------------------- - rv$data <- double(totvarsize) - fixmiss = as.integer(0) - rv <- .Call("Rsx_nc4_get_vara_double", - as.integer(ncid), - as.integer(varid), - as.integer(c.start), # Already switched to C convention... - as.integer(c.count), # Already switched to C convention... - fixmiss, - as.integer(-1), # The 'imvstate' arg is unused in this call since no fixmiss - as.double(0.0), # the passed missing value is not used in this call since no fixmiss - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("C function R_nc4_get_vara_double returned error") - data = rv$data - } - - else if( precint == 5 ) { - #----- - # Char - #----- - strndims <- ndims - 1 - strlen <- count[1] + 1 - strdim <- 1 - if( strndims >= 1 ) { - strdim <- count[2:ndims] - nstr <- prod(strdim) - } - else - nstr <- 1 - if(verbose) - print(paste("ndims:",ndims,"strndims:",strndims,"strlen:",strlen,"nstr:",nstr)) - - #---------------------------------------------- - # Make a character string of the specified size - #---------------------------------------------- - stor <- .blankstring_ncdf4( totvarsize ) - stordata <- .blankstring_ncdf4(strlen) - if( verbose ) - print(paste("length of stor string:",nchar(stor))) - rv$tempstore <- stor - rv$data <- array(stordata, dim=strdim) - - rv <- .C("R_nc4_get_vara_text", - as.integer(ncid), - as.integer(varid), - as.integer(c.start), # Already switched to C convention... - as.integer(c.count), # Already switched to C convention... - tempstore=as.character(rv$tempstore), - data=as.character(rv$data), - error=as.integer(rv$error), - PACKAGE="easyNCDF") - if( rv$error != 0 ) - stop("C function R_nc4_get_var_text returned error") - - dim(rv$data) <- strdim - } - - else if( precint == 12 ) { - #----------------------------- - # netcdf version 4 String type - #----------------------------- - rv <- .Call( "R_nc4_get_vara_string", - as.integer(ncid), - as.integer(varid), - as.integer(c.start), # Already switched to C convention... - as.integer(c.count), # Already switched to C convention... - PACKAGE="easyNCDF" ) - } - else - { - stop(paste("Trying to get variable of an unhandled type code: ",precint, "(", .ncvar_type_to_string(precint), ")")) - } - if( verbose ) { - print(paste("ncvar_get_inner: C call returned",rv$error)) - print(paste("ncvar_get_inner: dim of directly returned array:")) - print(dim(rv$data)) - } - - #-------------------------------------------------------- - # Set our dims...but collapse degenerate dimensions first - #-------------------------------------------------------- - if( ndims > 0 ) { - if( collapse_degen ) { - count.nodegen <- vector() - foundone <- 0 - for( i in 1:ndims ) - if( count[i] > 1 ) { - count.nodegen <- append(count.nodegen, count[i]) - foundone <- 1 - } - if( foundone == 0 ) - dim(rv$data) <- (1) - else - { - if( verbose ) - print(paste("count.nodegen:",count.nodegen," Length of data:",length(rv$data))) - if( precint != 5 ) - dim(rv$data) <- count.nodegen - } - } - else if (precint != 5) - dim(rv$data) = count - - if( verbose ) { - print("ncvar_get: final dims of returned array:") - print(dim(rv$data)) - } - } - - #---------------------------------------------------------- - # Change missing values to "NA"s. Note that 'varid2Rindex' - # is NOT filled out for dimvars, so skip this if a dimvar - # 1=short, 2=int, 3=float, 4=double, 5=char, 6=byte - # NOTE: if type is 3 or 4 (float or double), the missing - # value was already set by the C routine. - #---------------------------------------------------------- - if( (!raw_datavals) && (precint != 5) && (precint != 3) && (precint != 4) ) { # not char, float, or double - if( verbose ) print("ncvar_get: setting missing values to NA") - if( (precint==1) || (precint==2) || (precint==6) || (precint==7) || (precint==8) || (precint==9)) { - #-------------------------------------- - # Short, Int, Byte, UByte, UShort, UInt - #-------------------------------------- - if( verbose ) print(paste("ncvar_get_inner: setting ", tmp_typename[precint],"-type missing value of ", missval, " to NA", sep='')) - if( ! is.na(missval) ) - rv$data[rv$data==missval] <- NA - } - else if( (precint==10) || (precint==11)) { - #-------------------------------- - # 8-byte int, unsigned 8-byte int - #-------------------------------- - if( ! is.na(missval) ) { - tol <- abs(missval*1.e-5) - if( verbose ) print(paste("ncvar_get_inner: setting ", tmp_typename[precint],"-type missing value of ", missval, - " (w/tolerance ", tol,") to NA", sep='')) - rv$data[abs(rv$data-missval)=0) && (varid$id<=100000) && (varid$group_id >= 0)) - if( is.na(varidOK) || (!varidOK)) { - print("vobjtovarid4: I was passed a ncvar object, BUT this object does NOT refer to any valid var in the netcdf file!") - print(paste("This happened for netCDF filename:",nc$filename)) - print("Here are the vars in the netCDF file:") - for( ii in 1:nc$nvars ) - print(paste(ii,": ",nc$var[[ii]]$name, sep='' )) - print(paste("The passed varid object (which does NOT exist in that file) is:")) - print(origvarid) - print(paste("Hint: make SURE the variable was not only defined with a call to ncvar_def(), but also included in the list of variables passed to nc_create()")) - stop("stopping") - } - - if( verbose ) - print(paste("vobjtovarid4: returning with varid deduced from a passed ncvar object; varid=", - varid$group_id, varid$id)) - return(varid) # an object of class 'ncid4' - } - - #------------------------------------------------------------- - # Handle case where we are given an ncdim object to begin with - #------------------------------------------------------------- - if( class(varid) == "ncdim4" ) { - - if( ! allowdimvar ) - stop(paste("Error, I was NOT allowed to check dimvars, but the second argument passed was an object of class ncdim4! Name=", varid$name)) - - if(verbose) - print(paste("vobjtovarid4: passed a ncdim class, name=",varid$name)) - - #----------------------------------------------------------- - # Go through and find if there is a dim in the file that has - # the same name as this dim. We do not immediately use - # this dim's dimvarid in case the dim is from a different - # file but has the same name. - #----------------------------------------------------------- - name2find = varid$name - foundit = FALSE - for( idim in 1:nc$ndims ) { - if( nc$dim[[idim]]$name == name2find ) { - #------------------------------------------- - # Remember we return the DIMVAR, not the dim - #------------------------------------------- - retval = nc$dim[[idim]]$dimvarid # an object of type 'ncid' - foundit = TRUE - break - } - } - if( ! foundit ) - #----------------------------------------------------------- - # Return an ncid that indicates this is a dimvar but it does - # not exist in the file - #----------------------------------------------------------- - retval = .ncdf4_make_id( id=-1, group_index=-1, group_id=-1, list_index=-1, isdimvar=TRUE ) - - if( class(retval) != 'ncid4' ) - stop(paste("Internal error #C, returned varid is not a object of class ncid4. Case with ncdim object passed; ncdim name=", varid$name)) - - if( verbose ) - print(paste("vobjtovarid4: returning with varid deduced from a passed ncvar object; retval=", - retval$group_id, retval$id)) - return(retval) # an object of class 'ncid4' - } - - #---------------------------------------------------------- - # If we get here, 'varid' can be a NA or a character string - #---------------------------------------------------------- - - #--------------------------------------------------------------------------- - # If varid is NA, then return the only var in the file (if there IS only one - # var in the file). If there is more than one var in the file, return the - # one with the most dimensions, IF that highest-dimensionality var has more - # dimensions than any other var in the file. Otherwise, generate an error. - #--------------------------------------------------------------------------- - if( (length(varid)==1) && is.na(varid)) { - if( nc$nvars == 1 ) { - varToUse <- 1 - } - else - { - #------------------------------------------------------------ - # Choose the most complicated var, if there is one, otherwise - # halt with an error - #------------------------------------------------------------ - varToUse <- -1 - ndimsItHas <- -1 - for( ii in 1:nc$nvars ) { - if( nc$var[[ii]]$ndims > ndimsItHas ) { - varToUse <- ii - ndimsItHas <- nc$var[[ii]]$ndims - } - } - for( ii in 1:nc$nvars ) { - if( (ii != varToUse) && (nc$var[[ii]]$ndims == ndimsItHas)) { - stop(paste("File",nc$filename,"has more than one variable, so you must explicitly specify which one you want")) - } - } - } - varid <- nc$var[[varToUse]]$id # remember, an object of class 'ncid4', not a simple int - if( class(varid) != 'ncid4' ) - stop(paste("internal error #B, returned varid is not of class ncid4")) - - if( verbose ) - print(paste("vobjtovarid4: returning with only var in file; id=", - nc$var[[varToUse]]$id$group_id, nc$var[[varToUse]]$id$id)) - return( varid ) # an object of class 'ncid4' - } - - #--------------------------------------------------- - # If we get here, 'varid' must be a character string - #--------------------------------------------------- - if( ! is.character(varid)) - stop("internal error: location #M: varid is not a character string!") - - origvarid <- varid - - #------------------------------------------- - # Make sure var name follows our conventions - #------------------------------------------- - if( substr(varid,1,1) == '/' ) - stop(paste("Error, I was given a name that starts with a slash; fully qualified names NEVER start with a slash (this is required for backwards compatability). Leave off the leading slash!")) - - #-------------------------------------------- - # See if any vars in this file have this name - #-------------------------------------------- - varToUse <- -1 - if( nc$nvars > 0 ) { - for( kk in 1:nc$nvars ) { - if( origvarid == nc$var[[kk]]$name ) # check to see if fully qualified name matches - varToUse <- kk - } - } - - #--------------------------------- - # Found a var with the right name, - # return its ncid object - #--------------------------------- - if( varToUse != -1 ) { - if(verbose) - print(paste("Variable named",origvarid,"found in file with varid=", - nc$var[[varToUse]]$id$group_id, nc$var[[varToUse]]$id$id)) - varid <- nc$var[[varToUse]]$id # remember, an object of class 'ncid4', not a simple int - if( class(varid) != 'ncid4' ) { - print('---- varid:') - print(varid) - stop(paste("internal error #A, returned varid is not of class ncid4")) - } - return( varid ) # an object of class 'ncid4' - } - - #--------------------------------------------------------------- - # A var with this name was NOT found in the file. But, it could - # be the name of a dimvar in the file. Check to see if we are - # allowed to return dimvars in this case. - #--------------------------------------------------------------- - if( ! allowdimvar ) { - print("vobjtovarid4: error #G: I could not find the requested var in the file!") - print(paste("requested var name:",origvarid)) - print(paste("file name:",nc$filename)) - print("Note: I was NOT allowed to check to see if this was a dimvar name") - stop("Variable not found") - } - - if(verbose) - print(paste("Variable named",origvarid,"NOT found in file; looking for a dimvar with this name")) - - #----------------------------------------------- - # Check to see if passed name matches a dim name - #----------------------------------------------- - for( i in 1:nc$ndims ) { - if( origvarid == nc$dim[[i]]$name ) { - #--------------------- - # Yes, it IS a dimvar! - #--------------------- - varid <- nc$dim[[i]]$dimvarid # note: an object of class 'ncid4'. $id will be -1 if there is no dimvar - if( class(varid) != 'ncid4' ) - stop(paste("Internal error #D, returned varid is not a object of class ncid4")) - if( verbose ) - print(paste("vobjtovarid4: returning with DIMvarid deduced from name; varid=", - varid$group_id, varid$id)) - return(varid) # an object of class 'ncid4' - } - } - - #------------------------------------------------------------ - # If we get here, no dimvar with the requested name was found - #------------------------------------------------------------ - print("vobjtovarid4: error #F: I could not find the requsted var (or dimvar) in the file!") - print(paste("var (or dimvar) name:",origvarid)) - print(paste("file name:",nc$filename)) - stop("Variable not found") -} - -.ncvar_id_hier <- function( ncid, varname ) { - - if( mode(ncid) != 'numeric' ) - stop("error, must be passed a numeric first arg: ncid2use") - - if( mode(varname) != 'character' ) - stop("Error, must be passed a character second arg: varname" ) - - rv <- list() - rv$varid <- -1 - rv$groupid <- -1 - rv <- .C("R_nc4_inq_varid_hier", - as.integer(ncid), - as.character(varname), - groupid=as.integer(rv$groupid), - varid=as.integer(rv$varid), - PACKAGE="easyNCDF") - - retval = c( rv$varid, rv$groupid ) - return( retval ) -} - -.default_missval_ncdf4 <- function() -{ - return(1.e30) -} - -.ncvar_get <- function( nc, varid=NA, start=NA, count=NA, verbose=FALSE, signedbyte=TRUE, collapse_degen=TRUE, raw_datavals=FALSE ) { - - if( class(nc) != "ncdf4" ) - stop("first argument (nc) is not of class ncdf4!") - - if( verbose ) print(paste("ncvar_get: entering for read from file", nc$filename)) - - if( (mode(varid) != 'character') && (class(varid) != 'ncvar4') && (class(varid) != 'ncdim4') && (! is.na(varid))) - stop(paste("Error: second argument to ncvar_get must be an object of type ncvar or ncdim", - "(both parts of the ncdf object returned by nc_open()), the character-string name of a variable or dimension", - "or NA to get the default variable from the file. If the file is netcdf version 4", - "format and uses groups, then the fully qualified var name must be given, for", - "example, model1/run5/Temperature")) - - - #---------------------------------------------------- - # If we are running in safemode, must reopen the file - #---------------------------------------------------- - if( nc$safemode ) { - if( verbose ) print(paste("ncvar_get: safemode opening file")) - nc$id = .ncdf4_inner_open( nc ) - } - - idobj = .vobjtovarid4( nc, varid, verbose=verbose, allowdimvar=TRUE ) - - have_start = (length(start)>1) || ((length(start)==1) && (!is.na(start))) - have_count = (length(count)>1) || ((length(count)==1) && (!is.na(count))) - - #----------------------------------------------------------------- - # If we have a start or count, they must not have any NA's in them - #----------------------------------------------------------------- - if( have_start ) { - for( i in 1:length(start)) { - if( is.na(start[i])) - stop(paste("Error, passed a 'start' argument that has NA values:", - paste(start,collapse=' ') )) - } - } - if( have_count ) { - for( i in 1:length(count)) { - if( is.na(count[i])) - stop(paste("Error, passed a 'count' argument that has NA values:", - paste(count,collapse=' ') )) - } - } - - #--------------------------------------------------------------------- - # Special check: if we are trying to get values from a dimvar, but the - # dim does not have a dimvar, then just return 1:length(dim) - #--------------------------------------------------------------------- - if( idobj$isdimvar ) { - if( verbose ) print(paste("ncvar_get: passed object is a dimvar")) - if( idobj$id == -1 ) { # this happens if dim name was passed, but it has no dimvar - #-------------------------------------------------------- - # Here we return default integers for dims with no dimvar - #-------------------------------------------------------- - if( ! have_start ) - start <- 1 - if( ! have_count ) - count <- nc$dim[[idobj$list_index]]$len - if( count == 1 ) - return( start ) - else - return( start:(start+count-1) ) - } - else - { - #----------------------------------------------------------- - # Dimvars do not have list_index set, since dimvars do not - # appear on the global var list. However, dimvars should - # also not have missing values, addOffsets, or scaleFactors, - # so this is easy - #----------------------------------------------------------- - return( .ncvar_get_inner( idobj$group_id, idobj$id, .default_missval_ncdf4(), - start=start, count=count, verbose=verbose, signedbyte=signedbyte )) - } - } - else - { - if( verbose ) print(paste("ncvar_get: passed object is NOT a dimvar")) - } - - #-------------------------------------------- - # Get var's missval, addOffset, and scaleFact - #-------------------------------------------- - if( verbose ) print(paste("ncvar_get: getting add offset and scale fact")) - if( idobj$list_index == -1 ) { - print("internal error: list_index for var is -1!") - print("Here is passed varid:") - print(varid) - } - li = idobj$list_index - if( verbose ) { - print(paste("ncvar_get: netcdf file index of var on list:", li)) - print(paste("ncvar_get: here is var object:")) - print(nc$var[[li]]) - } - if( nc$var[[li]]$hasAddOffset ) - addOffset = nc$var[[li]]$addOffset - else - addOffset = 0; - if( nc$var[[li]]$hasScaleFact ) - scaleFact = nc$var[[li]]$scaleFact - else - scaleFact = 1.0; - - ncid2use = idobj$group_id - varid2use = idobj$id - if( verbose ) print(paste("ncvar_get: ncid2use=", ncid2use, "varid2use=", varid2use, "missval=", nc$var[[li]]$missval )) - - #----------------------------------------------------------- - # If we are in safe mode, must renew our group id and var id - #----------------------------------------------------------- - if( nc$safemode ) { - if(verbose) print(paste('ncvar_get: file is in safe mode, so reopening file', nc$filename)) - nc$id = .ncdf4_inner_open( nc ) - c_varid_gid = .ncvar_id_hier( nc$id, nc$var[[li]]$name ) - varid2use = c_varid_gid[1] - ncid2use = c_varid_gid[2] - if(verbose) print(paste('ncvar_get: safe mode renewed ncid, varid2use:', ncid2use, varid2use )) - } - - rv = .ncvar_get_inner( ncid2use, varid2use, nc$var[[li]]$missval, - addOffset, scaleFact, start=start, count=count, - verbose=verbose, signedbyte=signedbyte, - collapse_degen=collapse_degen, - raw_datavals=raw_datavals ) - - #---------------------------------------------------------------- - # If we are running in safe mode, close the file before returning - #---------------------------------------------------------------- - if( nc$safemode ) { - trv = .C("R_nc4_close", as.integer(nc$id), PACKAGE="easyNCDF") - nc$id = -1 # invalidate this ID since it's not valid any more (duh) - } - - return( rv ) -} diff --git a/cleanup b/cleanup deleted file mode 100755 index 435340c..0000000 --- a/cleanup +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/sh - -rm -f config.* R/load.R src/Makevars -rm -rf autom4te.cache diff --git a/configure b/configure deleted file mode 100755 index 55a4b39..0000000 --- a/configure +++ /dev/null @@ -1,4095 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68. -# -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 - -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" - 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" - 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 : - # 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 - export CONFIG_SHELL - 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+"$@"} -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 about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do 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_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; } - - # 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 -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -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 - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# 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'" - - -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= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= -PACKAGE_URL= - -ac_unique_file="src/Makevars.in" -ac_subst_vars='OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -LTLIBOBJS -LIBOBJS -HAVE_NETCDF -NETCDF_RPATH -NETCDF_CC -NETCDF_VERSION -NETCDF_LIBS -NETCDF_LDFLAGS -NETCDF_CPPFLAGS -HAS_NC_CONFIG -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' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_nc_config -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS' - - -# 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}' -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 - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 - 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 this package 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/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-nc-config=path to nc-config script from netcdf v4 package - -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 - -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 the package provider. -_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 -configure -generated by GNU Autoconf 2.68 - -Copyright (C) 2010 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 -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 $as_me, which was -generated by GNU Autoconf 2.68. 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 - - - -echo "configure.ac: starting" - -: ${R_HOME=`R RHOME`} -if test -z "${R_HOME}"; then - echo "Could not determine R_HOME" - exit 1 -fi - -#--------------------------------------------------------------------------- -# The way R's package installation mechanism works, the C compiler and flags -# are set by R, and not changable at the package level. So this is really -# just for information purposes. Changing these values will NOT result in -# a different compiler being used!! -#--------------------------------------------------------------------------- -CC=`${R_HOME}/bin/R CMD config CC` -CFLAGS=`${R_HOME}/bin/R CMD config CFLAGS` - -# for ncdf4, I've chosen to REQUIRE the netcdf v4 interface - - -# Check whether --with-nc_config was given. -if test "${with_nc_config+set}" = set; then : - withval=$with_nc_config; NC_CONFIG=$withval -fi - -err=0 -if test x$NC_CONFIG = x; then - NC_CONFIG_SHORT=nc-config - NC_CONFIG_FULLQUAL=nc-config - NC_CONFIG_PATH=$PATH -else - echo "user specified nc-config is $NC_CONFIG" - NC_CONFIG_SHORT=`basename $NC_CONFIG` - NC_CONFIG_FULLQUAL=$NC_CONFIG - NC_CONFIG_PATH=`dirname $NC_CONFIG` -fi -# Extract the first word of "$NC_CONFIG_SHORT", so it can be a program name with args. -set dummy $NC_CONFIG_SHORT; 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_HAS_NC_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$HAS_NC_CONFIG"; then - ac_cv_prog_HAS_NC_CONFIG="$HAS_NC_CONFIG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $NC_CONFIG_PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_HAS_NC_CONFIG="yes" - $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 - - test -z "$ac_cv_prog_HAS_NC_CONFIG" && ac_cv_prog_HAS_NC_CONFIG="no" -fi -fi -HAS_NC_CONFIG=$ac_cv_prog_HAS_NC_CONFIG -if test -n "$HAS_NC_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAS_NC_CONFIG" >&5 -$as_echo "$HAS_NC_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test x$HAS_NC_CONFIG = xno; then - echo "-----------------------------------------------------------------------------------" - echo "Error, nc-config not found or not executable. This is a script that comes with the" - echo "netcdf library, version 4.1-beta2 or later, and must be present for configuration" - echo "to succeed." - echo " " - echo "If you installed the netcdf library (and nc-config) in a standard location, nc-config" - echo "should be found automatically. Otherwise, you can specify the full path and name of" - echo "the nc-config script by passing the --with-nc-config=/full/path/nc-config argument" - echo "flag to the configure script. For example:" - echo " " - echo "./configure --with-nc-config=/sw/dist/netcdf4/bin/nc-config" - echo " " - echo "Special note for R users:" - echo "-------------------------" - echo "To pass the configure flag to R, use something like this:" - echo " " - echo "R CMD INSTALL --configure-args=\"--with-nc-config=/home/joe/bin/nc-config\" ncdf4" - echo " " - echo "where you should replace /home/joe/bin etc. with the location where you have" - echo "installed the nc-config script that came with the netcdf 4 distribution." - echo "-----------------------------------------------------------------------------------" - exit -1 -fi -echo "Using nc-config: $NC_CONFIG_FULLQUAL" -echo "Output of nc-config --all:" -$NC_CONFIG_FULLQUAL --all -echo "---" -NETCDF_CC=`$NC_CONFIG_FULLQUAL --cc` -NETCDF_LDFLAGS=`$NC_CONFIG_FULLQUAL --libs` -NETCDF_CPPFLAGS=`$NC_CONFIG_FULLQUAL --cflags` -NETCDF_VERSION=`$NC_CONFIG_FULLQUAL --version` -NETCDF_RPATH=' ' -echo "netcdf.m4: about to set rpath, here is source string: >$NETCDF_LDFLAGS<" -for word in $NETCDF_LDFLAGS; do - v2=`expr "$word" : '-L/'` - if test $v2 -eq 3; then - slibdir=${word:2} - NETCDF_RPATH="$NETCDF_RPATH -Wl,-rpath,$slibdir" - fi -done -echo "netcdf.m4: final rpath: $NETCDF_RPATH" -NETCDF_V4=`$NC_CONFIG_FULLQUAL --has-nc4` - -$as_echo "#define HAVE_NETCDF 1" >>confdefs.h - -if test x$NETCDF_V4 = xyes; then - -$as_echo "#define HAVE_NETCDF4 1" >>confdefs.h - -fi -echo "Netcdf library version: $NETCDF_VERSION" -echo "Netcdf library has version 4 interface present: $NETCDF_V4" -echo "Netcdf library was compiled with C compiler: $NETCDF_CC" - - - - - - - -if test $NETCDF_V4 = "no"; then - echo "-------------------------------------------------------------------" - echo "ncdf4 REQUIRES the netcdf library be version 4 or above," - echo "AND installed with HDF-5 support (i.e., the netcdf library must be" - echo "compiled with the --enable-netcdf-4 flag). If you don't want to install" - echo "the full version of netcdf-4 with HDF-5 support, then please install" - echo "the old, deprecated ncdf package instead." - echo "-------------------------------------------------------------------" - exit -1 -fi - -HAVE_NETCDF=TRUE - -NETCDF_LDFLAGS="$NETCDF_RPATH $NETCDF_LDFLAGS $LDFLAGS" - - - - - - -ac_config_files="$ac_config_files src/Makevars" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - 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=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## 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 - - -# 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 - - -# 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_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# 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 - - -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 - -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 -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# 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 -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 - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# 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'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by $as_me, which was -generated by GNU Autoconf 2.68. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Report bugs to the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.68, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2010 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "src/Makevars") CONFIG_FILES="$CONFIG_FILES src/Makevars" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - 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 - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - - esac - -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -echo " " -echo "********************** Results of ncdf4 package configure *******************" -echo " " -echo "netCDF v4 CPP flags = $NETCDF_CPPFLAGS" -echo "netCDF v4 LD flags = $NETCDF_LDFLAGS" -echo "netCDF v4 runtime path = $NETCDF_RPATH" -echo " " -echo "netCDF C compiler used = $NETCDF_CC" -echo "R C compiler used = $CC $CFLAGS" -echo " " -echo "******************************************************************************" -echo " " - -#--------------------------------------------------------------------- -# Check to see if a different compiler is being used for netcdf and R -#--------------------------------------------------------------------- -set $NETCDF_CC -NETCDF_CC_ARG1=$1 -set $CC -R_CC_ARG1=$1 -TEST_EMIT_WARNING=0 -if test x$NETCDF_CC_ARG1 != x$R_CC_ARG1 -o $TEST_EMIT_WARNING -eq 1; then - - #------------------------------------------------------------------------------ - # By default, we emit a warning if the compilers of R and netcdf are different. - # This happens with some regularity to naive users. - #------------------------------------------------------------------------------ - emit_warning=1 - - #------------------------------------------------------------------------------------------------- - # Skip warning if one is gcc and the other is clang -- seems to bother some overly sensitive folks - #------------------------------------------------------------------------------------------------- - NETCDF_IS_GCC=0 - if echo "$NETCDF_CC_ARG1" | grep -q "gcc"; then - NETCDF_IS_GCC=1 - 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 -if test -n "$ac_tool_prefix"; then - for ac_prog in $NETCDF_CC_ARG1 - 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 $NETCDF_CC_ARG1 -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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 - - -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 -#include -#include -/* 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 - - if test "z$GCC" = zyes; then - NETCDF_IS_GCC=1 - fi - fi - NETCDF_IS_CLANG=0 - if echo "$NETCDF_CC_ARG1" | grep -q "clang"; then - NETCDF_IS_CLANG=1 - fi - - R_IS_GCC=0 - if echo "$R_CC_ARG1" | grep -q "gcc"; then - R_IS_GCC=1 - 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 -if test -n "$ac_tool_prefix"; then - for ac_prog in $R_CC_ARG1 - 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 $R_CC_ARG1 -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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 - - -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 - -{ $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 -#include -#include -/* 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 - - if test "z$GCC" = zyes; then - R_IS_GCC=1 - fi - fi - R_IS_CLANG=0 - if echo "$R_CC_ARG1" | grep -q "clang"; then - R_IS_CLANG=1 - fi - - #------------------------------------------------------------- - # We don't bother emitting the warning if the two compilers in - # use are clang and gcc -- supposedly they are compatible - #------------------------------------------------------------- - if test $NETCDF_IS_CLANG -eq 1 -a $R_IS_GCC -eq 1; then - emit_warning=0 - fi - if test $NETCDF_IS_GCC -eq 1 -a $R_IS_CLANG -eq 1; then - emit_warning=0 - fi - - #----------------------------------------------------- - # Both same, but different exact names of compilers... - # not sure if this actually guarantees success?? - #----------------------------------------------------- - if test $NETCDF_IS_CLANG -eq 1 -a $R_IS_CLANG -eq 1; then - emit_warning=0 - fi - if test $NETCDF_IS_GCC -eq 1 -a $R_IS_GCC -eq 1; then - emit_warning=0 - fi - - echo "netcdf cc arg1: $NETCDF_CC_ARG1 R cc arg1: $R_CC_ARG1 R_IS_GCC: $R_IS_GCC R_IS_CLANG: $R_IS_CLANG NETCDF_IS_GCC: $NETCDF_IS_GCC NETCDF_IS_CLANG: $NETCDF_IS_CLANG emit_warning: $emit_warning" - - if test $emit_warning -eq 1 -o $TEST_EMIT_WARNING -eq 1; then - echo " " - echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" - echo "Dear ncdf4 user: The software configuration tool thinks that perhaps different compilers are being" - echo "used for R and the netcdf library. However, we all know that software configuration tools are" - echo "not that smart. If ncdf4 compiles fine for you, then please ignore this message. However, if" - echo "installation fails, it might be that you are using different compilers for R and the netcdf library." - echo "If so, then you must create a new version of the netcdf library that was compiled with the same" - echo "compiler that was used to install R (see information above). Then, try installing the ncdf4" - echo "package again using that new netcdf library. If necessary, you can specify the location of" - echo "the new nc-config (the one that uses the same compiler used by R) like this:" - echo " " - echo "R CMD INSTALL --configure-args=\"--with-nc-config=/home/joe/bin/nc-config\"" - echo " " - echo "(obviously, put in the correct path to YOUR nc-config, don't just use my example location!)" - echo "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" - echo " " - fi - -fi - diff --git a/src/Makevars.in b/src/Makevars.in deleted file mode 100644 index 9175e8e..0000000 --- a/src/Makevars.in +++ /dev/null @@ -1,6 +0,0 @@ -##PKG_CPPFLAGS=-I/path/to/netcdf/header -##PKG_LIBS=-L/path/to/netcdf/lib -lnetcdf - -PKG_LIBS=@NETCDF_LDFLAGS@ -PKG_CPPFLAGS=@NETCDF_CPPFLAGS@ - diff --git a/src/Makevars.win b/src/Makevars.win deleted file mode 100644 index 15d0204..0000000 --- a/src/Makevars.win +++ /dev/null @@ -1 +0,0 @@ -PKG_LIBS = -lnetcdf4 -L$(LIB_HDF5)/lib${R_ARCH} -lhdf5_hl -lhdf5 -lz diff --git a/src/easyNCDF.c b/src/easyNCDF.c deleted file mode 100644 index b4408b0..0000000 --- a/src/easyNCDF.c +++ /dev/null @@ -1,733 +0,0 @@ -/* The functions in this file are copies of some functions in 'ncdf4' package, - * in order for the bugfix in .ncvar_get_inner in easyNCDF to work. When ncdf4 - * addresses this bug, these function will be removed from this package. - * This code belongs to David Pierce. - */ -#include -#include -#include -#include - -#include -#include - -/* These same values are hard-coded into the R source. Don't change them! - * Note that they are not the same as values defined in the netcdf - * library headers, since I don't want my R code to depend on those - */ -#define R_NC_TYPE_SHORT 1 -#define R_NC_TYPE_INT 2 -#define R_NC_TYPE_FLOAT 3 -#define R_NC_TYPE_DOUBLE 4 -#define R_NC_TYPE_TEXT 5 -#define R_NC_TYPE_BYTE 6 - -/* New types in netcdf version 4 */ -#define R_NC_TYPE_UBYTE 7 -#define R_NC_TYPE_USHORT 8 -#define R_NC_TYPE_UINT 9 -#define R_NC_TYPE_INT64 10 -#define R_NC_TYPE_UINT64 11 -#define R_NC_TYPE_STRING 12 - -int R_nc4_nctype_to_Rtypecode( nc_type nct ); -void R_nc4_varsize( int *ncid, int *varid, int *ndims, int *varsize, int *retval ); -void R_nc4_inq_vartype( int *ncid, int *varid, int *precint, int *retval ); -void R_nc4_inq_varndims( int *ncid, int *varid, int *ndims, int *retval ); -void R_nc4_open( char **filename, int *cmode, int *ncid, int *retval ); -void R_nc4_get_vara_text( int *ncid, int *varid, int *start, int *count, char **tempstore, char **data, int *retval ); -void R_nc4_close ( int *ncid ); -SEXP Rsx_nc4_get_vara_double( SEXP sx_ncid, SEXP sx_varid, SEXP sx_start, SEXP sx_count, SEXP sx_fixmiss, SEXP sx_imvstate, SEXP sx_missval ); -SEXP Rsx_nc4_get_vara_int ( SEXP sx_ncid, SEXP sx_varid, SEXP sx_start, SEXP sx_count, SEXP sx_byte_style ); -SEXP R_nc4_blankstring(SEXP size); -SEXP R_nc4_get_vara_string( SEXP sx_nc, SEXP sx_varid, SEXP sx_start, SEXP sx_count ); -void R_nc4_inq_varid_hier( int *ncid, char **varname, int *returned_grpid, int *returned_varid ); - -// Non-registered -int R_nc4_util_nslashes( char *s, int *idx_first_slash ); -void R_nc4_inq_varid_hier_inner( int *ncid, char *varname, int *returned_grpid, int *returned_varid ); - -/* For C calls that don't use SEXP type args */ -static const -R_CMethodDef cMethods[] = { - {"R_nc4_inq_varid_hier", (DL_FUNC) &R_nc4_inq_varid_hier, 4}, - {"R_nc4_nctype_to_Rtypecode", (DL_FUNC) &R_nc4_nctype_to_Rtypecode, 1}, - {"R_nc4_varsize", (DL_FUNC) &R_nc4_varsize, 5}, - {"R_nc4_inq_vartype", (DL_FUNC) &R_nc4_inq_vartype, 4}, - {"R_nc4_inq_varndims", (DL_FUNC) &R_nc4_inq_varndims, 4}, - {"R_nc4_open", (DL_FUNC) &R_nc4_open, 4}, - {"R_nc4_get_vara_text", (DL_FUNC) &R_nc4_get_vara_text, 7}, - {"R_nc4_close", (DL_FUNC) &R_nc4_close, 1}, - NULL -}; - -/* For C calls that use SEXP type args */ -static const -R_CallMethodDef callMethods[] = { - {"Rsx_nc4_get_vara_double", (DL_FUNC) &Rsx_nc4_get_vara_double, 7}, - {"Rsx_nc4_get_vara_int", (DL_FUNC) &Rsx_nc4_get_vara_int, 5}, - {"R_nc4_blankstring", (DL_FUNC) &R_nc4_blankstring, 1}, - {"R_nc4_get_vara_string", (DL_FUNC) &R_nc4_get_vara_string, 4}, - NULL -}; - -/********************************************************************* - * Register our extnal routines for R -*/ -void R_init_ncdf4( DllInfo *info ) -{ - R_registerRoutines( info, cMethods, callMethods, NULL, NULL ); - R_useDynamicSymbols( info, FALSE ); -} - -/********************************************************************* - * Converts from type "nc_type" to an integer as defined in the beginning - * of this file. We do NOT use the raw nc_type integers because then the - * R code would have a dependency on the arbitrary values in the netcdf - * header files! - */ -int R_nc4_nctype_to_Rtypecode( nc_type nct ) -{ - if( nct == NC_CHAR ) - return(R_NC_TYPE_TEXT); - else if( nct == NC_SHORT ) - return(R_NC_TYPE_SHORT); - else if( nct == NC_INT ) - return(R_NC_TYPE_INT); - else if( nct == NC_FLOAT ) - return(R_NC_TYPE_FLOAT); - else if( nct == NC_DOUBLE ) - return(R_NC_TYPE_DOUBLE); - else if( nct == NC_BYTE ) - return(R_NC_TYPE_BYTE); - - else if( nct == NC_UBYTE ) - return(R_NC_TYPE_UBYTE); - else if( nct == NC_USHORT ) - return(R_NC_TYPE_USHORT); - else if( nct == NC_UINT ) - return(R_NC_TYPE_UINT); - else if( nct == NC_INT64 ) - return(R_NC_TYPE_INT64); - else if( nct == NC_UINT64 ) - return(R_NC_TYPE_UINT64); - else if( nct == NC_STRING ) - return(R_NC_TYPE_STRING); - else - return(-1); -} - -/*********************************************************************/ -/* Returns a vector of dim sizes for the variable. - * 'retval' is 0 for no error, or -1 for an error. - */ -void R_nc4_varsize( int *ncid, int *varid, int *ndims, int *varsize, int *retval ) -{ - int i, err, dimid[NC_MAX_DIMS]; - size_t dimlen; - - *retval = 0; - - /* Get ndims */ - err = nc_inq_varndims( *ncid, *varid, ndims ); - if( err != NC_NOERR ) { - Rprintf( "Error in R_nc4_varsize on nc_inq_varndims call: %s\n", - nc_strerror(err) ); - *retval = -1; - return; - } - - /* Get dimids */ - err = nc_inq_vardimid( *ncid, *varid, dimid ); - if( err != NC_NOERR ) { - Rprintf( "Error in R_nc4_varsize on nc_inq_vardimid call: %s\n", - nc_strerror(err) ); - *retval = -1; - return; - } - - /* Get size of each dim */ - for( i=0; i<(*ndims); i++ ) { - err = nc_inq_dimlen( *ncid, dimid[i], &dimlen ); - if( err != NC_NOERR ) { - Rprintf( "Error in R_nc4_varsize on nc_inq_dimlen call: %s\n", - nc_strerror(err) ); - *retval = -1; - return; - } - varsize[i] = (int)dimlen; - } -} - -/*********************************************************************/ -void R_nc4_inq_vartype( int *ncid, int *varid, int *precint, int *retval ) -{ - nc_type nct; - - *retval = nc_inq_vartype( *ncid, *varid, &nct ); - - if( *retval != NC_NOERR ) - Rprintf( "Error in R_nc4_inq_var: %s\n", - nc_strerror(*retval) ); - - *precint = R_nc4_nctype_to_Rtypecode(nct); -} - -/*********************************************************************/ -void R_nc4_inq_varndims( int *ncid, int *varid, int *ndims, int *retval ) -{ - *retval = nc_inq_varndims(*ncid, *varid, ndims ); - if( *retval != NC_NOERR ) - Rprintf( "Error in R_nc4_inq_varndims: %s\n", - nc_strerror(*retval) ); -} - -/*********************************************************************/ -/* Inputs: - * sx_fixmiss : is 1 if we want to fix the missing values in this - * routine, and 0 otherwise - * sx_imvstate : 0=var has no missing value; 1=var has a NA for - * the missing value; 2=var has a valid, non-NA missing value - * - * Returns a list with elements: - * $error : 0 for success, -1 for error - * $data : array of integer values read in from the netcdf file - */ -SEXP Rsx_nc4_get_vara_double( SEXP sx_ncid, SEXP sx_varid, SEXP sx_start, SEXP sx_count, - SEXP sx_fixmiss, SEXP sx_imvstate, SEXP sx_missval ) -{ - SEXP sx_retval, sx_retnames, sx_reterr, sx_retdata; - int ncid, varid, i, err, ndims, fixmiss, imvstate, scalar_var; - double *p_data, missval, mvtol; - size_t s_start[MAX_NC_DIMS], s_count[MAX_NC_DIMS], tot_size; - char vn[2048]; - - /* Make space for our returned list, which will have - * two elements, named $error and $data - */ - PROTECT( sx_retval = allocVector( VECSXP, 2 )); /* 2 elements in returned list */ - - /* Set names for the returned list */ - PROTECT( sx_retnames = allocVector( STRSXP, 2 )); - SET_STRING_ELT( sx_retnames, 0, mkChar("error") ); - SET_STRING_ELT( sx_retnames, 1, mkChar("data" ) ); - setAttrib( sx_retval, R_NamesSymbol, sx_retnames ); - UNPROTECT(1); /* done with sx_retnames */ - - /* Set provisional 'no error' retval */ - PROTECT(sx_reterr = allocVector( INTSXP, 1 )); - INTEGER(sx_reterr)[0] = 0; - - ncid = INTEGER(sx_ncid )[0]; - varid = INTEGER(sx_varid )[0]; - fixmiss = INTEGER(sx_fixmiss )[0]; - imvstate = INTEGER(sx_imvstate)[0]; - missval = REAL (sx_missval )[0]; - - /* Get number of dimensions in this variable */ - err = nc_inq_varndims( ncid, varid, &ndims ); - if( err != NC_NOERR ) { - Rprintf( "Error in R_nc4_get_vara_double while getting ndims: %s\n", - nc_strerror(err) ); - INTEGER(sx_reterr)[0] = -1; - SET_VECTOR_ELT( sx_retval, 0, sx_reterr ); - UNPROTECT(2); - return( sx_retval ); - } - - /* Sanity check -- number of start and count elements must - match number of dims in the var - */ - scalar_var = ((ndims==0) && (GET_LENGTH(sx_start)==1) && (INTEGER(sx_start)[0]==0) && (INTEGER(sx_count)[0]==1)); - if( (!scalar_var) && (ndims != GET_LENGTH(sx_start))) { - Rprintf( "Error in R_nc4_get_vara_double: I think var has %d dimensions, but passed start array is length %d. They must be the same!\n", - ndims, GET_LENGTH(sx_start) ); - INTEGER(sx_reterr)[0] = -1; - SET_VECTOR_ELT( sx_retval, 0, sx_reterr ); - UNPROTECT(2); - return( sx_retval ); - } - - if( (!scalar_var) && (ndims != GET_LENGTH(sx_count))) { - Rprintf( "Error in R_nc4_get_vara_double: I think var has %d dimensions, but passed count array is length %d. They must be the same!\n", - ndims, GET_LENGTH(sx_count) ); - INTEGER(sx_reterr)[0] = -1; - SET_VECTOR_ELT( sx_retval, 0, sx_reterr ); - UNPROTECT(2); - return( sx_retval ); - } - - /* Get total number of elements we will be reading so we can - * allocate R space - */ - tot_size = 1L; - for( i=0; i= 0"); - - str = R_alloc(len + 1, sizeof(char)); - for (i = 0; i < len; ++i) - str[i] = ' '; - str[len] = '\0'; - - blank = PROTECT(NEW_CHARACTER(1)); - string = PROTECT(mkChar(str)); - SET_STRING_ELT(blank, 0, string); - UNPROTECT(2); - - return(blank); -} - -/********************************************************************************* - * Read vlen strings given the numeric varid, start, and count to use - */ -SEXP R_nc4_get_vara_string( SEXP sx_nc, SEXP sx_varid, SEXP sx_start, SEXP sx_count ) -{ - SEXP sx_retval, sx_retnames, sx_retstrings, sx_reterror; - int i, ierr, nchar, varid, ncid, ndims, count_int[MAX_NC_DIMS], start_int[MAX_NC_DIMS], len_count, len_start; - size_t count[MAX_NC_DIMS], start[MAX_NC_DIMS], tot_count, isz; - char **ss; - - /* Convert passed parameters (which are in R format) into C format */ - ncid = INTEGER(sx_nc )[0]; - varid = INTEGER(sx_varid)[0]; - - len_start = length(sx_start); - for( i=0; i%s<\n", varname ); */ - - /* Passed var name must not start with a slash */ - if( varname[0] == '/' ) { - Rprintf( "Error in R_nc4_varid_hier: passed varname must not start with a slash!\n" ); - *returned_varid = -1; - *returned_grpid = -1; - return; - } - - /* If there are no forward slashes in the name, then it is a simple var name */ - nslashes = R_nc4_util_nslashes( varname, &idx_first_slash ); -/* Rprintf("R_nc4_inq_varid_hier_inner: varname >%s< has nslashes=%d and idx first slash=%d\n", varname, nslashes, idx_first_slash ); */ - if( nslashes == 0 ) { - *returned_grpid = *ncid; - ierr = nc_inq_varid(*ncid, varname, returned_varid ); - if( ierr != NC_NOERR ) { - *returned_varid = -1; - *returned_grpid = -1; - } -/* Rprintf("R_nc4_inq_varid_hier_inner: Found id for var >%s< varid:%d gid:%d\n", varname, *returned_varid, *returned_grpid ); */ - return; - } - - /* If we get here then the varname must have at least one slash, which indicates - * a group name under the current group name. Get the ID of that group - */ - strncpy( gname, varname, idx_first_slash ); - gname[ idx_first_slash ] = '\0'; - ierr = nc_inq_grp_ncid( *ncid, gname, &gid ); - if( ierr != NC_NOERR ) { - Rprintf( "Error in R_nc4_varid_hier: extracted groupname not found: >%s< (coding error?)\n", gname ); - *returned_varid = -1; - *returned_grpid = -1; - return; - } - - /* Call ourselves recursively with the subgroup id and the varname stripped - * of its leading group name - */ -/* Rprintf("R_nc4_inq_varid_hier_inner: calling myself recursively with varname=>%s<\n", varname+idx_first_slash+1 ); */ - R_nc4_inq_varid_hier_inner( &gid, varname+idx_first_slash+1, returned_grpid, returned_varid ); -} - -/****************************************************************************************/ -/* This version of inq_varid works with hierarchial var names such as "model1/TS" and - * returns both the group ID and the var ID in that group, given the root group id - * (netcdf file ID). - * - * If the passed var is not found in the file, then -1 is returned. - * - * The passed slash-ful varname must not start or end with a slash. - */ -void R_nc4_inq_varid_hier( int *ncid, char **varname, int *returned_grpid, int *returned_varid ) -{ -/* Rprintf("R_nc4_inq_varid_hier: entering for var >%s<\n", varname[0] ); */ - R_nc4_inq_varid_hier_inner( ncid, varname[0], returned_grpid, returned_varid ); -} -- GitLab From 3966b6b1c29195e88aab17da20219d2b3c9f028c Mon Sep 17 00:00:00 2001 From: Nicolau Manubens Date: Wed, 17 May 2017 19:07:28 +0200 Subject: [PATCH 2/2] Bumped version to 0.0.4. --- DESCRIPTION | 2 +- R/NcToArray.R | 2 +- easyNCDF-manual.pdf | Bin 108593 -> 108580 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 4b23a42..17ef49c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: easyNCDF Title: Tools to Easily Read/Write NetCDF Files into/from Multidimensional R Arrays -Version: 0.0.3 +Version: 0.0.4 Authors@R: c( person("BSC-CNS", role = c("aut", "cph")), person("Nicolau", "Manubens", , "nicolau.manubens@bsc.es", role = c("aut", "cre"))) diff --git a/R/NcToArray.R b/R/NcToArray.R index 5c7a91a..fc4b438 100644 --- a/R/NcToArray.R +++ b/R/NcToArray.R @@ -206,7 +206,7 @@ NcToArray <- function(file_to_read, dim_indices = NULL, vars_to_read = NULL, ## original_ncvar_get_inner <- ncdf4:::ncvar_get_inner ## assignInNamespace('ncvar_get_inner', .ncvar_get_inner, 'ncdf4') } - var_result <- do.call('[', c(list(.ncvar_get(file_object, var_name, start, count, collapse_degen = FALSE)), + var_result <- do.call('[', c(list(ncvar_get(file_object, var_name, start, count, collapse_degen = FALSE)), lapply(indices_to_take, function(x) if (is_single_na(x)) TRUE else x - min(x) + 1), list(drop = FALSE))) ### Support for character strings ##if ((file_object[['var']][[var_name]][['prec']] == 'char') && diff --git a/easyNCDF-manual.pdf b/easyNCDF-manual.pdf index 996f034aea01eb3d1c3923e7a71544db2efea811..4234fef492cd27f25c4947c8cbcad7eedc47cdbf 100644 GIT binary patch delta 3334 zcmV+h4f*o1&<3Q?29P8HFq6SRDu3-*TW{h<6n@XI@LNGzhPnE(YFFLBX0;WeE1>N| z8mWUBV6-;&`qC`@^*#2CDK3dar1YsMA~Uw<+`e<>n`2{V<6!6G6@Fs8UR(`tnCDQ8 zT$c)Gv34k-NMPo;)J2R1&SK@<^*;9r?#b|r+^GJ53f%ic$$UQ@jc>l|-+wQD0v*0X z2nvLtl@1pp#;G%4aI4Z zMW6URT}0~NqW+O6<;bHRJh37^?j=c-8@okf#t$;rk#%aOx%IyfI)82(WEmBDrDL_rb+VI@Rc?m&Stj>+XT;!lfIZOZBbOMJ zzXJ5Qr?N_6SIEpmBp^-57-7UaP1*IeDQwd`R(Y7|w0Opp;D|D}F*R3(i7#23@gb9G z3J#mAb&^@ww-(#qG4poeYR#*Oxs@K*R+FDx$7!V3HbZi^G85G&qJQ_TP|dY2tfdTc zsCS#;1Edi~b2F5wTHjfjgwry4BOl@TWLUvZB*GgUuGO#(bS9yI}!H0KK!QjO=m16CDD6 z>Y38T{-JayA3sk9?0>o1tpva+;00#Hewj^LG8k3+A3GUb+Ucy)#K|#FxCoO&tlOeU z^S8sHl3B4u%REFXA8vqaATSYUGf9=Pzkex;ABJLkJp~ynfhAltm1eD z`>wlE1A#F9r&3h`wQ4GLrTSF#{;ZfnMM+v|G7loX%w(ojHw|0GEfA(kt@2S4r#h0) z5v0$M@D5Y=Jtvwv9mCI~;P?^U+{5otrT4WLelv8>ZX)H-`NP z21{-7o9Zx$WPfRv-pXCMgw1-YBUATh6I}z?tpqxSpXv-kFhtm4??3KN-C?x0fafDj z4*-9^Gh!&V5S&|6ydnF-uN!mW+w^?et<*Ow{ip?w3G)1=-zDrR zOMdGkUEm{DeWc^i$#dK7ww?U2xcVECesYSlp9C^10W*_87ASwsSZz-uHxT~5zrr8y zzIbhq$1fE+i38D|)Y22ssx9I}2-_n%E0KLX44{e0yP+)z)Lh#`nl@~Hl;=wIJ zG+5i5fzQer@)d)E0UZ{aVCX^12H3~K8JeSV#H>KaQHEaF038v_d}7#bCem#4^Czv zFThC_SmA$Zkv%@b`5AwRStcMi8(V<|8z`}WvhkuB(J+!~$S$@dGl-j&6oiM_!EHzd zyucutAjv`~Wr86RTZV0wMYgeLaIrE2Pe|S}!vz7@Xe6PaAWG&qD2Q;1g|9dvy)0tQ zNumiU*-74GQ4X=%+f((as(&1vjZ}T8-kkhB)cb$qaqs?YbllhWt$O#adh>1K?MnP{ z|KMiSHZ%0Y=Q`}Kx6N=4m9KTklcsldIQY`e(X*N7R{Y)@ANRgAORHwH>sFqPrbf;e zJxr{|pWa=z&144dzMdin!>i`2HXZ1Ld_2LNqgWVqqUxi;kt{bQud^dE&FRDkRr_!tX{b+pEjHi6eMg3F# zp+3L|lJ`Ok=ugx+vR6xjV|Qx8{>FCIj%0sN8XZ#r4qlx=X8rSE__^NS+nZ{r_xqE< zXjq@tzny%L=gswGa@+n;*G+Fcxz?9$UpH<2X)w9zUDkMOdhPx3!QoN;&*1Z*t*=L4 znzvxQA!&whrMi0^yc80rom3XfnjP()^Pp|-kg{v|J}6UDZL8_q>Bo#do1iWDqBDPJ z6h{;zZBSLw88pQR*uGj$;aeo3cGC>rEd^(FMz{IK0cnt&UC$xB0tb_{?}~EA!3Lc( zujdeV&%tJ|lN9h72SeIZ`foWTtI5n`VYAVepNU0!1r8zVAZ=^LAqLIauji0=$-!zl z2eQ}FFJ}w_MtWvfSi5@)E^AH;k)VI1IXpvw7AY)rlRy6a3r7=8Xb~|Yqf%7EyPKPf zHBg+JI;?k^ah}~Z*2O%H?j!6GI@{E&Ba%J%&<4?m*gd>^IRwq#aq8(LV|o2?JnEk| za2(p?;gPD(ny-`PR~SYIX=w?S=i zH7UYU)bQ$>5G{sfF86us&s-xy&{k@X!v6pp>F^sSt}U zkyHNPRA_6SrxtW0b-lVzz#K>0>1{>2OUdUfO2w$&afPGiu}^ry!vRi zn8ceVu6uGFvd(XrxUT$0^a%Ui#9ajr+2~bOaV1s?xi7;K8aaD@4Y0>;eqpEm3m}3w z9SUV`WOH0s3GgY=X^Dfi18Vs;~{V!$3y#_yKo7KkVfAX_$di?CoMY z17}(8hDn%%Yw(Cqc^K_u$xW8QjP`dNFJCvrG|RLXhQSw)KrN&Dr|;ze9E3w~7>>X= zjArzG_jO}Xhoc#ls`n;<8!yK)s!i`rf58bj34Wr}z!Mc7wK&GvjQ-#LhM)30T!4A- zKkg`;k;5Ztk$HItjf|nUKHxgsfSYg&Zo?h82lwFt2e?hmjM}ij`xu_UQ+Ni?xz7J& zX1;ECqD^YcsQ>bk{)yI!)`@PYGh^nBKc!)!S8}ghBnqP5jQRg3(;?9z(IL?xf6*M# z9MK%n9MK%n7tt5FFD}Rc3<3p_8xl9Lz3m|j zFj}T#qLQUbR8#NQ??|LvYfcmg$ev~d0V$d1_MO9zhr-UigPo6O_=)j+em1&ffkQF! zeafBr%AtfJj+x_AA8|&V`O>)^+_(e}MEqIYOLs^)9{eRmxt&~$FMn|F=D&h}j?f_l zMV!-GhmR5Ss54|3UIj+Qwb&X_61*`Jib+sQ@4RVTiBJTlYb`?(P~=4sOd^B>&*+)E zBpfK6$bXB5d!p1s0S(|6D-z;CmL;XJt1~lx5T#12Q&TCHqdy9zZG01{AviO?REe~r zYNNB!s>ssXxPuW1!MP@G8)TJ#Xth+S+>|QYh{P&4!~3ET+p;%e@H@f*=nN61%;@|b zu*U;g)EfI@W&t7*X=BC+a?oqbt~a)9p2xC`3zh3}vB zd0J(K#eHqT{S&ib6E9a@Ju$EH{o-m9RH`&j)XJtvY?fvsUBU<7v}~V$m9~}&NTS-@ zj~*b8Fq)UK$i+e>!zN=x8X-obZqi`!VSby(v@e~aNhf-7KF2Z#*ULV9J%Tv#T70K1 zY8=1&$!;A)JVf9P={0ZlbW;3FnrDUXHP0eMBi5R4GG(_cAPK1VR+W+MM0}-UKu|tY zyg1wy@72eftKqZNTMN{G2z!x{`fYmE5y7Zt0PGa-Xs6R!kw^BK!bh0wVqI&Umv2WS zDGI$ti!w&C9Nh!kh{XtIE$NLO)Mr(W)>+yO>d7)NM)sXOukNSvFcU}l%sGl)>ai-z zN|r}?+o)~t`baK{O{sAPX>n&q83nQcog)2aM_QmLY5c?lb@zfvQP zF#cYtQbVnpN?l5q^1;`dDrA!7wI=gJq85cHl<5)7ug{5Mf? zmWawMy%w8l0lW2oP)8xH4%`(V3zy=-S7q7wM#&&25!@ul}oHIn& zjxipOp=nJzTPFw+rn|iSxG`cVwGuy@4fM`RQU_?3c|JAm2qTEp-~q=)Ej63&C)i&| z7>Yc;+X-2&VhiUoi>ta4RfjxmTF~}$!DcDH zS=mSRdzhdgY`a~;p0X2mzU)OIV)d6jk045H9dup%FhBbT1*(7jvycQbD*-fb|ezrVtdyDz@BXT~2DT8RbGuGG>M(5fxsAq%&=(Xt6jg1Y?so=Jd&knEZe zs!CjZuQ~RdIWr#Hc;k#1iY6M)rkEUzcc$Ps86U)W#v7i5A8&ld51Zgk2-1XL0^<=A zQZ^x)P#hjZfeblA6!2hfyfT_>NDMoFr`9BUL&>BV8iHB8Qi0)E0DxWR4Z|8?I1G4> zY#4l`fTfZN$uPKODazWH0(>#S5jO$~4s=9mf+2&JkMK{FGb|?)NW_3npaM?t0X7nb zagGK~1_Ak`ekE>TIYhXf(58TXOqYEz3De|=aap~_IG8W6omGLtCaDB)3wn}&2VJN} zA;d=g4sa8uh#37~z~Gn>1kS}kL6Vpt5M%;vM1qooJv2g43T;US7AUiC3WjBjg)meg zeNiF79geZ{m{tWv06b)855B5ch|tnO8gd9Lq$AO&Lu-s}yo1;(iFXK>YJ#{xZbCqu z>YlU*^T(h)m@h&k53KU^$R19A5WnCLsb~l0EzUP!Ar3}7pyF69BN|Rq4cR50vxRKM0CkGkH)e*epOj=t;p)`;JGqr={pZfVqA z@4AsE!>N<=LAM>N@yFL6#@*x&Jo|c#><=!wuhz{#@ATsl<`l)knIqF4^e1PE+u3Q_ zlbfr~wC{T#yQbY64kq1yU@}IUDX?jey7BOObl#11%};xN=`Q-cx5KaI)M=S3Vgr&F z>&E7C)?l6yCNOe~-W?2vnC?{TlUk-UYx1lq(}vxw@v|n(8k#jcYi7jHng^t(vp4PA z;pn0pP5HR9_NVq;yN3@X@0mJqJ~5}rUaJYt#FkM8uv~4R>6)~EnUyzGonX%P=lB`k(vb_S5i7_Zo~hBrVWZt9!91$V|ZoEiA!Vk{6)dACIq*v1{nw8Z%RCtJ(YM z#~pid(R%O=_2uQ+8Ys?9Gb{%yIL~ey8H`)A}0_RqPav0m%AO244hrfeM> zvsgwlRbjDz%m~Y_2J0nZUS1o+#klFrt74c;EO&9fkNJl2OtKu$M9+$6;_7%VLg(v& zt>AD_gN=&ix_PA}>u@!x!csyhUl*dquq=jaarw=|wP9E?Er%uhXN4t)y0APY6*u+m z(Gfh$^L&d>^=(}YpY2=mk9;f7@~yb)<+KQ0Tp~$-^477q{n|)WhlP)!NEMcIu|?{9 zW6IdqtDuC#Sjd%F>=GrH|4oJV?om#aC*_o$3?C+y{)4ABs~%wIJ1J5n(hGoNO16|z z3C7hiS57QQff#)y7^gD5S5<)-TMGrQ1ml)iIj>&kQmqtE0{iT(BiXzTv zf9`pIIqs=G#}~2RJBh3WM_7jQ zIfqIyyhNLmJhe8jKAJ5i@urCz9$klg;AbXosJ{_Czr_FI5ILd zG`Fdh0l*JXK{P@+K{PN%FflncIXN>kIYBrwHA6W6Hdu?|g49GUn6CeF+H*W}AS zr*7T4r`Ea=5zP`&B4g}*Fdb;222(_OQGo$!dg8%&#E zGpw?AooNefWm$o1e=M2GHkPAsm1P%n!*=L_9k3I2K^1nx9_WQW*b9Rh(d7f~gMQf0 z?JvSCoMUf*=>lA0ISkV<54YhtpK=%-X30aAp^Ww~++MzJglUfHARGc;JO;Il%3nXr z5jYCR;5eLsNf^)Q`R(f_pbjT9s-xbU0v^1a%IJOLy%{(Ie`mobIuD$vaMa=$=Q8@6 z{)SI^1r}ft{Es^dXXNlmT4Y|HK_g@2vu|(*?!rB|4-eoWJccLmlpDBB%Ne!0zxx7K z;3d3**Ieg+GBej#Jkch#Wz_$9N&iIaMC(L1)R{5+(Vx;V(JQ%EE)oS%cgEtnFQG%C zL!v{XL!vpNe>tK#qB){DqA#K^a$j7KK^OuGBFF6)hqy)DszEhl>5qSsJVX@Y&lVYp z^hNq2eUZLMU$jKyFp<%y_y&_1Yrj0TD)8xtr>TsuKRwkmz72S4m7!VnG@UvB-P26w z+B;8vlSx`6E&41H6bXt1MS>zhk)Ztk5~GMwj*$vz85#U85Tl4u#3*9aYUbOH$o$Y3 Z{{emwb5@u8rvV=dI508_B_%~qMhc{*LGAzm -- GitLab