configure 1.7 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185601866018760188601896019060191601926019360194601956019660197601986019960200602016020260203602046020560206602076020860209602106021160212602136021460215602166021760218602196022060221602226022360224602256022660227602286022960230602316023260233602346023560236602376023860239602406024160242602436024460245602466024760248602496025060251602526025360254602556025660257602586025960260602616026260263602646026560266602676026860269602706027160272602736027460275602766027760278602796028060281602826028360284602856028660287602886028960290602916029260293602946029560296602976029860299603006030160302603036030460305603066030760308603096031060311603126031360314603156031660317603186031960320603216032260323603246032560326603276032860329603306033160332603336033460335603366033760338603396034060341603426034360344603456034660347603486034960350603516035260353603546035560356603576035860359603606036160362603636036460365603666036760368603696037060371603726037360374603756037660377603786037960380603816038260383603846038560386603876038860389603906039160392603936039460395603966039760398603996040060401604026040360404604056040660407604086040960410604116041260413604146041560416604176041860419604206042160422604236042460425604266042760428604296043060431604326043360434604356043660437604386043960440604416044260443604446044560446604476044860449604506045160452604536045460455604566045760458604596046060461604626046360464604656046660467604686046960470604716047260473604746047560476604776047860479
  1. #! /bin/sh
  2. # Guess values for system-dependent variables and create Makefiles.
  3. # Generated by GNU Autoconf 2.69 for libmesh 1.7.0-pre.
  4. #
  5. # Report bugs to <libmesh-users@lists.sourceforge.net>.
  6. #
  7. #
  8. # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
  9. #
  10. #
  11. # This configure script is free software; the Free Software Foundation
  12. # gives unlimited permission to copy, distribute and modify it.
  13. ## -------------------- ##
  14. ## M4sh Initialization. ##
  15. ## -------------------- ##
  16. # Be more Bourne compatible
  17. DUALCASE=1; export DUALCASE # for MKS sh
  18. if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  19. emulate sh
  20. NULLCMD=:
  21. # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  22. # is contrary to our usage. Disable this feature.
  23. alias -g '${1+"$@"}'='"$@"'
  24. setopt NO_GLOB_SUBST
  25. else
  26. case `(set -o) 2>/dev/null` in #(
  27. *posix*) :
  28. set -o posix ;; #(
  29. *) :
  30. ;;
  31. esac
  32. fi
  33. as_nl='
  34. '
  35. export as_nl
  36. # Printing a long string crashes Solaris 7 /usr/bin/printf.
  37. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
  38. as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
  39. as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
  40. # Prefer a ksh shell builtin over an external printf program on Solaris,
  41. # but without wasting forks for bash or zsh.
  42. if test -z "$BASH_VERSION$ZSH_VERSION" \
  43. && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  44. as_echo='print -r --'
  45. as_echo_n='print -rn --'
  46. elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  47. as_echo='printf %s\n'
  48. as_echo_n='printf %s'
  49. else
  50. if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
  51. as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
  52. as_echo_n='/usr/ucb/echo -n'
  53. else
  54. as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
  55. as_echo_n_body='eval
  56. arg=$1;
  57. case $arg in #(
  58. *"$as_nl"*)
  59. expr "X$arg" : "X\\(.*\\)$as_nl";
  60. arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
  61. esac;
  62. expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
  63. '
  64. export as_echo_n_body
  65. as_echo_n='sh -c $as_echo_n_body as_echo'
  66. fi
  67. export as_echo_body
  68. as_echo='sh -c $as_echo_body as_echo'
  69. fi
  70. # The user is always right.
  71. if test "${PATH_SEPARATOR+set}" != set; then
  72. PATH_SEPARATOR=:
  73. (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
  74. (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
  75. PATH_SEPARATOR=';'
  76. }
  77. fi
  78. # IFS
  79. # We need space, tab and new line, in precisely that order. Quoting is
  80. # there to prevent editors from complaining about space-tab.
  81. # (If _AS_PATH_WALK were called with IFS unset, it would disable word
  82. # splitting by setting IFS to empty value.)
  83. IFS=" "" $as_nl"
  84. # Find who we are. Look in the path if we contain no directory separator.
  85. as_myself=
  86. case $0 in #((
  87. *[\\/]* ) as_myself=$0 ;;
  88. *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  89. for as_dir in $PATH
  90. do
  91. IFS=$as_save_IFS
  92. test -z "$as_dir" && as_dir=.
  93. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  94. done
  95. IFS=$as_save_IFS
  96. ;;
  97. esac
  98. # We did not find ourselves, most probably we were run as `sh COMMAND'
  99. # in which case we are not to be found in the path.
  100. if test "x$as_myself" = x; then
  101. as_myself=$0
  102. fi
  103. if test ! -f "$as_myself"; then
  104. $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  105. exit 1
  106. fi
  107. # Unset variables that we do not need and which cause bugs (e.g. in
  108. # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
  109. # suppresses any "Segmentation fault" message there. '((' could
  110. # trigger a bug in pdksh 5.2.14.
  111. for as_var in BASH_ENV ENV MAIL MAILPATH
  112. do eval test x\${$as_var+set} = xset \
  113. && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
  114. done
  115. PS1='$ '
  116. PS2='> '
  117. PS4='+ '
  118. # NLS nuisances.
  119. LC_ALL=C
  120. export LC_ALL
  121. LANGUAGE=C
  122. export LANGUAGE
  123. # CDPATH.
  124. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
  125. # Use a proper internal environment variable to ensure we don't fall
  126. # into an infinite loop, continuously re-executing ourselves.
  127. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
  128. _as_can_reexec=no; export _as_can_reexec;
  129. # We cannot yet assume a decent shell, so we have to provide a
  130. # neutralization value for shells without unset; and this also
  131. # works around shells that cannot unset nonexistent variables.
  132. # Preserve -v and -x to the replacement shell.
  133. BASH_ENV=/dev/null
  134. ENV=/dev/null
  135. (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  136. case $- in # ((((
  137. *v*x* | *x*v* ) as_opts=-vx ;;
  138. *v* ) as_opts=-v ;;
  139. *x* ) as_opts=-x ;;
  140. * ) as_opts= ;;
  141. esac
  142. exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
  143. # Admittedly, this is quite paranoid, since all the known shells bail
  144. # out after a failed `exec'.
  145. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
  146. as_fn_exit 255
  147. fi
  148. # We don't want this to propagate to other subprocesses.
  149. { _as_can_reexec=; unset _as_can_reexec;}
  150. if test "x$CONFIG_SHELL" = x; then
  151. as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  152. emulate sh
  153. NULLCMD=:
  154. # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  155. # is contrary to our usage. Disable this feature.
  156. alias -g '\${1+\"\$@\"}'='\"\$@\"'
  157. setopt NO_GLOB_SUBST
  158. else
  159. case \`(set -o) 2>/dev/null\` in #(
  160. *posix*) :
  161. set -o posix ;; #(
  162. *) :
  163. ;;
  164. esac
  165. fi
  166. "
  167. as_required="as_fn_return () { (exit \$1); }
  168. as_fn_success () { as_fn_return 0; }
  169. as_fn_failure () { as_fn_return 1; }
  170. as_fn_ret_success () { return 0; }
  171. as_fn_ret_failure () { return 1; }
  172. exitcode=0
  173. as_fn_success || { exitcode=1; echo as_fn_success failed.; }
  174. as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
  175. as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
  176. as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
  177. if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
  178. else
  179. exitcode=1; echo positional parameters were not saved.
  180. fi
  181. test x\$exitcode = x0 || exit 1
  182. test -x / || exit 1"
  183. as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  184. as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  185. eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  186. test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
  187. test \$(( 1 + 1 )) = 2 || exit 1
  188. test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
  189. ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
  190. ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
  191. ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
  192. PATH=/empty FPATH=/empty; export PATH FPATH
  193. test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
  194. || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
  195. if (eval "$as_required") 2>/dev/null; then :
  196. as_have_required=yes
  197. else
  198. as_have_required=no
  199. fi
  200. if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
  201. else
  202. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  203. as_found=false
  204. for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
  205. do
  206. IFS=$as_save_IFS
  207. test -z "$as_dir" && as_dir=.
  208. as_found=:
  209. case $as_dir in #(
  210. /*)
  211. for as_base in sh bash ksh sh5; do
  212. # Try only shells that exist, to save several forks.
  213. as_shell=$as_dir/$as_base
  214. if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
  215. { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  216. CONFIG_SHELL=$as_shell as_have_required=yes
  217. if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  218. break 2
  219. fi
  220. fi
  221. done;;
  222. esac
  223. as_found=false
  224. done
  225. $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
  226. { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  227. CONFIG_SHELL=$SHELL as_have_required=yes
  228. fi; }
  229. IFS=$as_save_IFS
  230. if test "x$CONFIG_SHELL" != x; then :
  231. export CONFIG_SHELL
  232. # We cannot yet assume a decent shell, so we have to provide a
  233. # neutralization value for shells without unset; and this also
  234. # works around shells that cannot unset nonexistent variables.
  235. # Preserve -v and -x to the replacement shell.
  236. BASH_ENV=/dev/null
  237. ENV=/dev/null
  238. (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  239. case $- in # ((((
  240. *v*x* | *x*v* ) as_opts=-vx ;;
  241. *v* ) as_opts=-v ;;
  242. *x* ) as_opts=-x ;;
  243. * ) as_opts= ;;
  244. esac
  245. exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
  246. # Admittedly, this is quite paranoid, since all the known shells bail
  247. # out after a failed `exec'.
  248. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
  249. exit 255
  250. fi
  251. if test x$as_have_required = xno; then :
  252. $as_echo "$0: This script requires a shell more modern than all"
  253. $as_echo "$0: the shells that I found on your system."
  254. if test x${ZSH_VERSION+set} = xset ; then
  255. $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
  256. $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  257. else
  258. $as_echo "$0: Please tell bug-autoconf@gnu.org and
  259. $0: libmesh-users@lists.sourceforge.net about your system,
  260. $0: including any error possibly output before this
  261. $0: message. Then install a modern shell, or manually run
  262. $0: the script under such a shell if you do have one."
  263. fi
  264. exit 1
  265. fi
  266. fi
  267. fi
  268. SHELL=${CONFIG_SHELL-/bin/sh}
  269. export SHELL
  270. # Unset more variables known to interfere with behavior of common tools.
  271. CLICOLOR_FORCE= GREP_OPTIONS=
  272. unset CLICOLOR_FORCE GREP_OPTIONS
  273. ## --------------------- ##
  274. ## M4sh Shell Functions. ##
  275. ## --------------------- ##
  276. # as_fn_unset VAR
  277. # ---------------
  278. # Portably unset VAR.
  279. as_fn_unset ()
  280. {
  281. { eval $1=; unset $1;}
  282. }
  283. as_unset=as_fn_unset
  284. # as_fn_set_status STATUS
  285. # -----------------------
  286. # Set $? to STATUS, without forking.
  287. as_fn_set_status ()
  288. {
  289. return $1
  290. } # as_fn_set_status
  291. # as_fn_exit STATUS
  292. # -----------------
  293. # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
  294. as_fn_exit ()
  295. {
  296. set +e
  297. as_fn_set_status $1
  298. exit $1
  299. } # as_fn_exit
  300. # as_fn_mkdir_p
  301. # -------------
  302. # Create "$as_dir" as a directory, including parents if necessary.
  303. as_fn_mkdir_p ()
  304. {
  305. case $as_dir in #(
  306. -*) as_dir=./$as_dir;;
  307. esac
  308. test -d "$as_dir" || eval $as_mkdir_p || {
  309. as_dirs=
  310. while :; do
  311. case $as_dir in #(
  312. *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
  313. *) as_qdir=$as_dir;;
  314. esac
  315. as_dirs="'$as_qdir' $as_dirs"
  316. as_dir=`$as_dirname -- "$as_dir" ||
  317. $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  318. X"$as_dir" : 'X\(//\)[^/]' \| \
  319. X"$as_dir" : 'X\(//\)$' \| \
  320. X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
  321. $as_echo X"$as_dir" |
  322. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  323. s//\1/
  324. q
  325. }
  326. /^X\(\/\/\)[^/].*/{
  327. s//\1/
  328. q
  329. }
  330. /^X\(\/\/\)$/{
  331. s//\1/
  332. q
  333. }
  334. /^X\(\/\).*/{
  335. s//\1/
  336. q
  337. }
  338. s/.*/./; q'`
  339. test -d "$as_dir" && break
  340. done
  341. test -z "$as_dirs" || eval "mkdir $as_dirs"
  342. } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
  343. } # as_fn_mkdir_p
  344. # as_fn_executable_p FILE
  345. # -----------------------
  346. # Test if FILE is an executable regular file.
  347. as_fn_executable_p ()
  348. {
  349. test -f "$1" && test -x "$1"
  350. } # as_fn_executable_p
  351. # as_fn_append VAR VALUE
  352. # ----------------------
  353. # Append the text in VALUE to the end of the definition contained in VAR. Take
  354. # advantage of any shell optimizations that allow amortized linear growth over
  355. # repeated appends, instead of the typical quadratic growth present in naive
  356. # implementations.
  357. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  358. eval 'as_fn_append ()
  359. {
  360. eval $1+=\$2
  361. }'
  362. else
  363. as_fn_append ()
  364. {
  365. eval $1=\$$1\$2
  366. }
  367. fi # as_fn_append
  368. # as_fn_arith ARG...
  369. # ------------------
  370. # Perform arithmetic evaluation on the ARGs, and store the result in the
  371. # global $as_val. Take advantage of shells that can avoid forks. The arguments
  372. # must be portable across $(()) and expr.
  373. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  374. eval 'as_fn_arith ()
  375. {
  376. as_val=$(( $* ))
  377. }'
  378. else
  379. as_fn_arith ()
  380. {
  381. as_val=`expr "$@" || test $? -eq 1`
  382. }
  383. fi # as_fn_arith
  384. # as_fn_error STATUS ERROR [LINENO LOG_FD]
  385. # ----------------------------------------
  386. # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
  387. # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
  388. # script with STATUS, using 1 if that was 0.
  389. as_fn_error ()
  390. {
  391. as_status=$1; test $as_status -eq 0 && as_status=1
  392. if test "$4"; then
  393. as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  394. $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  395. fi
  396. $as_echo "$as_me: error: $2" >&2
  397. as_fn_exit $as_status
  398. } # as_fn_error
  399. if expr a : '\(a\)' >/dev/null 2>&1 &&
  400. test "X`expr 00001 : '.*\(...\)'`" = X001; then
  401. as_expr=expr
  402. else
  403. as_expr=false
  404. fi
  405. if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  406. as_basename=basename
  407. else
  408. as_basename=false
  409. fi
  410. if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  411. as_dirname=dirname
  412. else
  413. as_dirname=false
  414. fi
  415. as_me=`$as_basename -- "$0" ||
  416. $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
  417. X"$0" : 'X\(//\)$' \| \
  418. X"$0" : 'X\(/\)' \| . 2>/dev/null ||
  419. $as_echo X/"$0" |
  420. sed '/^.*\/\([^/][^/]*\)\/*$/{
  421. s//\1/
  422. q
  423. }
  424. /^X\/\(\/\/\)$/{
  425. s//\1/
  426. q
  427. }
  428. /^X\/\(\/\).*/{
  429. s//\1/
  430. q
  431. }
  432. s/.*/./; q'`
  433. # Avoid depending upon Character Ranges.
  434. as_cr_letters='abcdefghijklmnopqrstuvwxyz'
  435. as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  436. as_cr_Letters=$as_cr_letters$as_cr_LETTERS
  437. as_cr_digits='0123456789'
  438. as_cr_alnum=$as_cr_Letters$as_cr_digits
  439. as_lineno_1=$LINENO as_lineno_1a=$LINENO
  440. as_lineno_2=$LINENO as_lineno_2a=$LINENO
  441. eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  442. test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  443. # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
  444. sed -n '
  445. p
  446. /[$]LINENO/=
  447. ' <$as_myself |
  448. sed '
  449. s/[$]LINENO.*/&-/
  450. t lineno
  451. b
  452. :lineno
  453. N
  454. :loop
  455. s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
  456. t loop
  457. s/-\n.*//
  458. ' >$as_me.lineno &&
  459. chmod +x "$as_me.lineno" ||
  460. { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
  461. # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  462. # already done that, so ensure we don't try to do so again and fall
  463. # in an infinite loop. This has already happened in practice.
  464. _as_can_reexec=no; export _as_can_reexec
  465. # Don't try to exec as it changes $[0], causing all sort of problems
  466. # (the dirname of $[0] is not the place where we might find the
  467. # original and so on. Autoconf is especially sensitive to this).
  468. . "./$as_me.lineno"
  469. # Exit status is that of the last command.
  470. exit
  471. }
  472. ECHO_C= ECHO_N= ECHO_T=
  473. case `echo -n x` in #(((((
  474. -n*)
  475. case `echo 'xy\c'` in
  476. *c*) ECHO_T=' ';; # ECHO_T is single tab character.
  477. xy) ECHO_C='\c';;
  478. *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
  479. ECHO_T=' ';;
  480. esac;;
  481. *)
  482. ECHO_N='-n';;
  483. esac
  484. rm -f conf$$ conf$$.exe conf$$.file
  485. if test -d conf$$.dir; then
  486. rm -f conf$$.dir/conf$$.file
  487. else
  488. rm -f conf$$.dir
  489. mkdir conf$$.dir 2>/dev/null
  490. fi
  491. if (echo >conf$$.file) 2>/dev/null; then
  492. if ln -s conf$$.file conf$$ 2>/dev/null; then
  493. as_ln_s='ln -s'
  494. # ... but there are two gotchas:
  495. # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
  496. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
  497. # In both cases, we have to default to `cp -pR'.
  498. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
  499. as_ln_s='cp -pR'
  500. elif ln conf$$.file conf$$ 2>/dev/null; then
  501. as_ln_s=ln
  502. else
  503. as_ln_s='cp -pR'
  504. fi
  505. else
  506. as_ln_s='cp -pR'
  507. fi
  508. rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
  509. rmdir conf$$.dir 2>/dev/null
  510. if mkdir -p . 2>/dev/null; then
  511. as_mkdir_p='mkdir -p "$as_dir"'
  512. else
  513. test -d ./-p && rmdir ./-p
  514. as_mkdir_p=false
  515. fi
  516. as_test_x='test -x'
  517. as_executable_p=as_fn_executable_p
  518. # Sed expression to map a string onto a valid CPP name.
  519. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
  520. # Sed expression to map a string onto a valid variable name.
  521. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
  522. SHELL=${CONFIG_SHELL-/bin/sh}
  523. test -n "$DJDIR" || exec 7<&0 </dev/null
  524. exec 6>&1
  525. # Name of the host.
  526. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
  527. # so uname gets run too.
  528. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
  529. #
  530. # Initializations.
  531. #
  532. ac_default_prefix=/usr/local
  533. ac_clean_files=
  534. ac_config_libobj_dir=.
  535. LIBOBJS=
  536. cross_compiling=no
  537. subdirs=
  538. MFLAGS=
  539. MAKEFLAGS=
  540. # Identity of this package.
  541. PACKAGE_NAME='libmesh'
  542. PACKAGE_TARNAME='libmesh'
  543. PACKAGE_VERSION='1.7.0-pre'
  544. PACKAGE_STRING='libmesh 1.7.0-pre'
  545. PACKAGE_BUGREPORT='libmesh-users@lists.sourceforge.net'
  546. PACKAGE_URL='http://libmesh.github.io'
  547. # Factoring default headers for most tests.
  548. ac_includes_default="\
  549. #include <stdio.h>
  550. #ifdef HAVE_SYS_TYPES_H
  551. # include <sys/types.h>
  552. #endif
  553. #ifdef HAVE_SYS_STAT_H
  554. # include <sys/stat.h>
  555. #endif
  556. #ifdef STDC_HEADERS
  557. # include <stdlib.h>
  558. # include <stddef.h>
  559. #else
  560. # ifdef HAVE_STDLIB_H
  561. # include <stdlib.h>
  562. # endif
  563. #endif
  564. #ifdef HAVE_STRING_H
  565. # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
  566. # include <memory.h>
  567. # endif
  568. # include <string.h>
  569. #endif
  570. #ifdef HAVE_STRINGS_H
  571. # include <strings.h>
  572. #endif
  573. #ifdef HAVE_INTTYPES_H
  574. # include <inttypes.h>
  575. #endif
  576. #ifdef HAVE_STDINT_H
  577. # include <stdint.h>
  578. #endif
  579. #ifdef HAVE_UNISTD_H
  580. # include <unistd.h>
  581. #endif"
  582. enable_option_checking=no
  583. ac_subst_vars='subdirs_extra
  584. am__EXEEXT_FALSE
  585. am__EXEEXT_TRUE
  586. LTLIBOBJS
  587. LIBOBJS
  588. BUILD_VERSION
  589. BUILD_HOST
  590. BUILD_ARCH
  591. BUILD_USER
  592. GIT_CHECKOUT_FALSE
  593. GIT_CHECKOUT_TRUE
  594. BUILD_DEVSTATUS
  595. GIT_REVISION
  596. gitquery
  597. libmesh_installed_LIBS
  598. libmesh_pkgconfig_requires
  599. libmesh_contrib_INCLUDES
  600. libmesh_optional_LIBS
  601. libmesh_optional_INCLUDES
  602. LIBMESH_ENABLE_METAPHYSICL_FALSE
  603. LIBMESH_ENABLE_METAPHYSICL_TRUE
  604. METAPHYSICL_INCLUDE
  605. LIBMESH_ENABLE_NANOFLANN_FALSE
  606. LIBMESH_ENABLE_NANOFLANN_TRUE
  607. NANOFLANN_INCLUDE
  608. LIBMESH_ENABLE_CPPUNIT_FALSE
  609. LIBMESH_ENABLE_CPPUNIT_TRUE
  610. CPPUNIT_LIBS
  611. CPPUNIT_CFLAGS
  612. CPPUNIT_CONFIG
  613. LIBMESH_ENABLE_FPARSER_FALSE
  614. LIBMESH_ENABLE_FPARSER_TRUE
  615. FPARSER_NO_PSABI_FALSE
  616. FPARSER_NO_PSABI_TRUE
  617. FPARSER_SUPPORT_JIT_FALSE
  618. FPARSER_SUPPORT_JIT_TRUE
  619. FPARSER_SUPPORT_DEBUGGING_FALSE
  620. FPARSER_SUPPORT_DEBUGGING_TRUE
  621. FPARSER_DEVEL_FALSE
  622. FPARSER_DEVEL_TRUE
  623. FPARSER_RELEASE_FALSE
  624. FPARSER_RELEASE_TRUE
  625. FPARSER_LIBRARY
  626. FPARSER_INCLUDE
  627. YFLAGS
  628. YACC
  629. LIBMESH_ENABLE_LIBHILBERT_FALSE
  630. LIBMESH_ENABLE_LIBHILBERT_TRUE
  631. LIBHILBERT_LIBRARY
  632. LIBHILBERT_INCLUDE
  633. LIBMESH_ENABLE_NEMESIS_V522_FALSE
  634. LIBMESH_ENABLE_NEMESIS_V522_TRUE
  635. LIBMESH_ENABLE_NEMESIS_V309_FALSE
  636. LIBMESH_ENABLE_NEMESIS_V309_TRUE
  637. LIBMESH_ENABLE_NEMESIS_FALSE
  638. LIBMESH_ENABLE_NEMESIS_TRUE
  639. NEMESIS_INCLUDE
  640. LIBMESH_ENABLE_EXODUS_V522_FALSE
  641. LIBMESH_ENABLE_EXODUS_V522_TRUE
  642. LIBMESH_ENABLE_EXODUS_V509_FALSE
  643. LIBMESH_ENABLE_EXODUS_V509_TRUE
  644. LIBMESH_ENABLE_EXODUS_FALSE
  645. LIBMESH_ENABLE_EXODUS_TRUE
  646. EXODUS_FORTRAN_API_FALSE
  647. EXODUS_FORTRAN_API_TRUE
  648. EXODUS_NOT_NETCDF4_FLAG
  649. EXODUS_INCLUDE
  650. LIBMESH_ENABLE_NETCDF_V4_FALSE
  651. LIBMESH_ENABLE_NETCDF_V4_TRUE
  652. LIBMESH_ENABLE_NETCDF_FALSE
  653. LIBMESH_ENABLE_NETCDF_TRUE
  654. NETCDF_LIBRARY
  655. subdirs
  656. NETCDF_DIR
  657. NETCDF_INCLUDE
  658. LIBMESH_ENABLE_HDF5_FALSE
  659. LIBMESH_ENABLE_HDF5_TRUE
  660. HDF5_PREFIX
  661. HDF5_CXXLIBS
  662. HDF5_FLIBS
  663. HDF5_LIBS
  664. HDF5_CPPFLAGS
  665. HDF5_CFLAGS
  666. HDF5_DIR
  667. LIBMESH_ENABLE_CURL_FALSE
  668. LIBMESH_ENABLE_CURL_TRUE
  669. CURL_LIBRARY
  670. CURL_INCLUDE
  671. LIBMESH_ENABLE_CAPNPROTO_FALSE
  672. LIBMESH_ENABLE_CAPNPROTO_TRUE
  673. CAPNPROTO_LIBRARY
  674. CAPNPROTO_INCLUDE
  675. CAPNP_BINARY
  676. LIBMESH_ENABLE_NLOPT_FALSE
  677. LIBMESH_ENABLE_NLOPT_TRUE
  678. NLOPT_LIBRARY
  679. NLOPT_INCLUDE
  680. LIBMESH_ENABLE_GLPK_FALSE
  681. LIBMESH_ENABLE_GLPK_TRUE
  682. GLPK_LIBRARY
  683. GLPK_INCLUDE
  684. LIBMESH_INSTALL_INTERNAL_EIGEN_FALSE
  685. LIBMESH_INSTALL_INTERNAL_EIGEN_TRUE
  686. LIBMESH_ENABLE_EIGEN_FALSE
  687. LIBMESH_ENABLE_EIGEN_TRUE
  688. EIGEN_INCLUDE
  689. LIBMESH_ENABLE_VTK_FALSE
  690. LIBMESH_ENABLE_VTK_TRUE
  691. VTK_LIBRARY
  692. vtkbuild
  693. vtkmajor
  694. vtkversion
  695. VTK_DIR
  696. VTK_INCLUDE
  697. LIBMESH_ENABLE_GMV_FALSE
  698. LIBMESH_ENABLE_GMV_TRUE
  699. GMV_LIBRARY
  700. GMV_INCLUDE
  701. LIBMESH_ENABLE_QHULL_FALSE
  702. LIBMESH_ENABLE_QHULL_TRUE
  703. QHULL_LIBS
  704. LIBMESH_ENABLE_TRIANGLE_FALSE
  705. LIBMESH_ENABLE_TRIANGLE_TRUE
  706. TRIANGLE_LIBRARY
  707. TRIANGLE_INCLUDE
  708. LIBMESH_ENABLE_TETGEN_FALSE
  709. LIBMESH_ENABLE_TETGEN_TRUE
  710. TETGEN_LIBRARY
  711. TETGEN_INCLUDE
  712. HAVE_DOT
  713. DOTPATH
  714. DOT
  715. DOXYGEN
  716. LIBMESH_ENABLE_PARMETIS_FALSE
  717. LIBMESH_ENABLE_PARMETIS_TRUE
  718. PARMETIS_LIB
  719. PARMETIS_INCLUDE
  720. BUILD_PARMETIS_FALSE
  721. BUILD_PARMETIS_TRUE
  722. LIBMESH_ENABLE_METIS_FALSE
  723. LIBMESH_ENABLE_METIS_TRUE
  724. METIS_LIB
  725. METIS_INCLUDE
  726. BUILD_METIS_FALSE
  727. BUILD_METIS_TRUE
  728. LIBMESH_ENABLE_TECPLOT_FALSE
  729. LIBMESH_ENABLE_TECPLOT_TRUE
  730. LIBMESH_ENABLE_TECIO_FALSE
  731. LIBMESH_ENABLE_TECIO_TRUE
  732. TECIO_CPPFLAGS
  733. TECIO_INCLUDE
  734. XZ
  735. BUNZIP2
  736. BZIP2
  737. LIBMESH_ENABLE_GZSTREAMS_FALSE
  738. LIBMESH_ENABLE_GZSTREAMS_TRUE
  739. GZSTREAM_LIB
  740. GZSTREAM_INCLUDE
  741. LIBMESH_ENABLE_SFC_FALSE
  742. LIBMESH_ENABLE_SFC_TRUE
  743. SFC_LIB
  744. SFC_INCLUDE
  745. LIBMESH_ENABLE_LASPACK_FALSE
  746. LIBMESH_ENABLE_LASPACK_TRUE
  747. LASPACK_LIB
  748. LASPACK_INCLUDE
  749. TBB_INCLUDE
  750. TBB_LIBRARY
  751. PTHREAD_CFLAGS
  752. PTHREAD_LIBS
  753. PTHREAD_CC
  754. ax_pthread_config
  755. OPENMP_FFLAGS
  756. OPENMP_CFLAGS
  757. OPENMP_CXXFLAGS
  758. TPETRA_INCLUDES
  759. TPETRA_LIBS
  760. ML_INCLUDES
  761. ML_LIBS
  762. NOX_INCLUDES
  763. NOX_LIBS
  764. AZTECOO_INCLUDES
  765. AZTECOO_LIBS
  766. DTK_MAKEFILE_EXPORT
  767. TPETRA_MAKEFILE_EXPORT
  768. ML_MAKEFILE_EXPORT
  769. NOX_MAKEFILE_EXPORT
  770. AZTECOO_MAKEFILE_EXPORT
  771. TRILINOS_INCLUDES
  772. TRILINOS_LIBS
  773. TRILINOS_MAKEFILE_EXPORT
  774. TRILINOS_DIR
  775. LIBMESH_ENABLE_SLEPC_FALSE
  776. LIBMESH_ENABLE_SLEPC_TRUE
  777. SLEPC_LIBS
  778. SLEPC_INCLUDE
  779. SLEPC_DIR
  780. LIBMESH_ENABLE_PETSC_FALSE
  781. LIBMESH_ENABLE_PETSC_TRUE
  782. PETSC_FC_INCLUDES
  783. PETSC_CC_INCLUDES
  784. PETSCINCLUDEDIRS
  785. PETSCLINKLIBS
  786. petscmajorminor
  787. petscminor
  788. petscmajor
  789. petscversion
  790. enablepetsc
  791. MPI_INCLUDES
  792. MPI_LDFLAGS
  793. MPI_LIBS
  794. MPI_IMPL
  795. LIBMESH_INSTALL_INTERNAL_BOOST_FALSE
  796. LIBMESH_INSTALL_INTERNAL_BOOST_TRUE
  797. BOOST_LDFLAGS
  798. BOOST_CPPFLAGS
  799. LIBMESH_ENABLE_EXAMPLES_FALSE
  800. LIBMESH_ENABLE_EXAMPLES_TRUE
  801. LIBMESH_ENABLE_COMPLEX_FALSE
  802. LIBMESH_ENABLE_COMPLEX_TRUE
  803. LIBMESH_ENABLE_INFINITE_ELEMENTS_FALSE
  804. LIBMESH_ENABLE_INFINITE_ELEMENTS_TRUE
  805. enablelegacyincludepaths
  806. enablefwdenums
  807. enabledeprecated
  808. enablewarnings
  809. enableuniqueptr
  810. PWD
  811. MPCXX
  812. METHOD
  813. FLIBS
  814. OPROFILE_FLAGS
  815. PROFILING_FLAGS
  816. RPATHFLAG
  817. CXXSHAREDFLAG
  818. NODEPRECATEDFLAG
  819. CFLAGS_DVL
  820. CXXFLAGS_DVL
  821. GXX_VERSION
  822. libmesh_precision_LIBS
  823. PKG_CONFIG
  824. libmesh_LDFLAGS
  825. CXXCPP
  826. CPP
  827. LT_SYS_LIBRARY_PATH
  828. OTOOL64
  829. OTOOL
  830. LIPO
  831. NMEDIT
  832. DSYMUTIL
  833. MANIFEST_TOOL
  834. RANLIB
  835. ac_ct_AR
  836. AR
  837. DLLTOOL
  838. OBJDUMP
  839. LN_S
  840. NM
  841. ac_ct_DUMPBIN
  842. DUMPBIN
  843. LD
  844. FGREP
  845. EGREP
  846. GREP
  847. LIBTOOL
  848. HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_FALSE
  849. HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_TRUE
  850. HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_FALSE
  851. HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_TRUE
  852. HAVE_CXX11_ERF_FALSE
  853. HAVE_CXX11_ERF_TRUE
  854. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_FALSE
  855. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_TRUE
  856. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_FALSE
  857. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_TRUE
  858. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_FALSE
  859. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_TRUE
  860. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_FALSE
  861. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_TRUE
  862. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_FALSE
  863. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_TRUE
  864. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_FALSE
  865. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_TRUE
  866. HAVE_CXX11_TYPE_TRAITS_FALSE
  867. HAVE_CXX11_TYPE_TRAITS_TRUE
  868. HAVE_CXX11_CONDITION_VARIABLE_FALSE
  869. HAVE_CXX11_CONDITION_VARIABLE_TRUE
  870. HAVE_CXX11_THREAD_FALSE
  871. HAVE_CXX11_THREAD_TRUE
  872. HAVE_CXX11_REGEX_FALSE
  873. HAVE_CXX11_REGEX_TRUE
  874. HAVE_CXX14_MAKE_UNIQUE_FALSE
  875. HAVE_CXX14_MAKE_UNIQUE_TRUE
  876. ANY_PARANOID_FLAGS
  877. ANY_WERROR_FLAG
  878. CFLAGS_OPROF
  879. CXXFLAGS_OPROF
  880. CPPFLAGS_OPROF
  881. CFLAGS_PROF
  882. CXXFLAGS_PROF
  883. CPPFLAGS_PROF
  884. CFLAGS_OPT
  885. CXXFLAGS_OPT
  886. CPPFLAGS_OPT
  887. CFLAGS_DEVEL
  888. CXXFLAGS_DEVEL
  889. CPPFLAGS_DEVEL
  890. CFLAGS_DBG
  891. CXXFLAGS_DBG
  892. CPPFLAGS_DBG
  893. LIBMESH_OPROF_MODE_FALSE
  894. LIBMESH_OPROF_MODE_TRUE
  895. LIBMESH_PROF_MODE_FALSE
  896. LIBMESH_PROF_MODE_TRUE
  897. LIBMESH_DEVEL_MODE_FALSE
  898. LIBMESH_DEVEL_MODE_TRUE
  899. LIBMESH_DBG_MODE_FALSE
  900. LIBMESH_DBG_MODE_TRUE
  901. LIBMESH_OPT_MODE_FALSE
  902. LIBMESH_OPT_MODE_TRUE
  903. libmesh_CFLAGS
  904. libmesh_CXXFLAGS
  905. libmesh_CPPFLAGS
  906. METHODS
  907. CODE_COVERAGE_ENABLED_FALSE
  908. CODE_COVERAGE_ENABLED_TRUE
  909. HAVE_GCOV_TOOLS
  910. GCOV_LDFLAGS
  911. GCOV_FLAGS
  912. have_gcov
  913. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_FALSE
  914. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_TRUE
  915. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_FALSE
  916. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_TRUE
  917. HAVE_CXX11
  918. HAVE_CXX14
  919. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE
  920. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE
  921. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE
  922. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE
  923. HAVE_CXX11_CONSTEXPR_FALSE
  924. HAVE_CXX11_CONSTEXPR_TRUE
  925. HAVE_CXX11_TO_STRING_FALSE
  926. HAVE_CXX11_TO_STRING_TRUE
  927. HAVE_CXX11_RVALUE_REFERENCES_FALSE
  928. HAVE_CXX11_RVALUE_REFERENCES_TRUE
  929. HAVE_CXX11_SHARED_PTR_FALSE
  930. HAVE_CXX11_SHARED_PTR_TRUE
  931. HAVE_CXX11_DECLTYPE_FALSE
  932. HAVE_CXX11_DECLTYPE_TRUE
  933. HAVE_CXX11_FINAL_FALSE
  934. HAVE_CXX11_FINAL_TRUE
  935. HAVE_CXX11_NULLPTR_FALSE
  936. HAVE_CXX11_NULLPTR_TRUE
  937. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE
  938. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE
  939. HAVE_CXX11_DELETED_FUNCTIONS_FALSE
  940. HAVE_CXX11_DELETED_FUNCTIONS_TRUE
  941. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE
  942. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE
  943. HAVE_CXX11_OVERRIDE_FALSE
  944. HAVE_CXX11_OVERRIDE_TRUE
  945. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE
  946. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE
  947. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE
  948. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE
  949. HAVE_CXX11_LAMBDA_FALSE
  950. HAVE_CXX11_LAMBDA_TRUE
  951. HAVE_CXX11_TUPLE_FALSE
  952. HAVE_CXX11_TUPLE_TRUE
  953. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE
  954. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE
  955. HAVE_CXX11_UNIQUE_PTR_FALSE
  956. HAVE_CXX11_UNIQUE_PTR_TRUE
  957. HAVE_CXX11_INITIALIZER_LIST_FALSE
  958. HAVE_CXX11_INITIALIZER_LIST_TRUE
  959. HAVE_CXX11_RANGEFOR_FALSE
  960. HAVE_CXX11_RANGEFOR_TRUE
  961. HAVE_CXX11_AUTO_FALSE
  962. HAVE_CXX11_AUTO_TRUE
  963. HAVE_CXX17
  964. PRTDIAG
  965. SED
  966. am__fastdepCXX_FALSE
  967. am__fastdepCXX_TRUE
  968. CXXDEPMODE
  969. ac_ct_CXX
  970. CXXFLAGS
  971. CXX
  972. LOCAL_CXX
  973. ac_ct_F77
  974. FFLAGS
  975. F77
  976. ac_ct_FC
  977. FCFLAGS
  978. FC
  979. am__fastdepCC_FALSE
  980. am__fastdepCC_TRUE
  981. CCDEPMODE
  982. am__nodep
  983. AMDEPBACKSLASH
  984. AMDEP_FALSE
  985. AMDEP_TRUE
  986. am__include
  987. DEPDIR
  988. OBJEXT
  989. EXEEXT
  990. ac_ct_CC
  991. CPPFLAGS
  992. LDFLAGS
  993. CFLAGS
  994. CC
  995. PETSCARCH
  996. PETSC_ARCH
  997. PETSC_DIR
  998. PERL
  999. LIBMESH_VPATH_BUILD_FALSE
  1000. LIBMESH_VPATH_BUILD_TRUE
  1001. MAINT
  1002. MAINTAINER_MODE_FALSE
  1003. MAINTAINER_MODE_TRUE
  1004. AM_BACKSLASH
  1005. AM_DEFAULT_VERBOSITY
  1006. AM_DEFAULT_V
  1007. AM_V
  1008. am__untar
  1009. am__tar
  1010. AMTAR
  1011. am__leading_dot
  1012. SET_MAKE
  1013. AWK
  1014. mkdir_p
  1015. MKDIR_P
  1016. INSTALL_STRIP_PROGRAM
  1017. STRIP
  1018. install_sh
  1019. MAKEINFO
  1020. AUTOHEADER
  1021. AUTOMAKE
  1022. AUTOCONF
  1023. ACLOCAL
  1024. VERSION
  1025. PACKAGE
  1026. CYGPATH_W
  1027. am__isrc
  1028. INSTALL_DATA
  1029. INSTALL_SCRIPT
  1030. INSTALL_PROGRAM
  1031. target_os
  1032. target_vendor
  1033. target_cpu
  1034. target
  1035. host_os
  1036. host_vendor
  1037. host_cpu
  1038. host
  1039. build_os
  1040. build_vendor
  1041. build_cpu
  1042. build
  1043. target_alias
  1044. host_alias
  1045. build_alias
  1046. LIBS
  1047. ECHO_T
  1048. ECHO_N
  1049. ECHO_C
  1050. DEFS
  1051. mandir
  1052. localedir
  1053. libdir
  1054. psdir
  1055. pdfdir
  1056. dvidir
  1057. htmldir
  1058. infodir
  1059. docdir
  1060. oldincludedir
  1061. includedir
  1062. localstatedir
  1063. sharedstatedir
  1064. sysconfdir
  1065. datadir
  1066. datarootdir
  1067. libexecdir
  1068. sbindir
  1069. bindir
  1070. program_transform_name
  1071. prefix
  1072. exec_prefix
  1073. PACKAGE_URL
  1074. PACKAGE_BUGREPORT
  1075. PACKAGE_STRING
  1076. PACKAGE_VERSION
  1077. PACKAGE_TARNAME
  1078. PACKAGE_NAME
  1079. PATH_SEPARATOR
  1080. SHELL
  1081. am__quote'
  1082. ac_subst_files=''
  1083. ac_user_opts='
  1084. enable_option_checking
  1085. enable_silent_rules
  1086. enable_maintainer_mode
  1087. enable_mpi
  1088. with_mpi
  1089. with_mpi_include
  1090. with_mpi_lib
  1091. enable_optional
  1092. enable_petsc
  1093. with_cc
  1094. enable_dependency_tracking
  1095. enable_fortran
  1096. with_fc
  1097. with_f77
  1098. with_cxx
  1099. enable_march
  1100. with_gcc_arch
  1101. with_cxx_std_max
  1102. with_cxx_std_min
  1103. with_cxx_std
  1104. enable_sanitize
  1105. enable_glibcxx_debugging
  1106. enable_glibcxx_debugging_cppunit
  1107. enable_coverage
  1108. with_methods
  1109. enable_werror
  1110. enable_paranoid_warnings
  1111. enable_static
  1112. enable_shared
  1113. with_pic
  1114. enable_fast_install
  1115. with_aix_soname
  1116. with_gnu_ld
  1117. with_sysroot
  1118. enable_libtool_lock
  1119. enable_all_static
  1120. enable_singleprecision
  1121. enable_tripleprecision
  1122. enable_quadrupleprecision
  1123. enable_getpwuid
  1124. enable_exceptions
  1125. enable_timestamps
  1126. enable_unordered_containers
  1127. with_gdb_command
  1128. enable_unique_ptr
  1129. enable_warnings
  1130. enable_deprecated
  1131. enable_forward_declare_enums
  1132. enable_blocked_storage
  1133. enable_legacy_include_paths
  1134. enable_legacy_using_namespace
  1135. with_boundary_id_bytes
  1136. with_dof_id_bytes
  1137. with_processor_id_bytes
  1138. with_subdomain_id_bytes
  1139. enable_everything
  1140. enable_unique_id
  1141. with_unique_id_bytes
  1142. enable_tracefiles
  1143. enable_amr
  1144. enable_vsmoother
  1145. enable_periodic
  1146. enable_dirichlet
  1147. enable_nodeconstraint
  1148. enable_parmesh
  1149. enable_ghosted
  1150. enable_node_valence
  1151. enable_1D_only
  1152. enable_2D_only
  1153. enable_pfem
  1154. enable_ifem
  1155. enable_second
  1156. enable_complex
  1157. enable_reference_counting
  1158. enable_perflog
  1159. enable_examples
  1160. enable_strict_lgpl
  1161. enable_nested
  1162. enable_xdr
  1163. enable_boost
  1164. with_boost
  1165. with_boost_libdir
  1166. with_gm
  1167. enable_petsc_required
  1168. enable_petsc_hypre_required
  1169. enable_slepc
  1170. enable_trilinos
  1171. with_trilinos
  1172. with_nox
  1173. with_ml
  1174. with_tpetra
  1175. with_dtk
  1176. with_thread_model
  1177. enable_openmp
  1178. enable_pthreads
  1179. enable_tbb
  1180. with_tbb
  1181. with_tbb_lib
  1182. enable_laspack
  1183. enable_sfc
  1184. enable_gzstreams
  1185. enable_bzip2
  1186. enable_xz
  1187. enable_tecio
  1188. with_tecio_x11_include
  1189. enable_tecplot
  1190. enable_metis
  1191. with_metis
  1192. with_metis_include
  1193. enable_parmetis
  1194. with_parmetis
  1195. with_parmetis_include
  1196. enable_tetgen
  1197. enable_triangle
  1198. enable_qhull
  1199. enable_gmv
  1200. enable_vtk
  1201. enable_vtk_required
  1202. with_vtk_include
  1203. with_vtk_lib
  1204. enable_eigen
  1205. with_eigen_include
  1206. enable_glpk
  1207. with_glpk_include
  1208. with_glpk_lib
  1209. enable_nlopt
  1210. with_nlopt_include
  1211. with_nlopt_lib
  1212. enable_capnproto
  1213. enable_capnp_required
  1214. with_capnproto
  1215. enable_curl
  1216. with_curl_include
  1217. with_curl_lib
  1218. enable_hdf5
  1219. with_hdf5
  1220. with_netcdf
  1221. with_netcdf_lib
  1222. enable_netcdf
  1223. enable_netcdf_required
  1224. enable_exodus
  1225. enable_exodus_fortran
  1226. enable_nemesis
  1227. enable_libHilbert
  1228. enable_fparser
  1229. with_fparser
  1230. enable_fparser_debugging
  1231. enable_cppunit
  1232. with_cppunit_include
  1233. with_cppunit_lib
  1234. enable_nanoflann
  1235. enable_nanoflann_pointlocator
  1236. enable_metaphysicl
  1237. enable_metaphysicl_required
  1238. '
  1239. ac_precious_vars='build_alias
  1240. host_alias
  1241. target_alias
  1242. PETSC_DIR
  1243. PETSC_ARCH
  1244. CC
  1245. CFLAGS
  1246. LDFLAGS
  1247. LIBS
  1248. CPPFLAGS
  1249. FC
  1250. FCFLAGS
  1251. F77
  1252. FFLAGS
  1253. CXX
  1254. CXXFLAGS
  1255. CCC
  1256. METHODS
  1257. libmesh_CPPFLAGS
  1258. libmesh_CXXFLAGS
  1259. libmesh_CFLAGS
  1260. LT_SYS_LIBRARY_PATH
  1261. CPP
  1262. CXXCPP
  1263. SLEPC_DIR
  1264. TRILINOS_DIR
  1265. VTK_INCLUDE
  1266. VTK_DIR
  1267. HDF5_DIR
  1268. NETCDF_INCLUDE
  1269. NETCDF_DIR
  1270. YACC
  1271. YFLAGS'
  1272. ac_subdirs_all='
  1273. contrib/timpi'
  1274. # Initialize some variables set by options.
  1275. ac_init_help=
  1276. ac_init_version=false
  1277. ac_unrecognized_opts=
  1278. ac_unrecognized_sep=
  1279. # The variables have the same names as the options, with
  1280. # dashes changed to underlines.
  1281. cache_file=/dev/null
  1282. exec_prefix=NONE
  1283. no_create=
  1284. no_recursion=
  1285. prefix=NONE
  1286. program_prefix=NONE
  1287. program_suffix=NONE
  1288. program_transform_name=s,x,x,
  1289. silent=
  1290. site=
  1291. srcdir=
  1292. verbose=
  1293. x_includes=NONE
  1294. x_libraries=NONE
  1295. # Installation directory options.
  1296. # These are left unexpanded so users can "make install exec_prefix=/foo"
  1297. # and all the variables that are supposed to be based on exec_prefix
  1298. # by default will actually change.
  1299. # Use braces instead of parens because sh, perl, etc. also accept them.
  1300. # (The list follows the same order as the GNU Coding Standards.)
  1301. bindir='${exec_prefix}/bin'
  1302. sbindir='${exec_prefix}/sbin'
  1303. libexecdir='${exec_prefix}/libexec'
  1304. datarootdir='${prefix}/share'
  1305. datadir='${datarootdir}'
  1306. sysconfdir='${prefix}/etc'
  1307. sharedstatedir='${prefix}/com'
  1308. localstatedir='${prefix}/var'
  1309. includedir='${prefix}/include'
  1310. oldincludedir='/usr/include'
  1311. docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
  1312. infodir='${datarootdir}/info'
  1313. htmldir='${docdir}'
  1314. dvidir='${docdir}'
  1315. pdfdir='${docdir}'
  1316. psdir='${docdir}'
  1317. libdir='${exec_prefix}/lib'
  1318. localedir='${datarootdir}/locale'
  1319. mandir='${datarootdir}/man'
  1320. ac_prev=
  1321. ac_dashdash=
  1322. for ac_option
  1323. do
  1324. # If the previous option needs an argument, assign it.
  1325. if test -n "$ac_prev"; then
  1326. eval $ac_prev=\$ac_option
  1327. ac_prev=
  1328. continue
  1329. fi
  1330. case $ac_option in
  1331. *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
  1332. *=) ac_optarg= ;;
  1333. *) ac_optarg=yes ;;
  1334. esac
  1335. # Accept the important Cygnus configure options, so we can diagnose typos.
  1336. case $ac_dashdash$ac_option in
  1337. --)
  1338. ac_dashdash=yes ;;
  1339. -bindir | --bindir | --bindi | --bind | --bin | --bi)
  1340. ac_prev=bindir ;;
  1341. -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
  1342. bindir=$ac_optarg ;;
  1343. -build | --build | --buil | --bui | --bu)
  1344. ac_prev=build_alias ;;
  1345. -build=* | --build=* | --buil=* | --bui=* | --bu=*)
  1346. build_alias=$ac_optarg ;;
  1347. -cache-file | --cache-file | --cache-fil | --cache-fi \
  1348. | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
  1349. ac_prev=cache_file ;;
  1350. -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  1351. | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
  1352. cache_file=$ac_optarg ;;
  1353. --config-cache | -C)
  1354. cache_file=config.cache ;;
  1355. -datadir | --datadir | --datadi | --datad)
  1356. ac_prev=datadir ;;
  1357. -datadir=* | --datadir=* | --datadi=* | --datad=*)
  1358. datadir=$ac_optarg ;;
  1359. -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
  1360. | --dataroo | --dataro | --datar)
  1361. ac_prev=datarootdir ;;
  1362. -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
  1363. | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
  1364. datarootdir=$ac_optarg ;;
  1365. -disable-* | --disable-*)
  1366. ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
  1367. # Reject names that are not valid shell variable names.
  1368. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
  1369. as_fn_error $? "invalid feature name: $ac_useropt"
  1370. ac_useropt_orig=$ac_useropt
  1371. ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
  1372. case $ac_user_opts in
  1373. *"
  1374. "enable_$ac_useropt"
  1375. "*) ;;
  1376. *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
  1377. ac_unrecognized_sep=', ';;
  1378. esac
  1379. eval enable_$ac_useropt=no ;;
  1380. -docdir | --docdir | --docdi | --doc | --do)
  1381. ac_prev=docdir ;;
  1382. -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
  1383. docdir=$ac_optarg ;;
  1384. -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
  1385. ac_prev=dvidir ;;
  1386. -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
  1387. dvidir=$ac_optarg ;;
  1388. -enable-* | --enable-*)
  1389. ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
  1390. # Reject names that are not valid shell variable names.
  1391. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
  1392. as_fn_error $? "invalid feature name: $ac_useropt"
  1393. ac_useropt_orig=$ac_useropt
  1394. ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
  1395. case $ac_user_opts in
  1396. *"
  1397. "enable_$ac_useropt"
  1398. "*) ;;
  1399. *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
  1400. ac_unrecognized_sep=', ';;
  1401. esac
  1402. eval enable_$ac_useropt=\$ac_optarg ;;
  1403. -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  1404. | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  1405. | --exec | --exe | --ex)
  1406. ac_prev=exec_prefix ;;
  1407. -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  1408. | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  1409. | --exec=* | --exe=* | --ex=*)
  1410. exec_prefix=$ac_optarg ;;
  1411. -gas | --gas | --ga | --g)
  1412. # Obsolete; use --with-gas.
  1413. with_gas=yes ;;
  1414. -help | --help | --hel | --he | -h)
  1415. ac_init_help=long ;;
  1416. -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
  1417. ac_init_help=recursive ;;
  1418. -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
  1419. ac_init_help=short ;;
  1420. -host | --host | --hos | --ho)
  1421. ac_prev=host_alias ;;
  1422. -host=* | --host=* | --hos=* | --ho=*)
  1423. host_alias=$ac_optarg ;;
  1424. -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
  1425. ac_prev=htmldir ;;
  1426. -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
  1427. | --ht=*)
  1428. htmldir=$ac_optarg ;;
  1429. -includedir | --includedir | --includedi | --included | --include \
  1430. | --includ | --inclu | --incl | --inc)
  1431. ac_prev=includedir ;;
  1432. -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  1433. | --includ=* | --inclu=* | --incl=* | --inc=*)
  1434. includedir=$ac_optarg ;;
  1435. -infodir | --infodir | --infodi | --infod | --info | --inf)
  1436. ac_prev=infodir ;;
  1437. -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
  1438. infodir=$ac_optarg ;;
  1439. -libdir | --libdir | --libdi | --libd)
  1440. ac_prev=libdir ;;
  1441. -libdir=* | --libdir=* | --libdi=* | --libd=*)
  1442. libdir=$ac_optarg ;;
  1443. -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
  1444. | --libexe | --libex | --libe)
  1445. ac_prev=libexecdir ;;
  1446. -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
  1447. | --libexe=* | --libex=* | --libe=*)
  1448. libexecdir=$ac_optarg ;;
  1449. -localedir | --localedir | --localedi | --localed | --locale)
  1450. ac_prev=localedir ;;
  1451. -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
  1452. localedir=$ac_optarg ;;
  1453. -localstatedir | --localstatedir | --localstatedi | --localstated \
  1454. | --localstate | --localstat | --localsta | --localst | --locals)
  1455. ac_prev=localstatedir ;;
  1456. -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
  1457. | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
  1458. localstatedir=$ac_optarg ;;
  1459. -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
  1460. ac_prev=mandir ;;
  1461. -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
  1462. mandir=$ac_optarg ;;
  1463. -nfp | --nfp | --nf)
  1464. # Obsolete; use --without-fp.
  1465. with_fp=no ;;
  1466. -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  1467. | --no-cr | --no-c | -n)
  1468. no_create=yes ;;
  1469. -no-recursion | --no-recursion | --no-recursio | --no-recursi \
  1470. | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
  1471. no_recursion=yes ;;
  1472. -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
  1473. | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
  1474. | --oldin | --oldi | --old | --ol | --o)
  1475. ac_prev=oldincludedir ;;
  1476. -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
  1477. | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
  1478. | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
  1479. oldincludedir=$ac_optarg ;;
  1480. -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  1481. ac_prev=prefix ;;
  1482. -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  1483. prefix=$ac_optarg ;;
  1484. -program-prefix | --program-prefix | --program-prefi | --program-pref \
  1485. | --program-pre | --program-pr | --program-p)
  1486. ac_prev=program_prefix ;;
  1487. -program-prefix=* | --program-prefix=* | --program-prefi=* \
  1488. | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
  1489. program_prefix=$ac_optarg ;;
  1490. -program-suffix | --program-suffix | --program-suffi | --program-suff \
  1491. | --program-suf | --program-su | --program-s)
  1492. ac_prev=program_suffix ;;
  1493. -program-suffix=* | --program-suffix=* | --program-suffi=* \
  1494. | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
  1495. program_suffix=$ac_optarg ;;
  1496. -program-transform-name | --program-transform-name \
  1497. | --program-transform-nam | --program-transform-na \
  1498. | --program-transform-n | --program-transform- \
  1499. | --program-transform | --program-transfor \
  1500. | --program-transfo | --program-transf \
  1501. | --program-trans | --program-tran \
  1502. | --progr-tra | --program-tr | --program-t)
  1503. ac_prev=program_transform_name ;;
  1504. -program-transform-name=* | --program-transform-name=* \
  1505. | --program-transform-nam=* | --program-transform-na=* \
  1506. | --program-transform-n=* | --program-transform-=* \
  1507. | --program-transform=* | --program-transfor=* \
  1508. | --program-transfo=* | --program-transf=* \
  1509. | --program-trans=* | --program-tran=* \
  1510. | --progr-tra=* | --program-tr=* | --program-t=*)
  1511. program_transform_name=$ac_optarg ;;
  1512. -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
  1513. ac_prev=pdfdir ;;
  1514. -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
  1515. pdfdir=$ac_optarg ;;
  1516. -psdir | --psdir | --psdi | --psd | --ps)
  1517. ac_prev=psdir ;;
  1518. -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
  1519. psdir=$ac_optarg ;;
  1520. -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  1521. | -silent | --silent | --silen | --sile | --sil)
  1522. silent=yes ;;
  1523. -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
  1524. ac_prev=sbindir ;;
  1525. -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
  1526. | --sbi=* | --sb=*)
  1527. sbindir=$ac_optarg ;;
  1528. -sharedstatedir | --sharedstatedir | --sharedstatedi \
  1529. | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
  1530. | --sharedst | --shareds | --shared | --share | --shar \
  1531. | --sha | --sh)
  1532. ac_prev=sharedstatedir ;;
  1533. -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
  1534. | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
  1535. | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
  1536. | --sha=* | --sh=*)
  1537. sharedstatedir=$ac_optarg ;;
  1538. -site | --site | --sit)
  1539. ac_prev=site ;;
  1540. -site=* | --site=* | --sit=*)
  1541. site=$ac_optarg ;;
  1542. -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
  1543. ac_prev=srcdir ;;
  1544. -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  1545. srcdir=$ac_optarg ;;
  1546. -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  1547. | --syscon | --sysco | --sysc | --sys | --sy)
  1548. ac_prev=sysconfdir ;;
  1549. -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  1550. | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
  1551. sysconfdir=$ac_optarg ;;
  1552. -target | --target | --targe | --targ | --tar | --ta | --t)
  1553. ac_prev=target_alias ;;
  1554. -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
  1555. target_alias=$ac_optarg ;;
  1556. -v | -verbose | --verbose | --verbos | --verbo | --verb)
  1557. verbose=yes ;;
  1558. -version | --version | --versio | --versi | --vers | -V)
  1559. ac_init_version=: ;;
  1560. -with-* | --with-*)
  1561. ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
  1562. # Reject names that are not valid shell variable names.
  1563. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
  1564. as_fn_error $? "invalid package name: $ac_useropt"
  1565. ac_useropt_orig=$ac_useropt
  1566. ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
  1567. case $ac_user_opts in
  1568. *"
  1569. "with_$ac_useropt"
  1570. "*) ;;
  1571. *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
  1572. ac_unrecognized_sep=', ';;
  1573. esac
  1574. eval with_$ac_useropt=\$ac_optarg ;;
  1575. -without-* | --without-*)
  1576. ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
  1577. # Reject names that are not valid shell variable names.
  1578. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
  1579. as_fn_error $? "invalid package name: $ac_useropt"
  1580. ac_useropt_orig=$ac_useropt
  1581. ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
  1582. case $ac_user_opts in
  1583. *"
  1584. "with_$ac_useropt"
  1585. "*) ;;
  1586. *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
  1587. ac_unrecognized_sep=', ';;
  1588. esac
  1589. eval with_$ac_useropt=no ;;
  1590. --x)
  1591. # Obsolete; use --with-x.
  1592. with_x=yes ;;
  1593. -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
  1594. | --x-incl | --x-inc | --x-in | --x-i)
  1595. ac_prev=x_includes ;;
  1596. -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
  1597. | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
  1598. x_includes=$ac_optarg ;;
  1599. -x-libraries | --x-libraries | --x-librarie | --x-librari \
  1600. | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
  1601. ac_prev=x_libraries ;;
  1602. -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
  1603. | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
  1604. x_libraries=$ac_optarg ;;
  1605. -*) as_fn_error $? "unrecognized option: \`$ac_option'
  1606. Try \`$0 --help' for more information"
  1607. ;;
  1608. *=*)
  1609. ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
  1610. # Reject names that are not valid shell variable names.
  1611. case $ac_envvar in #(
  1612. '' | [0-9]* | *[!_$as_cr_alnum]* )
  1613. as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
  1614. esac
  1615. eval $ac_envvar=\$ac_optarg
  1616. export $ac_envvar ;;
  1617. *)
  1618. # FIXME: should be removed in autoconf 3.0.
  1619. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
  1620. expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
  1621. $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
  1622. : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
  1623. ;;
  1624. esac
  1625. done
  1626. if test -n "$ac_prev"; then
  1627. ac_option=--`echo $ac_prev | sed 's/_/-/g'`
  1628. as_fn_error $? "missing argument to $ac_option"
  1629. fi
  1630. if test -n "$ac_unrecognized_opts"; then
  1631. case $enable_option_checking in
  1632. no) ;;
  1633. fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
  1634. *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
  1635. esac
  1636. fi
  1637. # Check all directory arguments for consistency.
  1638. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
  1639. datadir sysconfdir sharedstatedir localstatedir includedir \
  1640. oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
  1641. libdir localedir mandir
  1642. do
  1643. eval ac_val=\$$ac_var
  1644. # Remove trailing slashes.
  1645. case $ac_val in
  1646. */ )
  1647. ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
  1648. eval $ac_var=\$ac_val;;
  1649. esac
  1650. # Be sure to have absolute directory names.
  1651. case $ac_val in
  1652. [\\/$]* | ?:[\\/]* ) continue;;
  1653. NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
  1654. esac
  1655. as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
  1656. done
  1657. # There might be people who depend on the old broken behavior: `$host'
  1658. # used to hold the argument of --host etc.
  1659. # FIXME: To remove some day.
  1660. build=$build_alias
  1661. host=$host_alias
  1662. target=$target_alias
  1663. # FIXME: To remove some day.
  1664. if test "x$host_alias" != x; then
  1665. if test "x$build_alias" = x; then
  1666. cross_compiling=maybe
  1667. elif test "x$build_alias" != "x$host_alias"; then
  1668. cross_compiling=yes
  1669. fi
  1670. fi
  1671. ac_tool_prefix=
  1672. test -n "$host_alias" && ac_tool_prefix=$host_alias-
  1673. test "$silent" = yes && exec 6>/dev/null
  1674. ac_pwd=`pwd` && test -n "$ac_pwd" &&
  1675. ac_ls_di=`ls -di .` &&
  1676. ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
  1677. as_fn_error $? "working directory cannot be determined"
  1678. test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
  1679. as_fn_error $? "pwd does not report name of working directory"
  1680. # Find the source files, if location was not specified.
  1681. if test -z "$srcdir"; then
  1682. ac_srcdir_defaulted=yes
  1683. # Try the directory containing this script, then the parent directory.
  1684. ac_confdir=`$as_dirname -- "$as_myself" ||
  1685. $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  1686. X"$as_myself" : 'X\(//\)[^/]' \| \
  1687. X"$as_myself" : 'X\(//\)$' \| \
  1688. X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
  1689. $as_echo X"$as_myself" |
  1690. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  1691. s//\1/
  1692. q
  1693. }
  1694. /^X\(\/\/\)[^/].*/{
  1695. s//\1/
  1696. q
  1697. }
  1698. /^X\(\/\/\)$/{
  1699. s//\1/
  1700. q
  1701. }
  1702. /^X\(\/\).*/{
  1703. s//\1/
  1704. q
  1705. }
  1706. s/.*/./; q'`
  1707. srcdir=$ac_confdir
  1708. if test ! -r "$srcdir/$ac_unique_file"; then
  1709. srcdir=..
  1710. fi
  1711. else
  1712. ac_srcdir_defaulted=no
  1713. fi
  1714. if test ! -r "$srcdir/$ac_unique_file"; then
  1715. test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
  1716. as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
  1717. fi
  1718. ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
  1719. ac_abs_confdir=`(
  1720. cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
  1721. pwd)`
  1722. # When building in place, set srcdir=.
  1723. if test "$ac_abs_confdir" = "$ac_pwd"; then
  1724. srcdir=.
  1725. fi
  1726. # Remove unnecessary trailing slashes from srcdir.
  1727. # Double slashes in file names in object file debugging info
  1728. # mess up M-x gdb in Emacs.
  1729. case $srcdir in
  1730. */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
  1731. esac
  1732. for ac_var in $ac_precious_vars; do
  1733. eval ac_env_${ac_var}_set=\${${ac_var}+set}
  1734. eval ac_env_${ac_var}_value=\$${ac_var}
  1735. eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
  1736. eval ac_cv_env_${ac_var}_value=\$${ac_var}
  1737. done
  1738. #
  1739. # Report the --help message.
  1740. #
  1741. if test "$ac_init_help" = "long"; then
  1742. # Omit some internal or obsolete options to make the list less imposing.
  1743. # This message is too long to be a string in the A/UX 3.1 sh.
  1744. cat <<_ACEOF
  1745. \`configure' configures libmesh 1.7.0-pre to adapt to many kinds of systems.
  1746. Usage: $0 [OPTION]... [VAR=VALUE]...
  1747. To assign environment variables (e.g., CC, CFLAGS...), specify them as
  1748. VAR=VALUE. See below for descriptions of some of the useful variables.
  1749. Defaults for the options are specified in brackets.
  1750. Configuration:
  1751. -h, --help display this help and exit
  1752. --help=short display options specific to this package
  1753. --help=recursive display the short help of all the included packages
  1754. -V, --version display version information and exit
  1755. -q, --quiet, --silent do not print \`checking ...' messages
  1756. --cache-file=FILE cache test results in FILE [disabled]
  1757. -C, --config-cache alias for \`--cache-file=config.cache'
  1758. -n, --no-create do not create output files
  1759. --srcdir=DIR find the sources in DIR [configure dir or \`..']
  1760. Installation directories:
  1761. --prefix=PREFIX install architecture-independent files in PREFIX
  1762. [$ac_default_prefix]
  1763. --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
  1764. [PREFIX]
  1765. By default, \`make install' will install all the files in
  1766. \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
  1767. an installation prefix other than \`$ac_default_prefix' using \`--prefix',
  1768. for instance \`--prefix=\$HOME'.
  1769. For better control, use the options below.
  1770. Fine tuning of the installation directories:
  1771. --bindir=DIR user executables [EPREFIX/bin]
  1772. --sbindir=DIR system admin executables [EPREFIX/sbin]
  1773. --libexecdir=DIR program executables [EPREFIX/libexec]
  1774. --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
  1775. --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
  1776. --localstatedir=DIR modifiable single-machine data [PREFIX/var]
  1777. --libdir=DIR object code libraries [EPREFIX/lib]
  1778. --includedir=DIR C header files [PREFIX/include]
  1779. --oldincludedir=DIR C header files for non-gcc [/usr/include]
  1780. --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
  1781. --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
  1782. --infodir=DIR info documentation [DATAROOTDIR/info]
  1783. --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
  1784. --mandir=DIR man documentation [DATAROOTDIR/man]
  1785. --docdir=DIR documentation root [DATAROOTDIR/doc/libmesh]
  1786. --htmldir=DIR html documentation [DOCDIR]
  1787. --dvidir=DIR dvi documentation [DOCDIR]
  1788. --pdfdir=DIR pdf documentation [DOCDIR]
  1789. --psdir=DIR ps documentation [DOCDIR]
  1790. _ACEOF
  1791. cat <<\_ACEOF
  1792. Program names:
  1793. --program-prefix=PREFIX prepend PREFIX to installed program names
  1794. --program-suffix=SUFFIX append SUFFIX to installed program names
  1795. --program-transform-name=PROGRAM run sed PROGRAM on installed program names
  1796. System types:
  1797. --build=BUILD configure for building on BUILD [guessed]
  1798. --host=HOST cross-compile to build programs to run on HOST [BUILD]
  1799. --target=TARGET configure for building compilers for TARGET [HOST]
  1800. _ACEOF
  1801. fi
  1802. if test -n "$ac_init_help"; then
  1803. case $ac_init_help in
  1804. short | recursive ) echo "Configuration of libmesh 1.7.0-pre:";;
  1805. esac
  1806. cat <<\_ACEOF
  1807. Optional Features:
  1808. --disable-option-checking ignore unrecognized --enable/--with options
  1809. --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
  1810. --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
  1811. --enable-silent-rules less verbose build output (undo: "make V=1")
  1812. --disable-silent-rules verbose build output (undo: "make V=0")
  1813. --enable-maintainer-mode
  1814. enable make rules and dependencies not useful (and
  1815. sometimes confusing) to the casual installer
  1816. --disable-mpi build without MPI message passing support
  1817. --disable-optional build without most optional external libraries
  1818. --disable-petsc build without PETSc iterative solver support
  1819. --enable-dependency-tracking
  1820. do not reject slow dependency extractors
  1821. --disable-dependency-tracking
  1822. speeds up one-time build
  1823. --disable-fortran build without Fortran language support
  1824. --enable-march Determine the correct -march flag for this system
  1825. --enable-sanitize="opt dbg devel prof oprof"
  1826. turn on sanitizer flags for the given methods
  1827. --enable-glibcxx-debugging
  1828. enable -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC in
  1829. dbg mode
  1830. --enable-glibcxx-debugging-cppunit
  1831. Use GLIBCXX debugging flags for unit tests
  1832. --enable-coverage configure code coverage analysis tools
  1833. --enable-werror Turn compilation warnings into errors
  1834. --enable-paranoid-warnings
  1835. Turn on paranoid compiler warnings
  1836. --enable-static[=PKGS] build static libraries [default=no]
  1837. --enable-shared[=PKGS] build shared libraries [default=yes]
  1838. --enable-fast-install[=PKGS]
  1839. optimize for fast installation [default=yes]
  1840. --disable-libtool-lock avoid locking (might break parallel builds)
  1841. --enable-all-static Pass -all-static to libtool's link mode
  1842. --enable-singleprecision
  1843. Use single-precision scalars
  1844. --enable-tripleprecision
  1845. Use triple-precision scalars
  1846. --enable-quadrupleprecision
  1847. Use quadruple-precision scalars
  1848. --disable-getpwuid do not make calls to getpwuid
  1849. --disable-exceptions exit rather than throw exceptions on unexpected
  1850. errors
  1851. --disable-timestamps do not add preprocessor timestamps to the library
  1852. (helps ccache)
  1853. --disable-unordered-containers
  1854. Use map/set instead of unordered_map/unordered_set
  1855. (no longer supported)
  1856. --disable-unique-ptr Use libMesh's deprecated, less safe AutoPtr
  1857. --disable-warnings Do not warn about deprecated, experimental, or
  1858. questionable code
  1859. --disable-deprecated Deprecated code use gives errors rather than
  1860. warnings
  1861. --disable-forward-declare-enums
  1862. Directly include enumeration headers rather than
  1863. forward declaring them
  1864. --enable-blocked-storage
  1865. Support for blocked matrix/vector storage
  1866. --enable-legacy-include-paths
  1867. allow for e.g. #include "header.h" instead of
  1868. #include "libmesh/header.h"
  1869. --enable-legacy-using-namespace
  1870. add "using namespace libMesh" to libMesh headers
  1871. --enable-everything enable all non-conflicting options
  1872. --enable-unique-id build with unique id support
  1873. --enable-tracefiles write stack trace files on unexpected errors
  1874. --disable-amr build without adaptive mesh refinement (AMR) support
  1875. --disable-vsmoother build without variational smoother support
  1876. --disable-periodic build without periodic boundary condition support
  1877. --disable-dirichlet build without Dirichlet boundary constraint support
  1878. --enable-nodeconstraint build with node constraints support
  1879. --enable-parmesh Use distributed ParallelMesh as Mesh
  1880. --disable-ghosted Use dense instead of sparse/ghosted local vectors
  1881. --disable-node-valence Do not compute and store node valence values
  1882. --enable-1D-only build with support for 1D meshes only
  1883. --enable-2D-only build with support for 1D and 2D meshes only
  1884. --disable-pfem build without support for higher p order FEM shapes
  1885. --enable-ifem build with infinite elements
  1886. --disable-second build without second derivatives support
  1887. --enable-complex build to support complex-number solutions
  1888. --disable-reference-counting
  1889. build without reference counting support
  1890. --enable-perflog build with performance logging turned on
  1891. --disable-examples Do not compile, install, or test with example suite
  1892. --disable-strict-lgpl Compile libmesh with even non-LGPL-compatible
  1893. contrib libraries
  1894. --disable-nested Do not use nested autoconf subpackages
  1895. --disable-xdr build without XDR platform-independent binary I/O
  1896. --disable-boost build without either external or built-in BOOST
  1897. support
  1898. --enable-petsc-required Error if PETSc is not detected by configure
  1899. --enable-petsc-hypre-required
  1900. Error if a PETSc with Hypre is not detected by
  1901. configure
  1902. --disable-slepc build without SLEPc eigen solver support
  1903. --disable-trilinos build without Trilinos support
  1904. --disable-openmp build without OpenMP support
  1905. --disable-pthreads build without POSIX threading (pthreads) support
  1906. --disable-tbb build without threading support via Threading
  1907. Building Blocks
  1908. --disable-laspack build without LASPACK iterative solver support
  1909. --disable-sfc build without space-filling curves support
  1910. --disable-gzstreams build without gzstreams compressed I/O support
  1911. --disable-bzip2 build without bzip2 compressed I/O support
  1912. --disable-xz build without xz compressed I/O support
  1913. --disable-tecio build without Tecplot TecIO API support (from
  1914. source)
  1915. --enable-tecplot build with Tecplot binary file I/O support (using
  1916. distributed libraries)
  1917. --disable-metis build without Metis graph partitioning support
  1918. --disable-parmetis build without Parmetis parallel graph partitioning
  1919. support
  1920. --disable-tetgen build without TetGen tetrahedralization library
  1921. support
  1922. --disable-triangle build without Triangle Delaunay triangulation
  1923. library support
  1924. --enable-qhull build with Qhull API support
  1925. --disable-gmv build without GMV file I/O support
  1926. --disable-vtk build without VTK file I/O support
  1927. --enable-vtk-required Error if VTK is not detected by configure
  1928. --disable-eigen build without Eigen linear algebra support
  1929. --disable-glpk build without GLPK support
  1930. --disable-nlopt build without NLOPT support
  1931. --disable-capnproto build without Cap'n Proto support
  1932. --enable-capnp-required Error if Cap'n Proto support is not detected by
  1933. configure
  1934. --enable-curl link against libcurl, for using the cURL API
  1935. --enable-hdf5 build libmesh with HDF5 support, the selected HDF5
  1936. must be compatible with contrib/netcdf
  1937. --disable-netcdf build without netCDF binary I/O
  1938. --enable-netcdf-required
  1939. Error if NETCDF is not detected by configure
  1940. --disable-exodus build without ExodusII API support
  1941. --enable-exodus-fortran build with ExodusII Fortran API support
  1942. --disable-nemesis build without NemesisII API support
  1943. --disable-libHilbert build without Chris Hamilton's libHilbert
  1944. --disable-fparser build without C++ function parser support
  1945. --enable-fparser-debugging
  1946. Build fparser with bytecode debugging functions
  1947. --disable-cppunit Build without cppunit C++ unit testing support
  1948. --disable-nanoflann build without nanoflann KD-tree support
  1949. --enable-nanoflann-pointlocator
  1950. use Nanoflann-based PointLocator (experimental)
  1951. --disable-metaphysicl build without MetaPhysicL suppport
  1952. --enable-metaphysicl-required
  1953. Error if MetaPhysicL is not detected by configure
  1954. Optional Packages:
  1955. --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
  1956. --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
  1957. --with-mpi[=DIR] Prefix where MPI is installed (default is MPIHOME
  1958. and then MPI_HOME)
  1959. --with-mpi-include[=DIR]
  1960. Prefix where MPI headers are installed (default is
  1961. --with-mpi+/include)
  1962. --with-mpi-lib[=DIR] Prefix where MPI binaries are installed (default is
  1963. --with-mpi+/lib)
  1964. --with-cc=CC C compiler to use
  1965. --with-fc=FC Fortran compiler to use
  1966. --with-f77=F77 Fortran compiler to use
  1967. --with-cxx=CXX C++ compiler to use
  1968. --with-gcc-arch=<arch> use architecture <arch> for gcc -march/-mtune,
  1969. instead of guessing
  1970. --with-cxx-std-max[=ARG]
  1971. Maximum C++ standard year to request, 2011+; this
  1972. does not override your compiler default
  1973. --with-cxx-std-min[=ARG]
  1974. Minimum C++ standard year to require; default 2011
  1975. --with-cxx-std[=ARG] Exact C++ standard year to require
  1976. --with-methods=METHODS methods used to build libMesh
  1977. (opt,dbg,devel,prof,oprof)
  1978. --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
  1979. both]
  1980. --with-aix-soname=aix|svr4|both
  1981. shared library versioning (aka "SONAME") variant to
  1982. provide on AIX, [default=aix].
  1983. --with-gnu-ld assume the C compiler uses GNU ld [default=no]
  1984. --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
  1985. compiler's sysroot if not specified).
  1986. --with-gdb-command=commandname
  1987. Specify command to invoke gdb. Use
  1988. --without-gdb-command to disable GDB backtraces.
  1989. --with-boundary-id-bytes=<1|2|4|8>
  1990. bytes used per boundary side per boundary_id [2]
  1991. --with-dof-id-bytes=<1|2|4|8>
  1992. bytes used per dof object id, dof index [4]
  1993. --with-processor-id-bytes=<1|2|4|8>
  1994. bytes used for processor id [4]
  1995. --with-subdomain-id-bytes=<1|2|4|8>
  1996. bytes of storage per element used to store the
  1997. subdomain_id [2]
  1998. --with-unique-id-bytes=<1|2|4|8>
  1999. bytes used per unique id [8]
  2000. --with-boost[=ARG] use Boost library from a standard location
  2001. (ARG=yes), from the specified location (ARG=<path>),
  2002. or disable it (ARG=no) [ARG=yes]
  2003. --with-boost-libdir=LIB_DIR
  2004. Force given directory for boost libraries. Note that
  2005. this will override library path detection, so use
  2006. this parameter only if default library detection
  2007. fails and you know exactly where your boost
  2008. libraries are located.
  2009. --with-gm=PATH Prefix where GM is installed (GMHOME)
  2010. --with-trilinos=PATH Specify the path to Trilinos installation
  2011. --with-nox=PATH Specify the path to Nox installation
  2012. --with-ml=PATH Specify the path to ML installation
  2013. --with-tpetra=PATH Specify the path to Tpetra installation
  2014. --with-dtk=PATH Specify the path to Dtk installation
  2015. --with-thread-model=tbb,pthread,openmp,auto,none
  2016. Specify the thread model to use
  2017. --with-tbb=PATH Specify the path where Threading Building Blocks is
  2018. installed
  2019. --with-tbb-lib=PATH Specify the path to Threading Building Blocks
  2020. libraries
  2021. --with-tecio-x11-include=PATH
  2022. Path to X11 header files. E.g. /usr/include but
  2023. _not_ /usr/include/X11
  2024. --with-metis=<internal,PETSc,/some/libdir>
  2025. internal: build from contrib, PETSc: rely on PETSc
  2026. --with-metis-include=</some/includedir>
  2027. --with-parmetis=<internal,PETSc,/some/libdir>
  2028. internal: build from contrib, PETSc: rely on PETSc
  2029. --with-parmetis-include=</some/includedir>
  2030. --with-vtk-include=PATH Specify the path for VTK header files
  2031. --with-vtk-lib=PATH Specify the path for VTK libs
  2032. --with-eigen-include=PATH
  2033. Specify the path for EIGEN header files
  2034. --with-glpk-include=PATH
  2035. Specify the path for GLPK header files
  2036. --with-glpk-lib=PATH Specify the path for GLPK libs
  2037. --with-nlopt-include=PATH
  2038. Specify the path for NLOPT header files
  2039. --with-nlopt-lib=PATH Specify the path for NLOPT libs
  2040. --with-capnproto=PATH Specify location of the CAPNPROTO installation
  2041. --with-curl-include=PATH
  2042. Specify the path for CURL header files
  2043. --with-curl-lib=PATH Specify the path for CURL libs
  2044. --with-hdf5=DIR root directory of HDF5 installation (default =
  2045. HDF5_DIR)
  2046. --with-netcdf-include=PATH
  2047. Specify the path for NETCDF header files
  2048. --with-netcdf-lib=PATH Specify the path for NETCDF libs
  2049. --with-fparser=<release|none|devel>
  2050. Determine which version of the C++ function parser
  2051. to use
  2052. --with-cppunit-include=PATH
  2053. Specify a path for cppunit header files
  2054. --with-cppunit-lib=PATH Specify a path for cppunit libs
  2055. Some influential environment variables:
  2056. PETSC_DIR path to PETSc installation
  2057. PETSC_ARCH PETSc build architecture
  2058. CC C compiler command
  2059. CFLAGS C compiler flags
  2060. LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
  2061. nonstandard directory <lib dir>
  2062. LIBS libraries to pass to the linker, e.g. -l<library>
  2063. CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
  2064. you have headers in a nonstandard directory <include dir>
  2065. FC Fortran compiler command
  2066. FCFLAGS Fortran compiler flags
  2067. F77 Fortran 77 compiler command
  2068. FFLAGS Fortran 77 compiler flags
  2069. CXX C++ compiler command
  2070. CXXFLAGS C++ compiler flags
  2071. METHODS methods used to build libMesh, e.g. "opt dbg devel".
  2072. Possibilities include: (opt,dbg,devel,prof,oprof)
  2073. libmesh_CPPFLAGS
  2074. User-specified C/C++ preprocessor flags
  2075. libmesh_CXXFLAGS
  2076. User-specified C++ compilation flags
  2077. libmesh_CFLAGS
  2078. User-specified C compilation flags
  2079. LT_SYS_LIBRARY_PATH
  2080. User-defined run-time library search path.
  2081. CPP C preprocessor
  2082. CXXCPP C++ preprocessor
  2083. SLEPC_DIR path to SLEPc installation
  2084. TRILINOS_DIR
  2085. path to Trilinos installation
  2086. VTK_INCLUDE path to VTK header files
  2087. VTK_DIR path to VTK installation
  2088. HDF5_DIR root directory of HDF5 installation
  2089. NETCDF_INCLUDE
  2090. path to NETCDF header files
  2091. NETCDF_DIR path to NETCDF installation
  2092. YACC The `Yet Another Compiler Compiler' implementation to use.
  2093. Defaults to the first program found out of: `bison -y', `byacc',
  2094. `yacc'.
  2095. YFLAGS The list of arguments that will be passed by default to $YACC.
  2096. This script will default YFLAGS to the empty string to avoid a
  2097. default value of `-d' given by some make applications.
  2098. Use these variables to override the choices made by `configure' or to help
  2099. it to find libraries and programs with nonstandard names/locations.
  2100. Report bugs to <libmesh-users@lists.sourceforge.net>.
  2101. libmesh home page: <http://libmesh.github.io>.
  2102. _ACEOF
  2103. ac_status=$?
  2104. fi
  2105. if test "$ac_init_help" = "recursive"; then
  2106. # If there are subdirs, report their specific --help.
  2107. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
  2108. test -d "$ac_dir" ||
  2109. { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
  2110. continue
  2111. ac_builddir=.
  2112. case "$ac_dir" in
  2113. .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
  2114. *)
  2115. ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  2116. # A ".." for each directory in $ac_dir_suffix.
  2117. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  2118. case $ac_top_builddir_sub in
  2119. "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  2120. *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  2121. esac ;;
  2122. esac
  2123. ac_abs_top_builddir=$ac_pwd
  2124. ac_abs_builddir=$ac_pwd$ac_dir_suffix
  2125. # for backward compatibility:
  2126. ac_top_builddir=$ac_top_build_prefix
  2127. case $srcdir in
  2128. .) # We are building in place.
  2129. ac_srcdir=.
  2130. ac_top_srcdir=$ac_top_builddir_sub
  2131. ac_abs_top_srcdir=$ac_pwd ;;
  2132. [\\/]* | ?:[\\/]* ) # Absolute name.
  2133. ac_srcdir=$srcdir$ac_dir_suffix;
  2134. ac_top_srcdir=$srcdir
  2135. ac_abs_top_srcdir=$srcdir ;;
  2136. *) # Relative name.
  2137. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
  2138. ac_top_srcdir=$ac_top_build_prefix$srcdir
  2139. ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
  2140. esac
  2141. ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
  2142. cd "$ac_dir" || { ac_status=$?; continue; }
  2143. # Check for guested configure.
  2144. if test -f "$ac_srcdir/configure.gnu"; then
  2145. echo &&
  2146. $SHELL "$ac_srcdir/configure.gnu" --help=recursive
  2147. elif test -f "$ac_srcdir/configure"; then
  2148. echo &&
  2149. $SHELL "$ac_srcdir/configure" --help=recursive
  2150. else
  2151. $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
  2152. fi || ac_status=$?
  2153. cd "$ac_pwd" || { ac_status=$?; break; }
  2154. done
  2155. fi
  2156. test -n "$ac_init_help" && exit $ac_status
  2157. if $ac_init_version; then
  2158. cat <<\_ACEOF
  2159. libmesh configure 1.7.0-pre
  2160. generated by GNU Autoconf 2.69
  2161. Copyright (C) 2012 Free Software Foundation, Inc.
  2162. This configure script is free software; the Free Software Foundation
  2163. gives unlimited permission to copy, distribute and modify it.
  2164. _ACEOF
  2165. exit
  2166. fi
  2167. ## ------------------------ ##
  2168. ## Autoconf initialization. ##
  2169. ## ------------------------ ##
  2170. # ac_fn_c_try_compile LINENO
  2171. # --------------------------
  2172. # Try to compile conftest.$ac_ext, and return whether this succeeded.
  2173. ac_fn_c_try_compile ()
  2174. {
  2175. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2176. rm -f conftest.$ac_objext
  2177. if { { ac_try="$ac_compile"
  2178. case "(($ac_try" in
  2179. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2180. *) ac_try_echo=$ac_try;;
  2181. esac
  2182. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2183. $as_echo "$ac_try_echo"; } >&5
  2184. (eval "$ac_compile") 2>conftest.err
  2185. ac_status=$?
  2186. if test -s conftest.err; then
  2187. grep -v '^ *+' conftest.err >conftest.er1
  2188. cat conftest.er1 >&5
  2189. mv -f conftest.er1 conftest.err
  2190. fi
  2191. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2192. test $ac_status = 0; } && {
  2193. test -z "$ac_c_werror_flag" ||
  2194. test ! -s conftest.err
  2195. } && test -s conftest.$ac_objext; then :
  2196. ac_retval=0
  2197. else
  2198. $as_echo "$as_me: failed program was:" >&5
  2199. sed 's/^/| /' conftest.$ac_ext >&5
  2200. ac_retval=1
  2201. fi
  2202. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2203. as_fn_set_status $ac_retval
  2204. } # ac_fn_c_try_compile
  2205. # ac_fn_fc_try_compile LINENO
  2206. # ---------------------------
  2207. # Try to compile conftest.$ac_ext, and return whether this succeeded.
  2208. ac_fn_fc_try_compile ()
  2209. {
  2210. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2211. rm -f conftest.$ac_objext
  2212. if { { ac_try="$ac_compile"
  2213. case "(($ac_try" in
  2214. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2215. *) ac_try_echo=$ac_try;;
  2216. esac
  2217. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2218. $as_echo "$ac_try_echo"; } >&5
  2219. (eval "$ac_compile") 2>conftest.err
  2220. ac_status=$?
  2221. if test -s conftest.err; then
  2222. grep -v '^ *+' conftest.err >conftest.er1
  2223. cat conftest.er1 >&5
  2224. mv -f conftest.er1 conftest.err
  2225. fi
  2226. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2227. test $ac_status = 0; } && {
  2228. test -z "$ac_fc_werror_flag" ||
  2229. test ! -s conftest.err
  2230. } && test -s conftest.$ac_objext; then :
  2231. ac_retval=0
  2232. else
  2233. $as_echo "$as_me: failed program was:" >&5
  2234. sed 's/^/| /' conftest.$ac_ext >&5
  2235. ac_retval=1
  2236. fi
  2237. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2238. as_fn_set_status $ac_retval
  2239. } # ac_fn_fc_try_compile
  2240. # ac_fn_f77_try_compile LINENO
  2241. # ----------------------------
  2242. # Try to compile conftest.$ac_ext, and return whether this succeeded.
  2243. ac_fn_f77_try_compile ()
  2244. {
  2245. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2246. rm -f conftest.$ac_objext
  2247. if { { ac_try="$ac_compile"
  2248. case "(($ac_try" in
  2249. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2250. *) ac_try_echo=$ac_try;;
  2251. esac
  2252. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2253. $as_echo "$ac_try_echo"; } >&5
  2254. (eval "$ac_compile") 2>conftest.err
  2255. ac_status=$?
  2256. if test -s conftest.err; then
  2257. grep -v '^ *+' conftest.err >conftest.er1
  2258. cat conftest.er1 >&5
  2259. mv -f conftest.er1 conftest.err
  2260. fi
  2261. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2262. test $ac_status = 0; } && {
  2263. test -z "$ac_f77_werror_flag" ||
  2264. test ! -s conftest.err
  2265. } && test -s conftest.$ac_objext; then :
  2266. ac_retval=0
  2267. else
  2268. $as_echo "$as_me: failed program was:" >&5
  2269. sed 's/^/| /' conftest.$ac_ext >&5
  2270. ac_retval=1
  2271. fi
  2272. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2273. as_fn_set_status $ac_retval
  2274. } # ac_fn_f77_try_compile
  2275. # ac_fn_cxx_try_compile LINENO
  2276. # ----------------------------
  2277. # Try to compile conftest.$ac_ext, and return whether this succeeded.
  2278. ac_fn_cxx_try_compile ()
  2279. {
  2280. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2281. rm -f conftest.$ac_objext
  2282. if { { ac_try="$ac_compile"
  2283. case "(($ac_try" in
  2284. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2285. *) ac_try_echo=$ac_try;;
  2286. esac
  2287. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2288. $as_echo "$ac_try_echo"; } >&5
  2289. (eval "$ac_compile") 2>conftest.err
  2290. ac_status=$?
  2291. if test -s conftest.err; then
  2292. grep -v '^ *+' conftest.err >conftest.er1
  2293. cat conftest.er1 >&5
  2294. mv -f conftest.er1 conftest.err
  2295. fi
  2296. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2297. test $ac_status = 0; } && {
  2298. test -z "$ac_cxx_werror_flag" ||
  2299. test ! -s conftest.err
  2300. } && test -s conftest.$ac_objext; then :
  2301. ac_retval=0
  2302. else
  2303. $as_echo "$as_me: failed program was:" >&5
  2304. sed 's/^/| /' conftest.$ac_ext >&5
  2305. ac_retval=1
  2306. fi
  2307. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2308. as_fn_set_status $ac_retval
  2309. } # ac_fn_cxx_try_compile
  2310. # ac_fn_c_try_run LINENO
  2311. # ----------------------
  2312. # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
  2313. # that executables *can* be run.
  2314. ac_fn_c_try_run ()
  2315. {
  2316. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2317. if { { ac_try="$ac_link"
  2318. case "(($ac_try" in
  2319. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2320. *) ac_try_echo=$ac_try;;
  2321. esac
  2322. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2323. $as_echo "$ac_try_echo"; } >&5
  2324. (eval "$ac_link") 2>&5
  2325. ac_status=$?
  2326. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2327. test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
  2328. { { case "(($ac_try" in
  2329. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2330. *) ac_try_echo=$ac_try;;
  2331. esac
  2332. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2333. $as_echo "$ac_try_echo"; } >&5
  2334. (eval "$ac_try") 2>&5
  2335. ac_status=$?
  2336. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2337. test $ac_status = 0; }; }; then :
  2338. ac_retval=0
  2339. else
  2340. $as_echo "$as_me: program exited with status $ac_status" >&5
  2341. $as_echo "$as_me: failed program was:" >&5
  2342. sed 's/^/| /' conftest.$ac_ext >&5
  2343. ac_retval=$ac_status
  2344. fi
  2345. rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  2346. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2347. as_fn_set_status $ac_retval
  2348. } # ac_fn_c_try_run
  2349. # ac_fn_cxx_try_run LINENO
  2350. # ------------------------
  2351. # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
  2352. # that executables *can* be run.
  2353. ac_fn_cxx_try_run ()
  2354. {
  2355. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2356. if { { ac_try="$ac_link"
  2357. case "(($ac_try" in
  2358. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2359. *) ac_try_echo=$ac_try;;
  2360. esac
  2361. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2362. $as_echo "$ac_try_echo"; } >&5
  2363. (eval "$ac_link") 2>&5
  2364. ac_status=$?
  2365. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2366. test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
  2367. { { case "(($ac_try" in
  2368. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2369. *) ac_try_echo=$ac_try;;
  2370. esac
  2371. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2372. $as_echo "$ac_try_echo"; } >&5
  2373. (eval "$ac_try") 2>&5
  2374. ac_status=$?
  2375. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2376. test $ac_status = 0; }; }; then :
  2377. ac_retval=0
  2378. else
  2379. $as_echo "$as_me: program exited with status $ac_status" >&5
  2380. $as_echo "$as_me: failed program was:" >&5
  2381. sed 's/^/| /' conftest.$ac_ext >&5
  2382. ac_retval=$ac_status
  2383. fi
  2384. rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  2385. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2386. as_fn_set_status $ac_retval
  2387. } # ac_fn_cxx_try_run
  2388. # ac_fn_c_try_link LINENO
  2389. # -----------------------
  2390. # Try to link conftest.$ac_ext, and return whether this succeeded.
  2391. ac_fn_c_try_link ()
  2392. {
  2393. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2394. rm -f conftest.$ac_objext conftest$ac_exeext
  2395. if { { ac_try="$ac_link"
  2396. case "(($ac_try" in
  2397. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2398. *) ac_try_echo=$ac_try;;
  2399. esac
  2400. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2401. $as_echo "$ac_try_echo"; } >&5
  2402. (eval "$ac_link") 2>conftest.err
  2403. ac_status=$?
  2404. if test -s conftest.err; then
  2405. grep -v '^ *+' conftest.err >conftest.er1
  2406. cat conftest.er1 >&5
  2407. mv -f conftest.er1 conftest.err
  2408. fi
  2409. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2410. test $ac_status = 0; } && {
  2411. test -z "$ac_c_werror_flag" ||
  2412. test ! -s conftest.err
  2413. } && test -s conftest$ac_exeext && {
  2414. test "$cross_compiling" = yes ||
  2415. test -x conftest$ac_exeext
  2416. }; then :
  2417. ac_retval=0
  2418. else
  2419. $as_echo "$as_me: failed program was:" >&5
  2420. sed 's/^/| /' conftest.$ac_ext >&5
  2421. ac_retval=1
  2422. fi
  2423. # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
  2424. # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
  2425. # interfere with the next link command; also delete a directory that is
  2426. # left behind by Apple's compiler. We do this before executing the actions.
  2427. rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  2428. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2429. as_fn_set_status $ac_retval
  2430. } # ac_fn_c_try_link
  2431. # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
  2432. # -------------------------------------------------------
  2433. # Tests whether HEADER exists and can be compiled using the include files in
  2434. # INCLUDES, setting the cache variable VAR accordingly.
  2435. ac_fn_c_check_header_compile ()
  2436. {
  2437. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2438. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  2439. $as_echo_n "checking for $2... " >&6; }
  2440. if eval \${$3+:} false; then :
  2441. $as_echo_n "(cached) " >&6
  2442. else
  2443. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2444. /* end confdefs.h. */
  2445. $4
  2446. #include <$2>
  2447. _ACEOF
  2448. if ac_fn_c_try_compile "$LINENO"; then :
  2449. eval "$3=yes"
  2450. else
  2451. eval "$3=no"
  2452. fi
  2453. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2454. fi
  2455. eval ac_res=\$$3
  2456. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  2457. $as_echo "$ac_res" >&6; }
  2458. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2459. } # ac_fn_c_check_header_compile
  2460. # ac_fn_c_try_cpp LINENO
  2461. # ----------------------
  2462. # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
  2463. ac_fn_c_try_cpp ()
  2464. {
  2465. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2466. if { { ac_try="$ac_cpp conftest.$ac_ext"
  2467. case "(($ac_try" in
  2468. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2469. *) ac_try_echo=$ac_try;;
  2470. esac
  2471. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2472. $as_echo "$ac_try_echo"; } >&5
  2473. (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
  2474. ac_status=$?
  2475. if test -s conftest.err; then
  2476. grep -v '^ *+' conftest.err >conftest.er1
  2477. cat conftest.er1 >&5
  2478. mv -f conftest.er1 conftest.err
  2479. fi
  2480. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2481. test $ac_status = 0; } > conftest.i && {
  2482. test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
  2483. test ! -s conftest.err
  2484. }; then :
  2485. ac_retval=0
  2486. else
  2487. $as_echo "$as_me: failed program was:" >&5
  2488. sed 's/^/| /' conftest.$ac_ext >&5
  2489. ac_retval=1
  2490. fi
  2491. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2492. as_fn_set_status $ac_retval
  2493. } # ac_fn_c_try_cpp
  2494. # ac_fn_c_check_func LINENO FUNC VAR
  2495. # ----------------------------------
  2496. # Tests whether FUNC exists, setting the cache variable VAR accordingly
  2497. ac_fn_c_check_func ()
  2498. {
  2499. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2500. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  2501. $as_echo_n "checking for $2... " >&6; }
  2502. if eval \${$3+:} false; then :
  2503. $as_echo_n "(cached) " >&6
  2504. else
  2505. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2506. /* end confdefs.h. */
  2507. /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
  2508. For example, HP-UX 11i <limits.h> declares gettimeofday. */
  2509. #define $2 innocuous_$2
  2510. /* System header to define __stub macros and hopefully few prototypes,
  2511. which can conflict with char $2 (); below.
  2512. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  2513. <limits.h> exists even on freestanding compilers. */
  2514. #ifdef __STDC__
  2515. # include <limits.h>
  2516. #else
  2517. # include <assert.h>
  2518. #endif
  2519. #undef $2
  2520. /* Override any GCC internal prototype to avoid an error.
  2521. Use char because int might match the return type of a GCC
  2522. builtin and then its argument prototype would still apply. */
  2523. #ifdef __cplusplus
  2524. extern "C"
  2525. #endif
  2526. char $2 ();
  2527. /* The GNU C library defines this for functions which it implements
  2528. to always fail with ENOSYS. Some functions are actually named
  2529. something starting with __ and the normal name is an alias. */
  2530. #if defined __stub_$2 || defined __stub___$2
  2531. choke me
  2532. #endif
  2533. int
  2534. main ()
  2535. {
  2536. return $2 ();
  2537. ;
  2538. return 0;
  2539. }
  2540. _ACEOF
  2541. if ac_fn_c_try_link "$LINENO"; then :
  2542. eval "$3=yes"
  2543. else
  2544. eval "$3=no"
  2545. fi
  2546. rm -f core conftest.err conftest.$ac_objext \
  2547. conftest$ac_exeext conftest.$ac_ext
  2548. fi
  2549. eval ac_res=\$$3
  2550. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  2551. $as_echo "$ac_res" >&6; }
  2552. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2553. } # ac_fn_c_check_func
  2554. # ac_fn_cxx_try_cpp LINENO
  2555. # ------------------------
  2556. # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
  2557. ac_fn_cxx_try_cpp ()
  2558. {
  2559. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2560. if { { ac_try="$ac_cpp conftest.$ac_ext"
  2561. case "(($ac_try" in
  2562. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2563. *) ac_try_echo=$ac_try;;
  2564. esac
  2565. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2566. $as_echo "$ac_try_echo"; } >&5
  2567. (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
  2568. ac_status=$?
  2569. if test -s conftest.err; then
  2570. grep -v '^ *+' conftest.err >conftest.er1
  2571. cat conftest.er1 >&5
  2572. mv -f conftest.er1 conftest.err
  2573. fi
  2574. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2575. test $ac_status = 0; } > conftest.i && {
  2576. test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
  2577. test ! -s conftest.err
  2578. }; then :
  2579. ac_retval=0
  2580. else
  2581. $as_echo "$as_me: failed program was:" >&5
  2582. sed 's/^/| /' conftest.$ac_ext >&5
  2583. ac_retval=1
  2584. fi
  2585. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2586. as_fn_set_status $ac_retval
  2587. } # ac_fn_cxx_try_cpp
  2588. # ac_fn_cxx_try_link LINENO
  2589. # -------------------------
  2590. # Try to link conftest.$ac_ext, and return whether this succeeded.
  2591. ac_fn_cxx_try_link ()
  2592. {
  2593. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2594. rm -f conftest.$ac_objext conftest$ac_exeext
  2595. if { { ac_try="$ac_link"
  2596. case "(($ac_try" in
  2597. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2598. *) ac_try_echo=$ac_try;;
  2599. esac
  2600. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2601. $as_echo "$ac_try_echo"; } >&5
  2602. (eval "$ac_link") 2>conftest.err
  2603. ac_status=$?
  2604. if test -s conftest.err; then
  2605. grep -v '^ *+' conftest.err >conftest.er1
  2606. cat conftest.er1 >&5
  2607. mv -f conftest.er1 conftest.err
  2608. fi
  2609. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2610. test $ac_status = 0; } && {
  2611. test -z "$ac_cxx_werror_flag" ||
  2612. test ! -s conftest.err
  2613. } && test -s conftest$ac_exeext && {
  2614. test "$cross_compiling" = yes ||
  2615. test -x conftest$ac_exeext
  2616. }; then :
  2617. ac_retval=0
  2618. else
  2619. $as_echo "$as_me: failed program was:" >&5
  2620. sed 's/^/| /' conftest.$ac_ext >&5
  2621. ac_retval=1
  2622. fi
  2623. # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
  2624. # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
  2625. # interfere with the next link command; also delete a directory that is
  2626. # left behind by Apple's compiler. We do this before executing the actions.
  2627. rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  2628. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2629. as_fn_set_status $ac_retval
  2630. } # ac_fn_cxx_try_link
  2631. # ac_fn_f77_try_link LINENO
  2632. # -------------------------
  2633. # Try to link conftest.$ac_ext, and return whether this succeeded.
  2634. ac_fn_f77_try_link ()
  2635. {
  2636. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2637. rm -f conftest.$ac_objext conftest$ac_exeext
  2638. if { { ac_try="$ac_link"
  2639. case "(($ac_try" in
  2640. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2641. *) ac_try_echo=$ac_try;;
  2642. esac
  2643. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2644. $as_echo "$ac_try_echo"; } >&5
  2645. (eval "$ac_link") 2>conftest.err
  2646. ac_status=$?
  2647. if test -s conftest.err; then
  2648. grep -v '^ *+' conftest.err >conftest.er1
  2649. cat conftest.er1 >&5
  2650. mv -f conftest.er1 conftest.err
  2651. fi
  2652. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2653. test $ac_status = 0; } && {
  2654. test -z "$ac_f77_werror_flag" ||
  2655. test ! -s conftest.err
  2656. } && test -s conftest$ac_exeext && {
  2657. test "$cross_compiling" = yes ||
  2658. test -x conftest$ac_exeext
  2659. }; then :
  2660. ac_retval=0
  2661. else
  2662. $as_echo "$as_me: failed program was:" >&5
  2663. sed 's/^/| /' conftest.$ac_ext >&5
  2664. ac_retval=1
  2665. fi
  2666. # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
  2667. # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
  2668. # interfere with the next link command; also delete a directory that is
  2669. # left behind by Apple's compiler. We do this before executing the actions.
  2670. rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  2671. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2672. as_fn_set_status $ac_retval
  2673. } # ac_fn_f77_try_link
  2674. # ac_fn_fc_try_link LINENO
  2675. # ------------------------
  2676. # Try to link conftest.$ac_ext, and return whether this succeeded.
  2677. ac_fn_fc_try_link ()
  2678. {
  2679. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2680. rm -f conftest.$ac_objext conftest$ac_exeext
  2681. if { { ac_try="$ac_link"
  2682. case "(($ac_try" in
  2683. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  2684. *) ac_try_echo=$ac_try;;
  2685. esac
  2686. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  2687. $as_echo "$ac_try_echo"; } >&5
  2688. (eval "$ac_link") 2>conftest.err
  2689. ac_status=$?
  2690. if test -s conftest.err; then
  2691. grep -v '^ *+' conftest.err >conftest.er1
  2692. cat conftest.er1 >&5
  2693. mv -f conftest.er1 conftest.err
  2694. fi
  2695. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  2696. test $ac_status = 0; } && {
  2697. test -z "$ac_fc_werror_flag" ||
  2698. test ! -s conftest.err
  2699. } && test -s conftest$ac_exeext && {
  2700. test "$cross_compiling" = yes ||
  2701. test -x conftest$ac_exeext
  2702. }; then :
  2703. ac_retval=0
  2704. else
  2705. $as_echo "$as_me: failed program was:" >&5
  2706. sed 's/^/| /' conftest.$ac_ext >&5
  2707. ac_retval=1
  2708. fi
  2709. # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
  2710. # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
  2711. # interfere with the next link command; also delete a directory that is
  2712. # left behind by Apple's compiler. We do this before executing the actions.
  2713. rm -rf conftest.dSYM conftest_ipa8_conftest.oo
  2714. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2715. as_fn_set_status $ac_retval
  2716. } # ac_fn_fc_try_link
  2717. # ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
  2718. # ---------------------------------------------------------
  2719. # Tests whether HEADER exists, giving a warning if it cannot be compiled using
  2720. # the include files in INCLUDES and setting the cache variable VAR
  2721. # accordingly.
  2722. ac_fn_cxx_check_header_mongrel ()
  2723. {
  2724. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2725. if eval \${$3+:} false; then :
  2726. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  2727. $as_echo_n "checking for $2... " >&6; }
  2728. if eval \${$3+:} false; then :
  2729. $as_echo_n "(cached) " >&6
  2730. fi
  2731. eval ac_res=\$$3
  2732. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  2733. $as_echo "$ac_res" >&6; }
  2734. else
  2735. # Is the header compilable?
  2736. { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
  2737. $as_echo_n "checking $2 usability... " >&6; }
  2738. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2739. /* end confdefs.h. */
  2740. $4
  2741. #include <$2>
  2742. _ACEOF
  2743. if ac_fn_cxx_try_compile "$LINENO"; then :
  2744. ac_header_compiler=yes
  2745. else
  2746. ac_header_compiler=no
  2747. fi
  2748. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2749. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
  2750. $as_echo "$ac_header_compiler" >&6; }
  2751. # Is the header present?
  2752. { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
  2753. $as_echo_n "checking $2 presence... " >&6; }
  2754. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2755. /* end confdefs.h. */
  2756. #include <$2>
  2757. _ACEOF
  2758. if ac_fn_cxx_try_cpp "$LINENO"; then :
  2759. ac_header_preproc=yes
  2760. else
  2761. ac_header_preproc=no
  2762. fi
  2763. rm -f conftest.err conftest.i conftest.$ac_ext
  2764. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
  2765. $as_echo "$ac_header_preproc" >&6; }
  2766. # So? What about this header?
  2767. case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
  2768. yes:no: )
  2769. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
  2770. $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
  2771. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  2772. $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  2773. ;;
  2774. no:yes:* )
  2775. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
  2776. $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
  2777. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
  2778. $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
  2779. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
  2780. $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
  2781. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
  2782. $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
  2783. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  2784. $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  2785. ( $as_echo "## -------------------------------------------------- ##
  2786. ## Report this to libmesh-users@lists.sourceforge.net ##
  2787. ## -------------------------------------------------- ##"
  2788. ) | sed "s/^/$as_me: WARNING: /" >&2
  2789. ;;
  2790. esac
  2791. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  2792. $as_echo_n "checking for $2... " >&6; }
  2793. if eval \${$3+:} false; then :
  2794. $as_echo_n "(cached) " >&6
  2795. else
  2796. eval "$3=\$ac_header_compiler"
  2797. fi
  2798. eval ac_res=\$$3
  2799. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  2800. $as_echo "$ac_res" >&6; }
  2801. fi
  2802. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2803. } # ac_fn_cxx_check_header_mongrel
  2804. # ac_fn_cxx_compute_int LINENO EXPR VAR INCLUDES
  2805. # ----------------------------------------------
  2806. # Tries to find the compile-time value of EXPR in a program that includes
  2807. # INCLUDES, setting VAR accordingly. Returns whether the value could be
  2808. # computed
  2809. ac_fn_cxx_compute_int ()
  2810. {
  2811. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2812. if test "$cross_compiling" = yes; then
  2813. # Depending upon the size, compute the lo and hi bounds.
  2814. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2815. /* end confdefs.h. */
  2816. $4
  2817. int
  2818. main ()
  2819. {
  2820. static int test_array [1 - 2 * !(($2) >= 0)];
  2821. test_array [0] = 0;
  2822. return test_array [0];
  2823. ;
  2824. return 0;
  2825. }
  2826. _ACEOF
  2827. if ac_fn_cxx_try_compile "$LINENO"; then :
  2828. ac_lo=0 ac_mid=0
  2829. while :; do
  2830. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2831. /* end confdefs.h. */
  2832. $4
  2833. int
  2834. main ()
  2835. {
  2836. static int test_array [1 - 2 * !(($2) <= $ac_mid)];
  2837. test_array [0] = 0;
  2838. return test_array [0];
  2839. ;
  2840. return 0;
  2841. }
  2842. _ACEOF
  2843. if ac_fn_cxx_try_compile "$LINENO"; then :
  2844. ac_hi=$ac_mid; break
  2845. else
  2846. as_fn_arith $ac_mid + 1 && ac_lo=$as_val
  2847. if test $ac_lo -le $ac_mid; then
  2848. ac_lo= ac_hi=
  2849. break
  2850. fi
  2851. as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
  2852. fi
  2853. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2854. done
  2855. else
  2856. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2857. /* end confdefs.h. */
  2858. $4
  2859. int
  2860. main ()
  2861. {
  2862. static int test_array [1 - 2 * !(($2) < 0)];
  2863. test_array [0] = 0;
  2864. return test_array [0];
  2865. ;
  2866. return 0;
  2867. }
  2868. _ACEOF
  2869. if ac_fn_cxx_try_compile "$LINENO"; then :
  2870. ac_hi=-1 ac_mid=-1
  2871. while :; do
  2872. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2873. /* end confdefs.h. */
  2874. $4
  2875. int
  2876. main ()
  2877. {
  2878. static int test_array [1 - 2 * !(($2) >= $ac_mid)];
  2879. test_array [0] = 0;
  2880. return test_array [0];
  2881. ;
  2882. return 0;
  2883. }
  2884. _ACEOF
  2885. if ac_fn_cxx_try_compile "$LINENO"; then :
  2886. ac_lo=$ac_mid; break
  2887. else
  2888. as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
  2889. if test $ac_mid -le $ac_hi; then
  2890. ac_lo= ac_hi=
  2891. break
  2892. fi
  2893. as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
  2894. fi
  2895. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2896. done
  2897. else
  2898. ac_lo= ac_hi=
  2899. fi
  2900. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2901. fi
  2902. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2903. # Binary search between lo and hi bounds.
  2904. while test "x$ac_lo" != "x$ac_hi"; do
  2905. as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
  2906. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2907. /* end confdefs.h. */
  2908. $4
  2909. int
  2910. main ()
  2911. {
  2912. static int test_array [1 - 2 * !(($2) <= $ac_mid)];
  2913. test_array [0] = 0;
  2914. return test_array [0];
  2915. ;
  2916. return 0;
  2917. }
  2918. _ACEOF
  2919. if ac_fn_cxx_try_compile "$LINENO"; then :
  2920. ac_hi=$ac_mid
  2921. else
  2922. as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
  2923. fi
  2924. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  2925. done
  2926. case $ac_lo in #((
  2927. ?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
  2928. '') ac_retval=1 ;;
  2929. esac
  2930. else
  2931. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2932. /* end confdefs.h. */
  2933. $4
  2934. static long int longval () { return $2; }
  2935. static unsigned long int ulongval () { return $2; }
  2936. #include <stdio.h>
  2937. #include <stdlib.h>
  2938. int
  2939. main ()
  2940. {
  2941. FILE *f = fopen ("conftest.val", "w");
  2942. if (! f)
  2943. return 1;
  2944. if (($2) < 0)
  2945. {
  2946. long int i = longval ();
  2947. if (i != ($2))
  2948. return 1;
  2949. fprintf (f, "%ld", i);
  2950. }
  2951. else
  2952. {
  2953. unsigned long int i = ulongval ();
  2954. if (i != ($2))
  2955. return 1;
  2956. fprintf (f, "%lu", i);
  2957. }
  2958. /* Do not output a trailing newline, as this causes \r\n confusion
  2959. on some platforms. */
  2960. return ferror (f) || fclose (f) != 0;
  2961. ;
  2962. return 0;
  2963. }
  2964. _ACEOF
  2965. if ac_fn_cxx_try_run "$LINENO"; then :
  2966. echo >>conftest.val; read $3 <conftest.val; ac_retval=0
  2967. else
  2968. ac_retval=1
  2969. fi
  2970. rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  2971. conftest.$ac_objext conftest.beam conftest.$ac_ext
  2972. rm -f conftest.val
  2973. fi
  2974. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  2975. as_fn_set_status $ac_retval
  2976. } # ac_fn_cxx_compute_int
  2977. # ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
  2978. # -----------------------------------------------
  2979. # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
  2980. # accordingly.
  2981. ac_fn_cxx_check_decl ()
  2982. {
  2983. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  2984. as_decl_name=`echo $2|sed 's/ *(.*//'`
  2985. as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
  2986. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
  2987. $as_echo_n "checking whether $as_decl_name is declared... " >&6; }
  2988. if eval \${$3+:} false; then :
  2989. $as_echo_n "(cached) " >&6
  2990. else
  2991. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  2992. /* end confdefs.h. */
  2993. $4
  2994. int
  2995. main ()
  2996. {
  2997. #ifndef $as_decl_name
  2998. #ifdef __cplusplus
  2999. (void) $as_decl_use;
  3000. #else
  3001. (void) $as_decl_name;
  3002. #endif
  3003. #endif
  3004. ;
  3005. return 0;
  3006. }
  3007. _ACEOF
  3008. if ac_fn_cxx_try_compile "$LINENO"; then :
  3009. eval "$3=yes"
  3010. else
  3011. eval "$3=no"
  3012. fi
  3013. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  3014. fi
  3015. eval ac_res=\$$3
  3016. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  3017. $as_echo "$ac_res" >&6; }
  3018. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  3019. } # ac_fn_cxx_check_decl
  3020. # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
  3021. # -------------------------------------------------------
  3022. # Tests whether HEADER exists, giving a warning if it cannot be compiled using
  3023. # the include files in INCLUDES and setting the cache variable VAR
  3024. # accordingly.
  3025. ac_fn_c_check_header_mongrel ()
  3026. {
  3027. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  3028. if eval \${$3+:} false; then :
  3029. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  3030. $as_echo_n "checking for $2... " >&6; }
  3031. if eval \${$3+:} false; then :
  3032. $as_echo_n "(cached) " >&6
  3033. fi
  3034. eval ac_res=\$$3
  3035. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  3036. $as_echo "$ac_res" >&6; }
  3037. else
  3038. # Is the header compilable?
  3039. { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
  3040. $as_echo_n "checking $2 usability... " >&6; }
  3041. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  3042. /* end confdefs.h. */
  3043. $4
  3044. #include <$2>
  3045. _ACEOF
  3046. if ac_fn_c_try_compile "$LINENO"; then :
  3047. ac_header_compiler=yes
  3048. else
  3049. ac_header_compiler=no
  3050. fi
  3051. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  3052. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
  3053. $as_echo "$ac_header_compiler" >&6; }
  3054. # Is the header present?
  3055. { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
  3056. $as_echo_n "checking $2 presence... " >&6; }
  3057. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  3058. /* end confdefs.h. */
  3059. #include <$2>
  3060. _ACEOF
  3061. if ac_fn_c_try_cpp "$LINENO"; then :
  3062. ac_header_preproc=yes
  3063. else
  3064. ac_header_preproc=no
  3065. fi
  3066. rm -f conftest.err conftest.i conftest.$ac_ext
  3067. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
  3068. $as_echo "$ac_header_preproc" >&6; }
  3069. # So? What about this header?
  3070. case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
  3071. yes:no: )
  3072. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
  3073. $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
  3074. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  3075. $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  3076. ;;
  3077. no:yes:* )
  3078. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
  3079. $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
  3080. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
  3081. $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
  3082. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
  3083. $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
  3084. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
  3085. $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
  3086. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  3087. $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  3088. ( $as_echo "## -------------------------------------------------- ##
  3089. ## Report this to libmesh-users@lists.sourceforge.net ##
  3090. ## -------------------------------------------------- ##"
  3091. ) | sed "s/^/$as_me: WARNING: /" >&2
  3092. ;;
  3093. esac
  3094. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  3095. $as_echo_n "checking for $2... " >&6; }
  3096. if eval \${$3+:} false; then :
  3097. $as_echo_n "(cached) " >&6
  3098. else
  3099. eval "$3=\$ac_header_compiler"
  3100. fi
  3101. eval ac_res=\$$3
  3102. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  3103. $as_echo "$ac_res" >&6; }
  3104. fi
  3105. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  3106. } # ac_fn_c_check_header_mongrel
  3107. # ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
  3108. # ---------------------------------------------------------
  3109. # Tests whether HEADER exists and can be compiled using the include files in
  3110. # INCLUDES, setting the cache variable VAR accordingly.
  3111. ac_fn_cxx_check_header_compile ()
  3112. {
  3113. as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  3114. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  3115. $as_echo_n "checking for $2... " >&6; }
  3116. if eval \${$3+:} false; then :
  3117. $as_echo_n "(cached) " >&6
  3118. else
  3119. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  3120. /* end confdefs.h. */
  3121. $4
  3122. #include <$2>
  3123. _ACEOF
  3124. if ac_fn_cxx_try_compile "$LINENO"; then :
  3125. eval "$3=yes"
  3126. else
  3127. eval "$3=no"
  3128. fi
  3129. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  3130. fi
  3131. eval ac_res=\$$3
  3132. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  3133. $as_echo "$ac_res" >&6; }
  3134. eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
  3135. } # ac_fn_cxx_check_header_compile
  3136. cat >config.log <<_ACEOF
  3137. This file contains any messages produced by compilers while
  3138. running configure, to aid debugging if configure makes a mistake.
  3139. It was created by libmesh $as_me 1.7.0-pre, which was
  3140. generated by GNU Autoconf 2.69. Invocation command line was
  3141. $ $0 $@
  3142. _ACEOF
  3143. exec 5>>config.log
  3144. {
  3145. cat <<_ASUNAME
  3146. ## --------- ##
  3147. ## Platform. ##
  3148. ## --------- ##
  3149. hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
  3150. uname -m = `(uname -m) 2>/dev/null || echo unknown`
  3151. uname -r = `(uname -r) 2>/dev/null || echo unknown`
  3152. uname -s = `(uname -s) 2>/dev/null || echo unknown`
  3153. uname -v = `(uname -v) 2>/dev/null || echo unknown`
  3154. /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
  3155. /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
  3156. /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
  3157. /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
  3158. /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
  3159. /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
  3160. /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
  3161. /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
  3162. /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
  3163. _ASUNAME
  3164. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  3165. for as_dir in $PATH
  3166. do
  3167. IFS=$as_save_IFS
  3168. test -z "$as_dir" && as_dir=.
  3169. $as_echo "PATH: $as_dir"
  3170. done
  3171. IFS=$as_save_IFS
  3172. } >&5
  3173. cat >&5 <<_ACEOF
  3174. ## ----------- ##
  3175. ## Core tests. ##
  3176. ## ----------- ##
  3177. _ACEOF
  3178. # Keep a trace of the command line.
  3179. # Strip out --no-create and --no-recursion so they do not pile up.
  3180. # Strip out --silent because we don't want to record it for future runs.
  3181. # Also quote any args containing shell meta-characters.
  3182. # Make two passes to allow for proper duplicate-argument suppression.
  3183. ac_configure_args=
  3184. ac_configure_args0=
  3185. ac_configure_args1=
  3186. ac_must_keep_next=false
  3187. for ac_pass in 1 2
  3188. do
  3189. for ac_arg
  3190. do
  3191. case $ac_arg in
  3192. -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
  3193. -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  3194. | -silent | --silent | --silen | --sile | --sil)
  3195. continue ;;
  3196. *\'*)
  3197. ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
  3198. esac
  3199. case $ac_pass in
  3200. 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
  3201. 2)
  3202. as_fn_append ac_configure_args1 " '$ac_arg'"
  3203. if test $ac_must_keep_next = true; then
  3204. ac_must_keep_next=false # Got value, back to normal.
  3205. else
  3206. case $ac_arg in
  3207. *=* | --config-cache | -C | -disable-* | --disable-* \
  3208. | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
  3209. | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
  3210. | -with-* | --with-* | -without-* | --without-* | --x)
  3211. case "$ac_configure_args0 " in
  3212. "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
  3213. esac
  3214. ;;
  3215. -* ) ac_must_keep_next=true ;;
  3216. esac
  3217. fi
  3218. as_fn_append ac_configure_args " '$ac_arg'"
  3219. ;;
  3220. esac
  3221. done
  3222. done
  3223. { ac_configure_args0=; unset ac_configure_args0;}
  3224. { ac_configure_args1=; unset ac_configure_args1;}
  3225. # When interrupted or exit'd, cleanup temporary files, and complete
  3226. # config.log. We remove comments because anyway the quotes in there
  3227. # would cause problems or look ugly.
  3228. # WARNING: Use '\'' to represent an apostrophe within the trap.
  3229. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
  3230. trap 'exit_status=$?
  3231. # Save into config.log some information that might help in debugging.
  3232. {
  3233. echo
  3234. $as_echo "## ---------------- ##
  3235. ## Cache variables. ##
  3236. ## ---------------- ##"
  3237. echo
  3238. # The following way of writing the cache mishandles newlines in values,
  3239. (
  3240. for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
  3241. eval ac_val=\$$ac_var
  3242. case $ac_val in #(
  3243. *${as_nl}*)
  3244. case $ac_var in #(
  3245. *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
  3246. $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
  3247. esac
  3248. case $ac_var in #(
  3249. _ | IFS | as_nl) ;; #(
  3250. BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
  3251. *) { eval $ac_var=; unset $ac_var;} ;;
  3252. esac ;;
  3253. esac
  3254. done
  3255. (set) 2>&1 |
  3256. case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
  3257. *${as_nl}ac_space=\ *)
  3258. sed -n \
  3259. "s/'\''/'\''\\\\'\'''\''/g;
  3260. s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
  3261. ;; #(
  3262. *)
  3263. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
  3264. ;;
  3265. esac |
  3266. sort
  3267. )
  3268. echo
  3269. $as_echo "## ----------------- ##
  3270. ## Output variables. ##
  3271. ## ----------------- ##"
  3272. echo
  3273. for ac_var in $ac_subst_vars
  3274. do
  3275. eval ac_val=\$$ac_var
  3276. case $ac_val in
  3277. *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
  3278. esac
  3279. $as_echo "$ac_var='\''$ac_val'\''"
  3280. done | sort
  3281. echo
  3282. if test -n "$ac_subst_files"; then
  3283. $as_echo "## ------------------- ##
  3284. ## File substitutions. ##
  3285. ## ------------------- ##"
  3286. echo
  3287. for ac_var in $ac_subst_files
  3288. do
  3289. eval ac_val=\$$ac_var
  3290. case $ac_val in
  3291. *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
  3292. esac
  3293. $as_echo "$ac_var='\''$ac_val'\''"
  3294. done | sort
  3295. echo
  3296. fi
  3297. if test -s confdefs.h; then
  3298. $as_echo "## ----------- ##
  3299. ## confdefs.h. ##
  3300. ## ----------- ##"
  3301. echo
  3302. cat confdefs.h
  3303. echo
  3304. fi
  3305. test "$ac_signal" != 0 &&
  3306. $as_echo "$as_me: caught signal $ac_signal"
  3307. $as_echo "$as_me: exit $exit_status"
  3308. } >&5
  3309. rm -f core *.core core.conftest.* &&
  3310. rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
  3311. exit $exit_status
  3312. ' 0
  3313. for ac_signal in 1 2 13 15; do
  3314. trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
  3315. done
  3316. ac_signal=0
  3317. # confdefs.h avoids OS command line length limits that DEFS can exceed.
  3318. rm -f -r conftest* confdefs.h
  3319. $as_echo "/* confdefs.h */" > confdefs.h
  3320. # Predefined preprocessor variables.
  3321. cat >>confdefs.h <<_ACEOF
  3322. #define PACKAGE_NAME "$PACKAGE_NAME"
  3323. _ACEOF
  3324. cat >>confdefs.h <<_ACEOF
  3325. #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
  3326. _ACEOF
  3327. cat >>confdefs.h <<_ACEOF
  3328. #define PACKAGE_VERSION "$PACKAGE_VERSION"
  3329. _ACEOF
  3330. cat >>confdefs.h <<_ACEOF
  3331. #define PACKAGE_STRING "$PACKAGE_STRING"
  3332. _ACEOF
  3333. cat >>confdefs.h <<_ACEOF
  3334. #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
  3335. _ACEOF
  3336. cat >>confdefs.h <<_ACEOF
  3337. #define PACKAGE_URL "$PACKAGE_URL"
  3338. _ACEOF
  3339. # Let the site file select an alternate cache file if it wants to.
  3340. # Prefer an explicitly selected file to automatically selected ones.
  3341. ac_site_file1=NONE
  3342. ac_site_file2=NONE
  3343. if test -n "$CONFIG_SITE"; then
  3344. # We do not want a PATH search for config.site.
  3345. case $CONFIG_SITE in #((
  3346. -*) ac_site_file1=./$CONFIG_SITE;;
  3347. */*) ac_site_file1=$CONFIG_SITE;;
  3348. *) ac_site_file1=./$CONFIG_SITE;;
  3349. esac
  3350. elif test "x$prefix" != xNONE; then
  3351. ac_site_file1=$prefix/share/config.site
  3352. ac_site_file2=$prefix/etc/config.site
  3353. else
  3354. ac_site_file1=$ac_default_prefix/share/config.site
  3355. ac_site_file2=$ac_default_prefix/etc/config.site
  3356. fi
  3357. for ac_site_file in "$ac_site_file1" "$ac_site_file2"
  3358. do
  3359. test "x$ac_site_file" = xNONE && continue
  3360. if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
  3361. { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
  3362. $as_echo "$as_me: loading site script $ac_site_file" >&6;}
  3363. sed 's/^/| /' "$ac_site_file" >&5
  3364. . "$ac_site_file" \
  3365. || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  3366. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  3367. as_fn_error $? "failed to load site script $ac_site_file
  3368. See \`config.log' for more details" "$LINENO" 5; }
  3369. fi
  3370. done
  3371. if test -r "$cache_file"; then
  3372. # Some versions of bash will fail to source /dev/null (special files
  3373. # actually), so we avoid doing that. DJGPP emulates it as a regular file.
  3374. if test /dev/null != "$cache_file" && test -f "$cache_file"; then
  3375. { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
  3376. $as_echo "$as_me: loading cache $cache_file" >&6;}
  3377. case $cache_file in
  3378. [\\/]* | ?:[\\/]* ) . "$cache_file";;
  3379. *) . "./$cache_file";;
  3380. esac
  3381. fi
  3382. else
  3383. { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
  3384. $as_echo "$as_me: creating cache $cache_file" >&6;}
  3385. >$cache_file
  3386. fi
  3387. # Check that the precious variables saved in the cache have kept the same
  3388. # value.
  3389. ac_cache_corrupted=false
  3390. for ac_var in $ac_precious_vars; do
  3391. eval ac_old_set=\$ac_cv_env_${ac_var}_set
  3392. eval ac_new_set=\$ac_env_${ac_var}_set
  3393. eval ac_old_val=\$ac_cv_env_${ac_var}_value
  3394. eval ac_new_val=\$ac_env_${ac_var}_value
  3395. case $ac_old_set,$ac_new_set in
  3396. set,)
  3397. { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
  3398. $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
  3399. ac_cache_corrupted=: ;;
  3400. ,set)
  3401. { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
  3402. $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
  3403. ac_cache_corrupted=: ;;
  3404. ,);;
  3405. *)
  3406. if test "x$ac_old_val" != "x$ac_new_val"; then
  3407. # differences in whitespace do not lead to failure.
  3408. ac_old_val_w=`echo x $ac_old_val`
  3409. ac_new_val_w=`echo x $ac_new_val`
  3410. if test "$ac_old_val_w" != "$ac_new_val_w"; then
  3411. { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
  3412. $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
  3413. ac_cache_corrupted=:
  3414. else
  3415. { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
  3416. $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
  3417. eval $ac_var=\$ac_old_val
  3418. fi
  3419. { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
  3420. $as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
  3421. { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
  3422. $as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
  3423. fi;;
  3424. esac
  3425. # Pass precious variables to config.status.
  3426. if test "$ac_new_set" = set; then
  3427. case $ac_new_val in
  3428. *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
  3429. *) ac_arg=$ac_var=$ac_new_val ;;
  3430. esac
  3431. case " $ac_configure_args " in
  3432. *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
  3433. *) as_fn_append ac_configure_args " '$ac_arg'" ;;
  3434. esac
  3435. fi
  3436. done
  3437. if $ac_cache_corrupted; then
  3438. { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  3439. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  3440. { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
  3441. $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
  3442. as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
  3443. fi
  3444. ## -------------------- ##
  3445. ## Main body of script. ##
  3446. ## -------------------- ##
  3447. ac_ext=c
  3448. ac_cpp='$CPP $CPPFLAGS'
  3449. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  3450. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  3451. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  3452. # by default CFLAGS and CXXFLAGS are set to '-g -O2' on systems that support them.
  3453. # this causes a problem if we then declare a different optimization level. So
  3454. # default them to empty, regardless of what the system supports.
  3455. : ${CFLAGS=""}
  3456. : ${CXXFLAGS=""}
  3457. # Infer the source directory as the path to the ./configure script
  3458. srcdir=`dirname $0`
  3459. top_srcdir=`dirname $0`
  3460. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  3461. $as_echo "---------------------------------------------" >&6; }
  3462. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ----------- Configuring libMesh -------------" >&5
  3463. $as_echo "----------- Configuring libMesh -------------" >&6; }
  3464. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  3465. $as_echo "---------------------------------------------" >&6; }
  3466. ac_aux_dir=
  3467. for ac_dir in build-aux "$srcdir"/build-aux; do
  3468. if test -f "$ac_dir/install-sh"; then
  3469. ac_aux_dir=$ac_dir
  3470. ac_install_sh="$ac_aux_dir/install-sh -c"
  3471. break
  3472. elif test -f "$ac_dir/install.sh"; then
  3473. ac_aux_dir=$ac_dir
  3474. ac_install_sh="$ac_aux_dir/install.sh -c"
  3475. break
  3476. elif test -f "$ac_dir/shtool"; then
  3477. ac_aux_dir=$ac_dir
  3478. ac_install_sh="$ac_aux_dir/shtool install -c"
  3479. break
  3480. fi
  3481. done
  3482. if test -z "$ac_aux_dir"; then
  3483. as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
  3484. fi
  3485. # These three variables are undocumented and unsupported,
  3486. # and are intended to be withdrawn in a future Autoconf release.
  3487. # They can cause serious problems if a builder's source tree is in a directory
  3488. # whose full name contains unusual characters.
  3489. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
  3490. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
  3491. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
  3492. # --------------------------------------------------------------
  3493. # Compute the canonical target system type variable "target", and its
  3494. # three individual parts: "target_cpu", "target_vendor", and "target_os"
  3495. # --------------------------------------------------------------
  3496. # Make sure we can run config.sub.
  3497. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
  3498. as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
  3499. { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
  3500. $as_echo_n "checking build system type... " >&6; }
  3501. if ${ac_cv_build+:} false; then :
  3502. $as_echo_n "(cached) " >&6
  3503. else
  3504. ac_build_alias=$build_alias
  3505. test "x$ac_build_alias" = x &&
  3506. ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
  3507. test "x$ac_build_alias" = x &&
  3508. as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
  3509. ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
  3510. as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
  3511. fi
  3512. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
  3513. $as_echo "$ac_cv_build" >&6; }
  3514. case $ac_cv_build in
  3515. *-*-*) ;;
  3516. *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
  3517. esac
  3518. build=$ac_cv_build
  3519. ac_save_IFS=$IFS; IFS='-'
  3520. set x $ac_cv_build
  3521. shift
  3522. build_cpu=$1
  3523. build_vendor=$2
  3524. shift; shift
  3525. # Remember, the first character of IFS is used to create $*,
  3526. # except with old shells:
  3527. build_os=$*
  3528. IFS=$ac_save_IFS
  3529. case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
  3530. { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
  3531. $as_echo_n "checking host system type... " >&6; }
  3532. if ${ac_cv_host+:} false; then :
  3533. $as_echo_n "(cached) " >&6
  3534. else
  3535. if test "x$host_alias" = x; then
  3536. ac_cv_host=$ac_cv_build
  3537. else
  3538. ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
  3539. as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
  3540. fi
  3541. fi
  3542. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
  3543. $as_echo "$ac_cv_host" >&6; }
  3544. case $ac_cv_host in
  3545. *-*-*) ;;
  3546. *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
  3547. esac
  3548. host=$ac_cv_host
  3549. ac_save_IFS=$IFS; IFS='-'
  3550. set x $ac_cv_host
  3551. shift
  3552. host_cpu=$1
  3553. host_vendor=$2
  3554. shift; shift
  3555. # Remember, the first character of IFS is used to create $*,
  3556. # except with old shells:
  3557. host_os=$*
  3558. IFS=$ac_save_IFS
  3559. case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
  3560. { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
  3561. $as_echo_n "checking target system type... " >&6; }
  3562. if ${ac_cv_target+:} false; then :
  3563. $as_echo_n "(cached) " >&6
  3564. else
  3565. if test "x$target_alias" = x; then
  3566. ac_cv_target=$ac_cv_host
  3567. else
  3568. ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
  3569. as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
  3570. fi
  3571. fi
  3572. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
  3573. $as_echo "$ac_cv_target" >&6; }
  3574. case $ac_cv_target in
  3575. *-*-*) ;;
  3576. *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
  3577. esac
  3578. target=$ac_cv_target
  3579. ac_save_IFS=$IFS; IFS='-'
  3580. set x $ac_cv_target
  3581. shift
  3582. target_cpu=$1
  3583. target_vendor=$2
  3584. shift; shift
  3585. # Remember, the first character of IFS is used to create $*,
  3586. # except with old shells:
  3587. target_os=$*
  3588. IFS=$ac_save_IFS
  3589. case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
  3590. # The aliases save the names the user supplied, while $host etc.
  3591. # will get canonicalized.
  3592. test -n "$target_alias" &&
  3593. test "$program_prefix$program_suffix$program_transform_name" = \
  3594. NONENONEs,x,x, &&
  3595. program_prefix=${target_alias}-
  3596. ac_config_files="$ac_config_files Makefile include/Makefile include/libmesh/Makefile contrib/Makefile contrib/utils/Makefile contrib/utils/Make.common tests/Makefile contrib/utils/libmesh-opt.pc contrib/utils/libmesh-dbg.pc contrib/utils/libmesh-devel.pc contrib/utils/libmesh-prof.pc contrib/utils/libmesh-oprof.pc doc/Doxyfile doc/Makefile doc/html/Makefile"
  3597. ac_config_files="$ac_config_files contrib/bin/libmesh-config"
  3598. #AC_CONFIG_FILES(contrib/bin/strip_dup_libs.pl, [chmod +x contrib/bin/strip_dup_libs.pl])
  3599. #AC_CONFIG_FILES(contrib/bin/strip_dup_incl_paths.pl, [chmod +x contrib/bin/strip_dup_incl_paths.pl])
  3600. ac_config_files="$ac_config_files contrib/bin/create_libmesh_release"
  3601. ac_config_files="$ac_config_files doc/dot"
  3602. ac_config_files="$ac_config_files tests/run_unit_tests.sh"
  3603. # Create a temporary file with e.g. HAVE_MPI
  3604. ac_config_headers="$ac_config_headers include/libmesh_config.h.tmp:include/libmesh_config.h.in"
  3605. # Prefixes everything in the temporary file with LIBMESH_, e.g. LIBMESH_HAVE_MPI
  3606. ac_config_commands="$ac_config_commands include/libmesh_config.h"
  3607. # Print configuration info to the header file
  3608. cat >>confdefs.h <<_ACEOF
  3609. #define CONFIGURE_INFO "$0 $ac_configure_args"
  3610. _ACEOF
  3611. # require automake 1.11 - color tests
  3612. am__api_version='1.16'
  3613. # Find a good install program. We prefer a C program (faster),
  3614. # so one script is as good as another. But avoid the broken or
  3615. # incompatible versions:
  3616. # SysV /etc/install, /usr/sbin/install
  3617. # SunOS /usr/etc/install
  3618. # IRIX /sbin/install
  3619. # AIX /bin/install
  3620. # AmigaOS /C/install, which installs bootblocks on floppy discs
  3621. # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
  3622. # AFS /usr/afsws/bin/install, which mishandles nonexistent args
  3623. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  3624. # OS/2's system install, which has a completely different semantic
  3625. # ./install, which can be erroneously created by make from ./install.sh.
  3626. # Reject install programs that cannot install multiple files.
  3627. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
  3628. $as_echo_n "checking for a BSD-compatible install... " >&6; }
  3629. if test -z "$INSTALL"; then
  3630. if ${ac_cv_path_install+:} false; then :
  3631. $as_echo_n "(cached) " >&6
  3632. else
  3633. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  3634. for as_dir in $PATH
  3635. do
  3636. IFS=$as_save_IFS
  3637. test -z "$as_dir" && as_dir=.
  3638. # Account for people who put trailing slashes in PATH elements.
  3639. case $as_dir/ in #((
  3640. ./ | .// | /[cC]/* | \
  3641. /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  3642. ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
  3643. /usr/ucb/* ) ;;
  3644. *)
  3645. # OSF1 and SCO ODT 3.0 have their own names for install.
  3646. # Don't use installbsd from OSF since it installs stuff as root
  3647. # by default.
  3648. for ac_prog in ginstall scoinst install; do
  3649. for ac_exec_ext in '' $ac_executable_extensions; do
  3650. if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
  3651. if test $ac_prog = install &&
  3652. grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
  3653. # AIX install. It has an incompatible calling convention.
  3654. :
  3655. elif test $ac_prog = install &&
  3656. grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
  3657. # program-specific install script used by HP pwplus--don't use.
  3658. :
  3659. else
  3660. rm -rf conftest.one conftest.two conftest.dir
  3661. echo one > conftest.one
  3662. echo two > conftest.two
  3663. mkdir conftest.dir
  3664. if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
  3665. test -s conftest.one && test -s conftest.two &&
  3666. test -s conftest.dir/conftest.one &&
  3667. test -s conftest.dir/conftest.two
  3668. then
  3669. ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
  3670. break 3
  3671. fi
  3672. fi
  3673. fi
  3674. done
  3675. done
  3676. ;;
  3677. esac
  3678. done
  3679. IFS=$as_save_IFS
  3680. rm -rf conftest.one conftest.two conftest.dir
  3681. fi
  3682. if test "${ac_cv_path_install+set}" = set; then
  3683. INSTALL=$ac_cv_path_install
  3684. else
  3685. # As a last resort, use the slow shell script. Don't cache a
  3686. # value for INSTALL within a source directory, because that will
  3687. # break other packages using the cache if that directory is
  3688. # removed, or if the value is a relative name.
  3689. INSTALL=$ac_install_sh
  3690. fi
  3691. fi
  3692. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
  3693. $as_echo "$INSTALL" >&6; }
  3694. # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
  3695. # It thinks the first close brace ends the variable substitution.
  3696. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  3697. test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
  3698. test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  3699. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
  3700. $as_echo_n "checking whether build environment is sane... " >&6; }
  3701. # Reject unsafe characters in $srcdir or the absolute working directory
  3702. # name. Accept space and tab only in the latter.
  3703. am_lf='
  3704. '
  3705. case `pwd` in
  3706. *[\\\"\#\$\&\'\`$am_lf]*)
  3707. as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
  3708. esac
  3709. case $srcdir in
  3710. *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
  3711. as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
  3712. esac
  3713. # Do 'set' in a subshell so we don't clobber the current shell's
  3714. # arguments. Must try -L first in case configure is actually a
  3715. # symlink; some systems play weird games with the mod time of symlinks
  3716. # (eg FreeBSD returns the mod time of the symlink's containing
  3717. # directory).
  3718. if (
  3719. am_has_slept=no
  3720. for am_try in 1 2; do
  3721. echo "timestamp, slept: $am_has_slept" > conftest.file
  3722. set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
  3723. if test "$*" = "X"; then
  3724. # -L didn't work.
  3725. set X `ls -t "$srcdir/configure" conftest.file`
  3726. fi
  3727. if test "$*" != "X $srcdir/configure conftest.file" \
  3728. && test "$*" != "X conftest.file $srcdir/configure"; then
  3729. # If neither matched, then we have a broken ls. This can happen
  3730. # if, for instance, CONFIG_SHELL is bash and it inherits a
  3731. # broken ls alias from the environment. This has actually
  3732. # happened. Such a system could not be considered "sane".
  3733. as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
  3734. alias in your environment" "$LINENO" 5
  3735. fi
  3736. if test "$2" = conftest.file || test $am_try -eq 2; then
  3737. break
  3738. fi
  3739. # Just in case.
  3740. sleep 1
  3741. am_has_slept=yes
  3742. done
  3743. test "$2" = conftest.file
  3744. )
  3745. then
  3746. # Ok.
  3747. :
  3748. else
  3749. as_fn_error $? "newly created file is older than distributed files!
  3750. Check your system clock" "$LINENO" 5
  3751. fi
  3752. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  3753. $as_echo "yes" >&6; }
  3754. # If we didn't sleep, we still need to ensure time stamps of config.status and
  3755. # generated files are strictly newer.
  3756. am_sleep_pid=
  3757. if grep 'slept: no' conftest.file >/dev/null 2>&1; then
  3758. ( sleep 1 ) &
  3759. am_sleep_pid=$!
  3760. fi
  3761. rm -f conftest.file
  3762. test "$program_prefix" != NONE &&
  3763. program_transform_name="s&^&$program_prefix&;$program_transform_name"
  3764. # Use a double $ so make ignores it.
  3765. test "$program_suffix" != NONE &&
  3766. program_transform_name="s&\$&$program_suffix&;$program_transform_name"
  3767. # Double any \ or $.
  3768. # By default was `s,x,x', remove it if useless.
  3769. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
  3770. program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
  3771. # Expand $ac_aux_dir to an absolute path.
  3772. am_aux_dir=`cd "$ac_aux_dir" && pwd`
  3773. if test x"${MISSING+set}" != xset; then
  3774. case $am_aux_dir in
  3775. *\ * | *\ *)
  3776. MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
  3777. *)
  3778. MISSING="\${SHELL} $am_aux_dir/missing" ;;
  3779. esac
  3780. fi
  3781. # Use eval to expand $SHELL
  3782. if eval "$MISSING --is-lightweight"; then
  3783. am_missing_run="$MISSING "
  3784. else
  3785. am_missing_run=
  3786. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
  3787. $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
  3788. fi
  3789. if test x"${install_sh+set}" != xset; then
  3790. case $am_aux_dir in
  3791. *\ * | *\ *)
  3792. install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
  3793. *)
  3794. install_sh="\${SHELL} $am_aux_dir/install-sh"
  3795. esac
  3796. fi
  3797. # Installed binaries are usually stripped using 'strip' when the user
  3798. # run "make install-strip". However 'strip' might not be the right
  3799. # tool to use in cross-compilation environments, therefore Automake
  3800. # will honor the 'STRIP' environment variable to overrule this program.
  3801. if test "$cross_compiling" != no; then
  3802. if test -n "$ac_tool_prefix"; then
  3803. # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
  3804. set dummy ${ac_tool_prefix}strip; ac_word=$2
  3805. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  3806. $as_echo_n "checking for $ac_word... " >&6; }
  3807. if ${ac_cv_prog_STRIP+:} false; then :
  3808. $as_echo_n "(cached) " >&6
  3809. else
  3810. if test -n "$STRIP"; then
  3811. ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
  3812. else
  3813. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  3814. for as_dir in $PATH
  3815. do
  3816. IFS=$as_save_IFS
  3817. test -z "$as_dir" && as_dir=.
  3818. for ac_exec_ext in '' $ac_executable_extensions; do
  3819. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  3820. ac_cv_prog_STRIP="${ac_tool_prefix}strip"
  3821. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  3822. break 2
  3823. fi
  3824. done
  3825. done
  3826. IFS=$as_save_IFS
  3827. fi
  3828. fi
  3829. STRIP=$ac_cv_prog_STRIP
  3830. if test -n "$STRIP"; then
  3831. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
  3832. $as_echo "$STRIP" >&6; }
  3833. else
  3834. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  3835. $as_echo "no" >&6; }
  3836. fi
  3837. fi
  3838. if test -z "$ac_cv_prog_STRIP"; then
  3839. ac_ct_STRIP=$STRIP
  3840. # Extract the first word of "strip", so it can be a program name with args.
  3841. set dummy strip; ac_word=$2
  3842. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  3843. $as_echo_n "checking for $ac_word... " >&6; }
  3844. if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
  3845. $as_echo_n "(cached) " >&6
  3846. else
  3847. if test -n "$ac_ct_STRIP"; then
  3848. ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
  3849. else
  3850. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  3851. for as_dir in $PATH
  3852. do
  3853. IFS=$as_save_IFS
  3854. test -z "$as_dir" && as_dir=.
  3855. for ac_exec_ext in '' $ac_executable_extensions; do
  3856. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  3857. ac_cv_prog_ac_ct_STRIP="strip"
  3858. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  3859. break 2
  3860. fi
  3861. done
  3862. done
  3863. IFS=$as_save_IFS
  3864. fi
  3865. fi
  3866. ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
  3867. if test -n "$ac_ct_STRIP"; then
  3868. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
  3869. $as_echo "$ac_ct_STRIP" >&6; }
  3870. else
  3871. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  3872. $as_echo "no" >&6; }
  3873. fi
  3874. if test "x$ac_ct_STRIP" = x; then
  3875. STRIP=":"
  3876. else
  3877. case $cross_compiling:$ac_tool_warned in
  3878. yes:)
  3879. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  3880. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  3881. ac_tool_warned=yes ;;
  3882. esac
  3883. STRIP=$ac_ct_STRIP
  3884. fi
  3885. else
  3886. STRIP="$ac_cv_prog_STRIP"
  3887. fi
  3888. fi
  3889. INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
  3890. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
  3891. $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
  3892. if test -z "$MKDIR_P"; then
  3893. if ${ac_cv_path_mkdir+:} false; then :
  3894. $as_echo_n "(cached) " >&6
  3895. else
  3896. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  3897. for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
  3898. do
  3899. IFS=$as_save_IFS
  3900. test -z "$as_dir" && as_dir=.
  3901. for ac_prog in mkdir gmkdir; do
  3902. for ac_exec_ext in '' $ac_executable_extensions; do
  3903. as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
  3904. case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
  3905. 'mkdir (GNU coreutils) '* | \
  3906. 'mkdir (coreutils) '* | \
  3907. 'mkdir (fileutils) '4.1*)
  3908. ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
  3909. break 3;;
  3910. esac
  3911. done
  3912. done
  3913. done
  3914. IFS=$as_save_IFS
  3915. fi
  3916. test -d ./--version && rmdir ./--version
  3917. if test "${ac_cv_path_mkdir+set}" = set; then
  3918. MKDIR_P="$ac_cv_path_mkdir -p"
  3919. else
  3920. # As a last resort, use the slow shell script. Don't cache a
  3921. # value for MKDIR_P within a source directory, because that will
  3922. # break other packages using the cache if that directory is
  3923. # removed, or if the value is a relative name.
  3924. MKDIR_P="$ac_install_sh -d"
  3925. fi
  3926. fi
  3927. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
  3928. $as_echo "$MKDIR_P" >&6; }
  3929. for ac_prog in gawk mawk nawk awk
  3930. do
  3931. # Extract the first word of "$ac_prog", so it can be a program name with args.
  3932. set dummy $ac_prog; ac_word=$2
  3933. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  3934. $as_echo_n "checking for $ac_word... " >&6; }
  3935. if ${ac_cv_prog_AWK+:} false; then :
  3936. $as_echo_n "(cached) " >&6
  3937. else
  3938. if test -n "$AWK"; then
  3939. ac_cv_prog_AWK="$AWK" # Let the user override the test.
  3940. else
  3941. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  3942. for as_dir in $PATH
  3943. do
  3944. IFS=$as_save_IFS
  3945. test -z "$as_dir" && as_dir=.
  3946. for ac_exec_ext in '' $ac_executable_extensions; do
  3947. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  3948. ac_cv_prog_AWK="$ac_prog"
  3949. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  3950. break 2
  3951. fi
  3952. done
  3953. done
  3954. IFS=$as_save_IFS
  3955. fi
  3956. fi
  3957. AWK=$ac_cv_prog_AWK
  3958. if test -n "$AWK"; then
  3959. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
  3960. $as_echo "$AWK" >&6; }
  3961. else
  3962. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  3963. $as_echo "no" >&6; }
  3964. fi
  3965. test -n "$AWK" && break
  3966. done
  3967. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
  3968. $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
  3969. set x ${MAKE-make}
  3970. ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
  3971. if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
  3972. $as_echo_n "(cached) " >&6
  3973. else
  3974. cat >conftest.make <<\_ACEOF
  3975. SHELL = /bin/sh
  3976. all:
  3977. @echo '@@@%%%=$(MAKE)=@@@%%%'
  3978. _ACEOF
  3979. # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
  3980. case `${MAKE-make} -f conftest.make 2>/dev/null` in
  3981. *@@@%%%=?*=@@@%%%*)
  3982. eval ac_cv_prog_make_${ac_make}_set=yes;;
  3983. *)
  3984. eval ac_cv_prog_make_${ac_make}_set=no;;
  3985. esac
  3986. rm -f conftest.make
  3987. fi
  3988. if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
  3989. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  3990. $as_echo "yes" >&6; }
  3991. SET_MAKE=
  3992. else
  3993. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  3994. $as_echo "no" >&6; }
  3995. SET_MAKE="MAKE=${MAKE-make}"
  3996. fi
  3997. rm -rf .tst 2>/dev/null
  3998. mkdir .tst 2>/dev/null
  3999. if test -d .tst; then
  4000. am__leading_dot=.
  4001. else
  4002. am__leading_dot=_
  4003. fi
  4004. rmdir .tst 2>/dev/null
  4005. # Check whether --enable-silent-rules was given.
  4006. if test "${enable_silent_rules+set}" = set; then :
  4007. enableval=$enable_silent_rules;
  4008. fi
  4009. case $enable_silent_rules in # (((
  4010. yes) AM_DEFAULT_VERBOSITY=0;;
  4011. no) AM_DEFAULT_VERBOSITY=1;;
  4012. *) AM_DEFAULT_VERBOSITY=1;;
  4013. esac
  4014. am_make=${MAKE-make}
  4015. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
  4016. $as_echo_n "checking whether $am_make supports nested variables... " >&6; }
  4017. if ${am_cv_make_support_nested_variables+:} false; then :
  4018. $as_echo_n "(cached) " >&6
  4019. else
  4020. if $as_echo 'TRUE=$(BAR$(V))
  4021. BAR0=false
  4022. BAR1=true
  4023. V=1
  4024. am__doit:
  4025. @$(TRUE)
  4026. .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
  4027. am_cv_make_support_nested_variables=yes
  4028. else
  4029. am_cv_make_support_nested_variables=no
  4030. fi
  4031. fi
  4032. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
  4033. $as_echo "$am_cv_make_support_nested_variables" >&6; }
  4034. if test $am_cv_make_support_nested_variables = yes; then
  4035. AM_V='$(V)'
  4036. AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
  4037. else
  4038. AM_V=$AM_DEFAULT_VERBOSITY
  4039. AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
  4040. fi
  4041. AM_BACKSLASH='\'
  4042. if test "`cd $srcdir && pwd`" != "`pwd`"; then
  4043. # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
  4044. # is not polluted with repeated "-I."
  4045. am__isrc=' -I$(srcdir)'
  4046. # test to see if srcdir already configured
  4047. if test -f $srcdir/config.status; then
  4048. as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
  4049. fi
  4050. fi
  4051. # test whether we have cygpath
  4052. if test -z "$CYGPATH_W"; then
  4053. if (cygpath --version) >/dev/null 2>/dev/null; then
  4054. CYGPATH_W='cygpath -w'
  4055. else
  4056. CYGPATH_W=echo
  4057. fi
  4058. fi
  4059. # Define the identity of the package.
  4060. PACKAGE='libmesh'
  4061. VERSION='1.7.0-pre'
  4062. cat >>confdefs.h <<_ACEOF
  4063. #define PACKAGE "$PACKAGE"
  4064. _ACEOF
  4065. cat >>confdefs.h <<_ACEOF
  4066. #define VERSION "$VERSION"
  4067. _ACEOF
  4068. # Some tools Automake needs.
  4069. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
  4070. AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
  4071. AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
  4072. AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
  4073. MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
  4074. # For better backward compatibility. To be removed once Automake 1.9.x
  4075. # dies out for good. For more background, see:
  4076. # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
  4077. # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
  4078. mkdir_p='$(MKDIR_P)'
  4079. # We need awk for the "check" target (and possibly the TAP driver). The
  4080. # system "awk" is bad on some platforms.
  4081. # Always define AMTAR for backward compatibility. Yes, it's still used
  4082. # in the wild :-( We should find a proper way to deprecate it ...
  4083. AMTAR='$${TAR-tar}'
  4084. # We'll loop over all known methods to create a tar archive until one works.
  4085. _am_tools='gnutar plaintar pax cpio none'
  4086. # The POSIX 1988 'ustar' format is defined with fixed-size fields.
  4087. # There is notably a 21 bits limit for the UID and the GID. In fact,
  4088. # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
  4089. # and bug#13588).
  4090. am_max_uid=2097151 # 2^21 - 1
  4091. am_max_gid=$am_max_uid
  4092. # The $UID and $GID variables are not portable, so we need to resort
  4093. # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
  4094. # below are definitely unexpected, so allow the users to see them
  4095. # (that is, avoid stderr redirection).
  4096. am_uid=`id -u || echo unknown`
  4097. am_gid=`id -g || echo unknown`
  4098. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
  4099. $as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
  4100. if test $am_uid -le $am_max_uid; then
  4101. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  4102. $as_echo "yes" >&6; }
  4103. else
  4104. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4105. $as_echo "no" >&6; }
  4106. _am_tools=none
  4107. fi
  4108. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
  4109. $as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
  4110. if test $am_gid -le $am_max_gid; then
  4111. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  4112. $as_echo "yes" >&6; }
  4113. else
  4114. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4115. $as_echo "no" >&6; }
  4116. _am_tools=none
  4117. fi
  4118. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
  4119. $as_echo_n "checking how to create a ustar tar archive... " >&6; }
  4120. # Go ahead even if we have the value already cached. We do so because we
  4121. # need to set the values for the 'am__tar' and 'am__untar' variables.
  4122. _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
  4123. for _am_tool in $_am_tools; do
  4124. case $_am_tool in
  4125. gnutar)
  4126. for _am_tar in tar gnutar gtar; do
  4127. { echo "$as_me:$LINENO: $_am_tar --version" >&5
  4128. ($_am_tar --version) >&5 2>&5
  4129. ac_status=$?
  4130. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  4131. (exit $ac_status); } && break
  4132. done
  4133. am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
  4134. am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
  4135. am__untar="$_am_tar -xf -"
  4136. ;;
  4137. plaintar)
  4138. # Must skip GNU tar: if it does not support --format= it doesn't create
  4139. # ustar tarball either.
  4140. (tar --version) >/dev/null 2>&1 && continue
  4141. am__tar='tar chf - "$$tardir"'
  4142. am__tar_='tar chf - "$tardir"'
  4143. am__untar='tar xf -'
  4144. ;;
  4145. pax)
  4146. am__tar='pax -L -x ustar -w "$$tardir"'
  4147. am__tar_='pax -L -x ustar -w "$tardir"'
  4148. am__untar='pax -r'
  4149. ;;
  4150. cpio)
  4151. am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
  4152. am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
  4153. am__untar='cpio -i -H ustar -d'
  4154. ;;
  4155. none)
  4156. am__tar=false
  4157. am__tar_=false
  4158. am__untar=false
  4159. ;;
  4160. esac
  4161. # If the value was cached, stop now. We just wanted to have am__tar
  4162. # and am__untar set.
  4163. test -n "${am_cv_prog_tar_ustar}" && break
  4164. # tar/untar a dummy directory, and stop if the command works.
  4165. rm -rf conftest.dir
  4166. mkdir conftest.dir
  4167. echo GrepMe > conftest.dir/file
  4168. { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
  4169. (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
  4170. ac_status=$?
  4171. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  4172. (exit $ac_status); }
  4173. rm -rf conftest.dir
  4174. if test -s conftest.tar; then
  4175. { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
  4176. ($am__untar <conftest.tar) >&5 2>&5
  4177. ac_status=$?
  4178. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  4179. (exit $ac_status); }
  4180. { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
  4181. (cat conftest.dir/file) >&5 2>&5
  4182. ac_status=$?
  4183. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  4184. (exit $ac_status); }
  4185. grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
  4186. fi
  4187. done
  4188. rm -rf conftest.dir
  4189. if ${am_cv_prog_tar_ustar+:} false; then :
  4190. $as_echo_n "(cached) " >&6
  4191. else
  4192. am_cv_prog_tar_ustar=$_am_tool
  4193. fi
  4194. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
  4195. $as_echo "$am_cv_prog_tar_ustar" >&6; }
  4196. # POSIX will say in a future version that running "rm -f" with no argument
  4197. # is OK; and we want to be able to make that assumption in our Makefile
  4198. # recipes. So use an aggressive probe to check that the usage we want is
  4199. # actually supported "in the wild" to an acceptable degree.
  4200. # See automake bug#10828.
  4201. # To make any issue more visible, cause the running configure to be aborted
  4202. # by default if the 'rm' program in use doesn't match our expectations; the
  4203. # user can still override this though.
  4204. if rm -f && rm -fr && rm -rf; then : OK; else
  4205. cat >&2 <<'END'
  4206. Oops!
  4207. Your 'rm' program seems unable to run without file operands specified
  4208. on the command line, even when the '-f' option is present. This is contrary
  4209. to the behaviour of most rm programs out there, and not conforming with
  4210. the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
  4211. Please tell bug-automake@gnu.org about your system, including the value
  4212. of your $PATH and any error possibly output before this message. This
  4213. can help us improve future automake versions.
  4214. END
  4215. if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
  4216. echo 'Configuration will proceed anyway, since you have set the' >&2
  4217. echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
  4218. echo >&2
  4219. else
  4220. cat >&2 <<'END'
  4221. Aborting the configuration process, to ensure you take notice of the issue.
  4222. You can download and install GNU coreutils to get an 'rm' implementation
  4223. that behaves properly: <https://www.gnu.org/software/coreutils/>.
  4224. If you want to complete the configuration process using your problematic
  4225. 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
  4226. to "yes", and re-run configure.
  4227. END
  4228. as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
  4229. fi
  4230. fi
  4231. # use silent rules - automake 1.11
  4232. # Check whether --enable-silent-rules was given.
  4233. if test "${enable_silent_rules+set}" = set; then :
  4234. enableval=$enable_silent_rules;
  4235. fi
  4236. case $enable_silent_rules in # (((
  4237. yes) AM_DEFAULT_VERBOSITY=0;;
  4238. no) AM_DEFAULT_VERBOSITY=1;;
  4239. *) AM_DEFAULT_VERBOSITY=0;;
  4240. esac
  4241. am_make=${MAKE-make}
  4242. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
  4243. $as_echo_n "checking whether $am_make supports nested variables... " >&6; }
  4244. if ${am_cv_make_support_nested_variables+:} false; then :
  4245. $as_echo_n "(cached) " >&6
  4246. else
  4247. if $as_echo 'TRUE=$(BAR$(V))
  4248. BAR0=false
  4249. BAR1=true
  4250. V=1
  4251. am__doit:
  4252. @$(TRUE)
  4253. .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
  4254. am_cv_make_support_nested_variables=yes
  4255. else
  4256. am_cv_make_support_nested_variables=no
  4257. fi
  4258. fi
  4259. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
  4260. $as_echo "$am_cv_make_support_nested_variables" >&6; }
  4261. if test $am_cv_make_support_nested_variables = yes; then
  4262. AM_V='$(V)'
  4263. AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
  4264. else
  4265. AM_V=$AM_DEFAULT_VERBOSITY
  4266. AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
  4267. fi
  4268. AM_BACKSLASH='\'
  4269. # We originally passed [enable] to AM_MAINTAINER_MODE, but this caused
  4270. # ordinary users to have to configure with --disable-maintainer-mode,
  4271. # which is easy to forget unless you are closely following the
  4272. # instructions, or are aware of the issue and have run the provided
  4273. # ./bootstrap script.
  4274. #
  4275. # We've now switched this to simply AM_MAINTAINER_MODE with no
  4276. # arguments, which is equivalent to AM_MAINTAINER_MODE([disable]). In
  4277. # this configuration, developers who modify Makefile.am files (or
  4278. # other build system files) *must* configure with
  4279. # --enable-maintainer-mode in order for dependent files (Makefile.in,
  4280. # etc) to be properly rebuilt whenever changes to the build system are
  4281. # made.
  4282. #
  4283. # Note that this approach is not without its drawbacks and detractors:
  4284. # https://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool
  4285. # https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html
  4286. # but the benefit is that casual and first-time users are not
  4287. # surprised by the default behavior of simply running ./configure.
  4288. #
  4289. # Note that we also do things a bit differently than most other
  4290. # projects regarding the number of auto-generated build files
  4291. # (Makefile.in) that are checked in, and it seems like the new
  4292. # approach makes more sense for the way our project works --
  4293. # rebuilding the build files are not part of a normal build for most
  4294. # users.
  4295. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
  4296. $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
  4297. # Check whether --enable-maintainer-mode was given.
  4298. if test "${enable_maintainer_mode+set}" = set; then :
  4299. enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
  4300. else
  4301. USE_MAINTAINER_MODE=no
  4302. fi
  4303. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
  4304. $as_echo "$USE_MAINTAINER_MODE" >&6; }
  4305. if test $USE_MAINTAINER_MODE = yes; then
  4306. MAINTAINER_MODE_TRUE=
  4307. MAINTAINER_MODE_FALSE='#'
  4308. else
  4309. MAINTAINER_MODE_TRUE='#'
  4310. MAINTAINER_MODE_FALSE=
  4311. fi
  4312. MAINT=$MAINTAINER_MODE_TRUE
  4313. # --------------------------------------------------------------
  4314. # Determine if we are doing a local or VPATH build. In the case
  4315. # of the latter we will need to go through some extra effort to
  4316. # create links for the example source files.
  4317. # --------------------------------------------------------------
  4318. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for src/base/libmesh.C" >&5
  4319. $as_echo_n "checking for src/base/libmesh.C... " >&6; }
  4320. if ${ac_cv_file_src_base_libmesh_C+:} false; then :
  4321. $as_echo_n "(cached) " >&6
  4322. else
  4323. test "$cross_compiling" = yes &&
  4324. as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
  4325. if test -r "src/base/libmesh.C"; then
  4326. ac_cv_file_src_base_libmesh_C=yes
  4327. else
  4328. ac_cv_file_src_base_libmesh_C=no
  4329. fi
  4330. fi
  4331. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file_src_base_libmesh_C" >&5
  4332. $as_echo "$ac_cv_file_src_base_libmesh_C" >&6; }
  4333. if test "x$ac_cv_file_src_base_libmesh_C" = xyes; then :
  4334. libmesh_vpath_build=no
  4335. else
  4336. libmesh_vpath_build=yes
  4337. fi
  4338. if test $libmesh_vpath_build = yes; then :
  4339. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring build directory for VPATH build >>>" >&5
  4340. $as_echo "<<< Configuring build directory for VPATH build >>>" >&6; }
  4341. fi
  4342. if test x$libmesh_vpath_build = xyes; then
  4343. LIBMESH_VPATH_BUILD_TRUE=
  4344. LIBMESH_VPATH_BUILD_FALSE='#'
  4345. else
  4346. LIBMESH_VPATH_BUILD_TRUE='#'
  4347. LIBMESH_VPATH_BUILD_FALSE=
  4348. fi
  4349. # --------------------------------------------------------------
  4350. # Do compilation tests using the compiler, preprocessor, and file extensions
  4351. # of C++. This uses the .C extension for test programs.
  4352. # --------------------------------------------------------------
  4353. ac_ext=cpp
  4354. ac_cpp='$CXXCPP $CPPFLAGS'
  4355. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  4356. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  4357. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  4358. # -------------------------------------------------------------
  4359. # Perl - look for perl. Perl is used to generate dependencies. We
  4360. # also use it to (optionally) parse compiler version strings, so $PERL
  4361. # needs to be set before LIBMESH_SET_COMPILERS is called.
  4362. # -------------------------------------------------------------
  4363. # Extract the first word of "perl", so it can be a program name with args.
  4364. set dummy perl; ac_word=$2
  4365. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  4366. $as_echo_n "checking for $ac_word... " >&6; }
  4367. if ${ac_cv_path_PERL+:} false; then :
  4368. $as_echo_n "(cached) " >&6
  4369. else
  4370. case $PERL in
  4371. [\\/]* | ?:[\\/]*)
  4372. ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
  4373. ;;
  4374. *)
  4375. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  4376. for as_dir in $PATH
  4377. do
  4378. IFS=$as_save_IFS
  4379. test -z "$as_dir" && as_dir=.
  4380. for ac_exec_ext in '' $ac_executable_extensions; do
  4381. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  4382. ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
  4383. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  4384. break 2
  4385. fi
  4386. done
  4387. done
  4388. IFS=$as_save_IFS
  4389. ;;
  4390. esac
  4391. fi
  4392. PERL=$ac_cv_path_PERL
  4393. if test -n "$PERL"; then
  4394. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
  4395. $as_echo "$PERL" >&6; }
  4396. else
  4397. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4398. $as_echo "no" >&6; }
  4399. fi
  4400. #--------------------------------------------------------------------
  4401. # Check for whether to enable MPI and PETSc which will influence our
  4402. # choice of compiler
  4403. #--------------------------------------------------------------------
  4404. # -------------------------------------------------------------------
  4405. # MPI -- enabled by default. Check for it now so we can be somewhat
  4406. # smart about which compilers to look for
  4407. # -------------------------------------------------------------------
  4408. # Check whether --enable-mpi was given.
  4409. if test "${enable_mpi+set}" = set; then :
  4410. enableval=$enable_mpi; case "${enableval}" in #(
  4411. yes) :
  4412. enablempi=yes ;; #(
  4413. no) :
  4414. enablempi=no ;; #(
  4415. *) :
  4416. as_fn_error $? "bad value ${enableval} for --enable-mpi" "$LINENO" 5 ;;
  4417. esac
  4418. else
  4419. enablempi=yes
  4420. fi
  4421. # Check whether --with-mpi was given.
  4422. if test "${with_mpi+set}" = set; then :
  4423. withval=$with_mpi;
  4424. if test "$enablempi" = yes && test "$withval" = no; then :
  4425. as_fn_error $? "Did you mean to disable MPI? If you really mean it, use the --disable-mpi option instead" "$LINENO" 5
  4426. fi
  4427. MPI="$withval"
  4428. else
  4429. $as_echo "note: MPI library path not given..."
  4430. if test x"$MPIHOME" != x; then :
  4431. $as_echo "trying prefix=$MPIHOME"
  4432. MPI=$MPIHOME
  4433. else
  4434. if test x"$MPI_HOME" != x; then :
  4435. $as_echo "trying prefix=$MPI_HOME"
  4436. MPI=$MPI_HOME
  4437. fi
  4438. fi
  4439. fi
  4440. # Check whether --with-mpi was given.
  4441. if test "${with_mpi+set}" = set; then :
  4442. withval=$with_mpi;
  4443. if test "$enablempi" = yes && test "$withval" = no; then :
  4444. as_fn_error $? "Did you mean to disable MPI? If you really mean it, use the --disable-mpi option instead" "$LINENO" 5
  4445. fi
  4446. MPI="$withval"
  4447. else
  4448. $as_echo "note: MPI library path not given..."
  4449. if test x"$MPIHOME" != x; then :
  4450. $as_echo "trying prefix=$MPIHOME"
  4451. MPI=$MPIHOME
  4452. else
  4453. if test x"$MPI_HOME" != x; then :
  4454. $as_echo "trying prefix=$MPI_HOME"
  4455. MPI=$MPI_HOME
  4456. fi
  4457. fi
  4458. fi
  4459. # Check whether --with-mpi-include was given.
  4460. if test "${with_mpi_include+set}" = set; then :
  4461. withval=$with_mpi_include;
  4462. MPI_INCLUDES_PATH="$withval"
  4463. else
  4464. MPI_INCLUDES_PATH="$MPI/include"
  4465. fi
  4466. # Check whether --with-mpi-lib was given.
  4467. if test "${with_mpi_lib+set}" = set; then :
  4468. withval=$with_mpi_lib;
  4469. MPI_LIBS_PATH="$withval"
  4470. else
  4471. MPI_LIBS_PATH="$MPI/lib"
  4472. fi
  4473. #
  4474. # --------------------------------------------------------------
  4475. # Allow for disable-optional
  4476. # --------------------------------------------------------------
  4477. # Check whether --enable-optional was given.
  4478. if test "${enable_optional+set}" = set; then :
  4479. enableval=$enable_optional; case "${enableval}" in #(
  4480. yes) :
  4481. enableoptional=yes ;; #(
  4482. no) :
  4483. enableoptional=no ;; #(
  4484. *) :
  4485. as_fn_error $? "bad value ${enableval} for --enable-optional" "$LINENO" 5 ;;
  4486. esac
  4487. else
  4488. enableoptional=yes
  4489. fi
  4490. # ----------------------------------------------------------------------
  4491. # PETSc is our usual solver package. We place this configure option here
  4492. # because we may use its CXX for our own compiles
  4493. # ----------------------------------------------------------------------
  4494. # Check whether --enable-petsc was given.
  4495. if test "${enable_petsc+set}" = set; then :
  4496. enableval=$enable_petsc; case "${enableval}" in #(
  4497. yes) :
  4498. enablepetsc=yes;enablepetsc_mpi=yes ;; #(
  4499. no) :
  4500. enablepetsc=no;enablepetsc_mpi=no ;; #(
  4501. *) :
  4502. as_fn_error $? "bad value ${enableval} for --enable-petsc" "$LINENO" 5 ;;
  4503. esac
  4504. else
  4505. enablepetsc=$enableoptional;enablepetsc_mpi=$enableoptional
  4506. fi
  4507. #-----------------------------------------------------------------------
  4508. # Scrape PETSc configure information for their CXX, MPI_INCLUDE, MPI_LIB,
  4509. # PETSCLINKLIBS, PETSCINCLUDEDIRS, and other variables
  4510. #-----------------------------------------------------------------------
  4511. # Trump --enable-petsc with --disable-mpi
  4512. if test "x$enablempi" = xno; then :
  4513. enablepetsc=no;enablepetsc_mpi=no
  4514. fi
  4515. if test "$enablepetsc" != no; then :
  4516. # If the user doesn't have any PETSC directory specified, let's check to
  4517. # see if it's installed via Ubuntu module
  4518. if test "x${PETSC_DIR}" = x; then :
  4519. # Extract the first word of "petscarch", so it can be a program name with args.
  4520. set dummy petscarch; ac_word=$2
  4521. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  4522. $as_echo_n "checking for $ac_word... " >&6; }
  4523. if ${ac_cv_path_PETSCARCH+:} false; then :
  4524. $as_echo_n "(cached) " >&6
  4525. else
  4526. case $PETSCARCH in
  4527. [\\/]* | ?:[\\/]*)
  4528. ac_cv_path_PETSCARCH="$PETSCARCH" # Let the user override the test with a path.
  4529. ;;
  4530. *)
  4531. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  4532. for as_dir in $PATH
  4533. do
  4534. IFS=$as_save_IFS
  4535. test -z "$as_dir" && as_dir=.
  4536. for ac_exec_ext in '' $ac_executable_extensions; do
  4537. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  4538. ac_cv_path_PETSCARCH="$as_dir/$ac_word$ac_exec_ext"
  4539. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  4540. break 2
  4541. fi
  4542. done
  4543. done
  4544. IFS=$as_save_IFS
  4545. ;;
  4546. esac
  4547. fi
  4548. PETSCARCH=$ac_cv_path_PETSCARCH
  4549. if test -n "$PETSCARCH"; then
  4550. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PETSCARCH" >&5
  4551. $as_echo "$PETSCARCH" >&6; }
  4552. else
  4553. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4554. $as_echo "no" >&6; }
  4555. fi
  4556. if test "x$PETSCARCH" != x; then :
  4557. export PETSC_DIR=/usr/lib/petsc
  4558. export PETSC_ARCH=`$PETSCARCH`
  4559. if test -d ${PETSC_DIR}; then :
  4560. { $as_echo "$as_me:${as_lineno-$LINENO}: result: using system-provided PETSC_DIR ${PETSC_DIR}" >&5
  4561. $as_echo "using system-provided PETSC_DIR ${PETSC_DIR}" >&6; }
  4562. { $as_echo "$as_me:${as_lineno-$LINENO}: result: using system-provided PETSC_ARCH ${PETSC_ARCH}" >&5
  4563. $as_echo "using system-provided PETSC_ARCH ${PETSC_ARCH}" >&6; }
  4564. fi
  4565. fi
  4566. fi
  4567. if test x"$PETSC_DIR" = x; then :
  4568. enablepetsc=no;enablepetsc_mpi=no
  4569. fi
  4570. fi
  4571. if test "$enablepetsc" != no; then :
  4572. if test -r ${PETSC_DIR}/bmake/${PETSC_ARCH}/petscconf; then :
  4573. PETSC_MPI=`grep MPIEXEC ${PETSC_DIR}/bmake/${PETSC_ARCH}/petscconf | grep -v mpiexec.uni`
  4574. elif test -r ${PETSC_DIR}/${PETSC_ARCH}/conf/petscvariables; then :
  4575. PETSC_MPI=`grep MPIEXEC ${PETSC_DIR}/${PETSC_ARCH}/conf/petscvariables | grep -v mpiexec.uni`
  4576. elif test -r ${PETSC_DIR}/conf/petscvariables; then :
  4577. PETSC_MPI=`grep MPIEXEC ${PETSC_DIR}/conf/petscvariables | grep -v mpiexec.uni`
  4578. elif test -r ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/petscvariables; then :
  4579. PETSC_MPI=`grep MPIEXEC ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/petscvariables | grep -v mpiexec.uni`
  4580. elif test -r ${PETSC_DIR}/lib/petsc/conf/petscvariables; then :
  4581. PETSC_MPI=`grep MPIEXEC ${PETSC_DIR}/lib/petsc/conf/petscvariables | grep -v mpiexec.uni`
  4582. fi
  4583. if test "x$PETSC_MPI" != x; then :
  4584. else
  4585. enablepetsc_mpi=no
  4586. fi
  4587. # Figure out whether this PETSC_DIR is a PETSc source tree or an installed PETSc.
  4588. if test -r ${PETSC_DIR}/makefile && test -r ${PETSC_DIR}/${PETSC_ARCH}/conf/variables; then :
  4589. PREFIX_INSTALLED_PETSC=no
  4590. PETSC_VARS_FILE=${PETSC_DIR}/${PETSC_ARCH}/conf/variables
  4591. elif test -r ${PETSC_DIR}/makefile && test -r ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/variables; then :
  4592. PREFIX_INSTALLED_PETSC=no
  4593. PETSC_VARS_FILE=${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/variables
  4594. elif test -r ${PETSC_DIR}/conf/variables; then :
  4595. PREFIX_INSTALLED_PETSC=yes
  4596. PETSC_VARS_FILE=${PETSC_DIR}/conf/variables
  4597. elif test -r ${PETSC_DIR}/lib/petsc/conf/variables; then :
  4598. PREFIX_INSTALLED_PETSC=yes
  4599. PETSC_VARS_FILE=${PETSC_DIR}/lib/petsc/conf/variables
  4600. elif test -r ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/variables; then :
  4601. PREFIX_INSTALLED_PETSC=yes
  4602. PETSC_VARS_FILE=${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/variables
  4603. elif
  4604. test -r ${PETSC_DIR}/makefile && test -r ${PETSC_DIR}/conf/variables; then :
  4605. PREFIX_INSTALLED_PETSC=no
  4606. PETSC_VARS_FILE=${PETSC_DIR}/conf/variables
  4607. elif test -r ${PETSC_DIR}/makefile && test -r ${PETSC_DIR}/lib/petsc/conf/variables; then :
  4608. PREFIX_INSTALLED_PETSC=no
  4609. PETSC_VARS_FILE=${PETSC_DIR}/lib/petsc/conf/variables
  4610. else
  4611. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Could not find a viable PETSc Makefile to determine PETSC_CC_INCLUDES, etc. >>>" >&5
  4612. $as_echo "<<< Could not find a viable PETSc Makefile to determine PETSC_CC_INCLUDES, etc. >>>" >&6; }
  4613. enablepetsc=no; enablepetsc_mpi=no
  4614. fi
  4615. fi
  4616. if test "$enablepetsc" != no; then :
  4617. if test "$PREFIX_INSTALLED_PETSC" = "no"; then :
  4618. PETSCLINKLIBS=`make -s -C ${PETSC_DIR} SHELL=/bin/sh getlinklibs`
  4619. PETSCINCLUDEDIRS=`make -s -C ${PETSC_DIR} SHELL=/bin/sh getincludedirs`
  4620. PETSC_CXX=`make -s -C $PETSC_DIR SHELL=/bin/sh getcxxcompiler`
  4621. PETSC_MPI_INCLUDE_DIRS=`make -s -C $PETSC_DIR SHELL=/bin/sh getmpiincludedirs`
  4622. PETSC_MPI_LINK_LIBS=`make -s -C $PETSC_DIR SHELL=/bin/sh getmpilinklibs`
  4623. printf '%s\n' "include $PETSC_VARS_FILE" > Makefile_config_petsc
  4624. printf '%s\n' "getPETSC_CC_INCLUDES:" >> Makefile_config_petsc
  4625. printf '\t%s\n' "echo \$(PETSC_CC_INCLUDES)" >> Makefile_config_petsc
  4626. printf '%s\n' "getPETSC_FC_INCLUDES:" >> Makefile_config_petsc
  4627. printf '\t%s\n' "echo \$(PETSC_FC_INCLUDES)" >> Makefile_config_petsc
  4628. PETSC_CC_INCLUDES=`make -s -f Makefile_config_petsc SHELL=/bin/sh getPETSC_CC_INCLUDES`
  4629. PETSC_FC_INCLUDES=`make -s -f Makefile_config_petsc SHELL=/bin/sh getPETSC_FC_INCLUDES`
  4630. rm -f Makefile_config_petsc
  4631. else
  4632. printf '%s\n' "include $PETSC_VARS_FILE" > Makefile_config_petsc
  4633. printf '%s\n' "getincludedirs:" >> Makefile_config_petsc
  4634. printf '\t%s' "echo " >> Makefile_config_petsc
  4635. if test -d ${PETSC_DIR}/include; then :
  4636. printf '%s ' "-I\$(PETSC_DIR)/include" >> Makefile_config_petsc
  4637. fi
  4638. if test -d ${PETSC_DIR}/${PETSC_ARCH}/include; then :
  4639. printf '%s ' "-I\$(PETSC_DIR)/\$(PETSC_ARCH)/include" >> Makefile_config_petsc
  4640. fi
  4641. printf '%s\n' "\$(BLOCKSOLVE_INCLUDE) \$(HYPRE_INCLUDE) \$(PACKAGES_INCLUDES)" >> Makefile_config_petsc
  4642. printf '%s\n' "getPETSC_CC_INCLUDES:" >> Makefile_config_petsc
  4643. printf '\t%s\n' "echo \$(PETSC_CC_INCLUDES)" >> Makefile_config_petsc
  4644. printf '%s\n' "getPETSC_FC_INCLUDES:" >> Makefile_config_petsc
  4645. printf '\t%s\n' "echo \$(PETSC_FC_INCLUDES)" >> Makefile_config_petsc
  4646. printf '%s\n' "getlinklibs:" >> Makefile_config_petsc
  4647. printf '\t%s\n' "echo \$(PETSC_SNES_LIB)" >> Makefile_config_petsc
  4648. printf '%s\n' "getcxxcompiler:" >> Makefile_config_petsc
  4649. printf '\t%s\n' "echo \$(CXX)" >> Makefile_config_petsc
  4650. printf '%s\n' "getmpiincludedirs:" >> Makefile_config_petsc
  4651. printf '\t%s\n' "echo \$(MPI_INCLUDE)" >> Makefile_config_petsc
  4652. printf '%s\n' "getmpilinklibs:" >> Makefile_config_petsc
  4653. printf '\t%s\n' "echo \$(MPI_LIB)" >> Makefile_config_petsc
  4654. PETSCLINKLIBS=`make -s -f Makefile_config_petsc SHELL=/bin/sh getlinklibs`
  4655. PETSCINCLUDEDIRS=`make -s -f Makefile_config_petsc SHELL=/bin/sh getincludedirs`
  4656. PETSC_CC_INCLUDES=`make -s -f Makefile_config_petsc SHELL=/bin/sh getPETSC_CC_INCLUDES`
  4657. PETSC_FC_INCLUDES=`make -s -f Makefile_config_petsc SHELL=/bin/sh getPETSC_FC_INCLUDES`
  4658. PETSC_CXX=`make -s -f Makefile_config_petsc SHELL=/bin/sh getcxxcompiler`
  4659. PETSC_MPI_INCLUDE_DIRS=`make -s -f Makefile_config_petsc SHELL=/bin/sh getmpiincludedirs`
  4660. PETSC_MPI_LINK_LIBS=`make -s -f Makefile_config_petsc SHELL=/bin/sh getmpilinklibs`
  4661. rm -f Makefile_config_petsc
  4662. fi
  4663. # We sometimes need the full CC_INCLUDES to access a
  4664. # PETSc-snooped MPI
  4665. PETSCINCLUDEDIRS="$PETSCINCLUDEDIRS $PETSC_CC_INCLUDES"
  4666. fi
  4667. if test "$enablepetsc" = no && test "$enablepetsc_mpi" != no; then :
  4668. as_fn_error $? "petsc was disabled but petscs mpi was not disabled" "$LINENO" 5
  4669. as_fn_error $? "something wrong must have happened during the configure process" "$LINENO" 5
  4670. as_fn_error $? "please contact the libmesh-users mailing list for support" "$LINENO" 5
  4671. fi
  4672. if test "$enablepetsc_mpi" != no; then :
  4673. PETSC_HAVE_MPI=1
  4674. fi
  4675. # --------------------------------------------------------------
  4676. # Set our preferred compilers
  4677. # --------------------------------------------------------------
  4678. DEPDIR="${am__leading_dot}deps"
  4679. ac_config_commands="$ac_config_commands depfiles"
  4680. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
  4681. $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
  4682. cat > confinc.mk << 'END'
  4683. am__doit:
  4684. @echo this is the am__doit target >confinc.out
  4685. .PHONY: am__doit
  4686. END
  4687. am__include="#"
  4688. am__quote=
  4689. # BSD make does it like this.
  4690. echo '.include "confinc.mk" # ignored' > confmf.BSD
  4691. # Other make implementations (GNU, Solaris 10, AIX) do it like this.
  4692. echo 'include confinc.mk # ignored' > confmf.GNU
  4693. _am_result=no
  4694. for s in GNU BSD; do
  4695. { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
  4696. (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
  4697. ac_status=$?
  4698. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  4699. (exit $ac_status); }
  4700. case $?:`cat confinc.out 2>/dev/null` in #(
  4701. '0:this is the am__doit target') :
  4702. case $s in #(
  4703. BSD) :
  4704. am__include='.include' am__quote='"' ;; #(
  4705. *) :
  4706. am__include='include' am__quote='' ;;
  4707. esac ;; #(
  4708. *) :
  4709. ;;
  4710. esac
  4711. if test "$am__include" != "#"; then
  4712. _am_result="yes ($s style)"
  4713. break
  4714. fi
  4715. done
  4716. rm -f confinc.* confmf.*
  4717. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
  4718. $as_echo "${_am_result}" >&6; }
  4719. # Check whether --enable-dependency-tracking was given.
  4720. if test "${enable_dependency_tracking+set}" = set; then :
  4721. enableval=$enable_dependency_tracking;
  4722. fi
  4723. if test "x$enable_dependency_tracking" != xno; then
  4724. am_depcomp="$ac_aux_dir/depcomp"
  4725. AMDEPBACKSLASH='\'
  4726. am__nodep='_no'
  4727. fi
  4728. if test "x$enable_dependency_tracking" != xno; then
  4729. AMDEP_TRUE=
  4730. AMDEP_FALSE='#'
  4731. else
  4732. AMDEP_TRUE='#'
  4733. AMDEP_FALSE=
  4734. fi
  4735. # --------------------------------------------------------------
  4736. # look for a decent C compiler or honor --with-cc=...
  4737. CC_TRY_LIST="gcc icc pgcc cc"
  4738. if test "$enablempi" != no; then :
  4739. CC_TRY_LIST="mpicc $CC_TRY_LIST"
  4740. fi
  4741. # Check whether --with-cc was given.
  4742. if test "${with_cc+set}" = set; then :
  4743. withval=$with_cc; CC="$withval"
  4744. fi
  4745. # --------------------------------------------------------------
  4746. # Determine a C compiler to use. If CC is not already set, checks for
  4747. # gcc, cc, and other C compilers. Then sets the CC variable to the result.
  4748. # --------------------------------------------------------------
  4749. ac_ext=c
  4750. ac_cpp='$CPP $CPPFLAGS'
  4751. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  4752. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  4753. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  4754. if test -n "$ac_tool_prefix"; then
  4755. for ac_prog in $CC_TRY_LIST
  4756. do
  4757. # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
  4758. set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  4759. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  4760. $as_echo_n "checking for $ac_word... " >&6; }
  4761. if ${ac_cv_prog_CC+:} false; then :
  4762. $as_echo_n "(cached) " >&6
  4763. else
  4764. if test -n "$CC"; then
  4765. ac_cv_prog_CC="$CC" # Let the user override the test.
  4766. else
  4767. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  4768. for as_dir in $PATH
  4769. do
  4770. IFS=$as_save_IFS
  4771. test -z "$as_dir" && as_dir=.
  4772. for ac_exec_ext in '' $ac_executable_extensions; do
  4773. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  4774. ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
  4775. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  4776. break 2
  4777. fi
  4778. done
  4779. done
  4780. IFS=$as_save_IFS
  4781. fi
  4782. fi
  4783. CC=$ac_cv_prog_CC
  4784. if test -n "$CC"; then
  4785. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
  4786. $as_echo "$CC" >&6; }
  4787. else
  4788. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4789. $as_echo "no" >&6; }
  4790. fi
  4791. test -n "$CC" && break
  4792. done
  4793. fi
  4794. if test -z "$CC"; then
  4795. ac_ct_CC=$CC
  4796. for ac_prog in $CC_TRY_LIST
  4797. do
  4798. # Extract the first word of "$ac_prog", so it can be a program name with args.
  4799. set dummy $ac_prog; ac_word=$2
  4800. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  4801. $as_echo_n "checking for $ac_word... " >&6; }
  4802. if ${ac_cv_prog_ac_ct_CC+:} false; then :
  4803. $as_echo_n "(cached) " >&6
  4804. else
  4805. if test -n "$ac_ct_CC"; then
  4806. ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
  4807. else
  4808. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  4809. for as_dir in $PATH
  4810. do
  4811. IFS=$as_save_IFS
  4812. test -z "$as_dir" && as_dir=.
  4813. for ac_exec_ext in '' $ac_executable_extensions; do
  4814. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  4815. ac_cv_prog_ac_ct_CC="$ac_prog"
  4816. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  4817. break 2
  4818. fi
  4819. done
  4820. done
  4821. IFS=$as_save_IFS
  4822. fi
  4823. fi
  4824. ac_ct_CC=$ac_cv_prog_ac_ct_CC
  4825. if test -n "$ac_ct_CC"; then
  4826. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
  4827. $as_echo "$ac_ct_CC" >&6; }
  4828. else
  4829. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4830. $as_echo "no" >&6; }
  4831. fi
  4832. test -n "$ac_ct_CC" && break
  4833. done
  4834. if test "x$ac_ct_CC" = x; then
  4835. CC=""
  4836. else
  4837. case $cross_compiling:$ac_tool_warned in
  4838. yes:)
  4839. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  4840. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  4841. ac_tool_warned=yes ;;
  4842. esac
  4843. CC=$ac_ct_CC
  4844. fi
  4845. fi
  4846. test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  4847. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  4848. as_fn_error $? "no acceptable C compiler found in \$PATH
  4849. See \`config.log' for more details" "$LINENO" 5; }
  4850. # Provide some information about the compiler.
  4851. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
  4852. set X $ac_compile
  4853. ac_compiler=$2
  4854. for ac_option in --version -v -V -qversion; do
  4855. { { ac_try="$ac_compiler $ac_option >&5"
  4856. case "(($ac_try" in
  4857. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  4858. *) ac_try_echo=$ac_try;;
  4859. esac
  4860. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  4861. $as_echo "$ac_try_echo"; } >&5
  4862. (eval "$ac_compiler $ac_option >&5") 2>conftest.err
  4863. ac_status=$?
  4864. if test -s conftest.err; then
  4865. sed '10a\
  4866. ... rest of stderr output deleted ...
  4867. 10q' conftest.err >conftest.er1
  4868. cat conftest.er1 >&5
  4869. fi
  4870. rm -f conftest.er1 conftest.err
  4871. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  4872. test $ac_status = 0; }
  4873. done
  4874. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  4875. /* end confdefs.h. */
  4876. int
  4877. main ()
  4878. {
  4879. ;
  4880. return 0;
  4881. }
  4882. _ACEOF
  4883. ac_clean_files_save=$ac_clean_files
  4884. ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
  4885. # Try to create an executable without -o first, disregard a.out.
  4886. # It will help us diagnose broken compilers, and finding out an intuition
  4887. # of exeext.
  4888. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
  4889. $as_echo_n "checking whether the C compiler works... " >&6; }
  4890. ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
  4891. # The possible output files:
  4892. ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
  4893. ac_rmfiles=
  4894. for ac_file in $ac_files
  4895. do
  4896. case $ac_file in
  4897. *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
  4898. * ) ac_rmfiles="$ac_rmfiles $ac_file";;
  4899. esac
  4900. done
  4901. rm -f $ac_rmfiles
  4902. if { { ac_try="$ac_link_default"
  4903. case "(($ac_try" in
  4904. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  4905. *) ac_try_echo=$ac_try;;
  4906. esac
  4907. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  4908. $as_echo "$ac_try_echo"; } >&5
  4909. (eval "$ac_link_default") 2>&5
  4910. ac_status=$?
  4911. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  4912. test $ac_status = 0; }; then :
  4913. # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
  4914. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
  4915. # in a Makefile. We should not override ac_cv_exeext if it was cached,
  4916. # so that the user can short-circuit this test for compilers unknown to
  4917. # Autoconf.
  4918. for ac_file in $ac_files ''
  4919. do
  4920. test -f "$ac_file" || continue
  4921. case $ac_file in
  4922. *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
  4923. ;;
  4924. [ab].out )
  4925. # We found the default executable, but exeext='' is most
  4926. # certainly right.
  4927. break;;
  4928. *.* )
  4929. if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
  4930. then :; else
  4931. ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
  4932. fi
  4933. # We set ac_cv_exeext here because the later test for it is not
  4934. # safe: cross compilers may not add the suffix if given an `-o'
  4935. # argument, so we may need to know it at that point already.
  4936. # Even if this section looks crufty: it has the advantage of
  4937. # actually working.
  4938. break;;
  4939. * )
  4940. break;;
  4941. esac
  4942. done
  4943. test "$ac_cv_exeext" = no && ac_cv_exeext=
  4944. else
  4945. ac_file=''
  4946. fi
  4947. if test -z "$ac_file"; then :
  4948. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  4949. $as_echo "no" >&6; }
  4950. $as_echo "$as_me: failed program was:" >&5
  4951. sed 's/^/| /' conftest.$ac_ext >&5
  4952. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  4953. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  4954. as_fn_error 77 "C compiler cannot create executables
  4955. See \`config.log' for more details" "$LINENO" 5; }
  4956. else
  4957. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  4958. $as_echo "yes" >&6; }
  4959. fi
  4960. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
  4961. $as_echo_n "checking for C compiler default output file name... " >&6; }
  4962. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
  4963. $as_echo "$ac_file" >&6; }
  4964. ac_exeext=$ac_cv_exeext
  4965. rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
  4966. ac_clean_files=$ac_clean_files_save
  4967. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
  4968. $as_echo_n "checking for suffix of executables... " >&6; }
  4969. if { { ac_try="$ac_link"
  4970. case "(($ac_try" in
  4971. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  4972. *) ac_try_echo=$ac_try;;
  4973. esac
  4974. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  4975. $as_echo "$ac_try_echo"; } >&5
  4976. (eval "$ac_link") 2>&5
  4977. ac_status=$?
  4978. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  4979. test $ac_status = 0; }; then :
  4980. # If both `conftest.exe' and `conftest' are `present' (well, observable)
  4981. # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
  4982. # work properly (i.e., refer to `conftest.exe'), while it won't with
  4983. # `rm'.
  4984. for ac_file in conftest.exe conftest conftest.*; do
  4985. test -f "$ac_file" || continue
  4986. case $ac_file in
  4987. *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
  4988. *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
  4989. break;;
  4990. * ) break;;
  4991. esac
  4992. done
  4993. else
  4994. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  4995. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  4996. as_fn_error $? "cannot compute suffix of executables: cannot compile and link
  4997. See \`config.log' for more details" "$LINENO" 5; }
  4998. fi
  4999. rm -f conftest conftest$ac_cv_exeext
  5000. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
  5001. $as_echo "$ac_cv_exeext" >&6; }
  5002. rm -f conftest.$ac_ext
  5003. EXEEXT=$ac_cv_exeext
  5004. ac_exeext=$EXEEXT
  5005. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5006. /* end confdefs.h. */
  5007. #include <stdio.h>
  5008. int
  5009. main ()
  5010. {
  5011. FILE *f = fopen ("conftest.out", "w");
  5012. return ferror (f) || fclose (f) != 0;
  5013. ;
  5014. return 0;
  5015. }
  5016. _ACEOF
  5017. ac_clean_files="$ac_clean_files conftest.out"
  5018. # Check that the compiler produces executables we can run. If not, either
  5019. # the compiler is broken, or we cross compile.
  5020. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
  5021. $as_echo_n "checking whether we are cross compiling... " >&6; }
  5022. if test "$cross_compiling" != yes; then
  5023. { { ac_try="$ac_link"
  5024. case "(($ac_try" in
  5025. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  5026. *) ac_try_echo=$ac_try;;
  5027. esac
  5028. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  5029. $as_echo "$ac_try_echo"; } >&5
  5030. (eval "$ac_link") 2>&5
  5031. ac_status=$?
  5032. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  5033. test $ac_status = 0; }
  5034. if { ac_try='./conftest$ac_cv_exeext'
  5035. { { case "(($ac_try" in
  5036. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  5037. *) ac_try_echo=$ac_try;;
  5038. esac
  5039. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  5040. $as_echo "$ac_try_echo"; } >&5
  5041. (eval "$ac_try") 2>&5
  5042. ac_status=$?
  5043. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  5044. test $ac_status = 0; }; }; then
  5045. cross_compiling=no
  5046. else
  5047. if test "$cross_compiling" = maybe; then
  5048. cross_compiling=yes
  5049. else
  5050. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  5051. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  5052. as_fn_error $? "cannot run C compiled programs.
  5053. If you meant to cross compile, use \`--host'.
  5054. See \`config.log' for more details" "$LINENO" 5; }
  5055. fi
  5056. fi
  5057. fi
  5058. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
  5059. $as_echo "$cross_compiling" >&6; }
  5060. rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
  5061. ac_clean_files=$ac_clean_files_save
  5062. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
  5063. $as_echo_n "checking for suffix of object files... " >&6; }
  5064. if ${ac_cv_objext+:} false; then :
  5065. $as_echo_n "(cached) " >&6
  5066. else
  5067. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5068. /* end confdefs.h. */
  5069. int
  5070. main ()
  5071. {
  5072. ;
  5073. return 0;
  5074. }
  5075. _ACEOF
  5076. rm -f conftest.o conftest.obj
  5077. if { { ac_try="$ac_compile"
  5078. case "(($ac_try" in
  5079. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  5080. *) ac_try_echo=$ac_try;;
  5081. esac
  5082. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  5083. $as_echo "$ac_try_echo"; } >&5
  5084. (eval "$ac_compile") 2>&5
  5085. ac_status=$?
  5086. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  5087. test $ac_status = 0; }; then :
  5088. for ac_file in conftest.o conftest.obj conftest.*; do
  5089. test -f "$ac_file" || continue;
  5090. case $ac_file in
  5091. *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
  5092. *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
  5093. break;;
  5094. esac
  5095. done
  5096. else
  5097. $as_echo "$as_me: failed program was:" >&5
  5098. sed 's/^/| /' conftest.$ac_ext >&5
  5099. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  5100. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  5101. as_fn_error $? "cannot compute suffix of object files: cannot compile
  5102. See \`config.log' for more details" "$LINENO" 5; }
  5103. fi
  5104. rm -f conftest.$ac_cv_objext conftest.$ac_ext
  5105. fi
  5106. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
  5107. $as_echo "$ac_cv_objext" >&6; }
  5108. OBJEXT=$ac_cv_objext
  5109. ac_objext=$OBJEXT
  5110. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
  5111. $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
  5112. if ${ac_cv_c_compiler_gnu+:} false; then :
  5113. $as_echo_n "(cached) " >&6
  5114. else
  5115. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5116. /* end confdefs.h. */
  5117. int
  5118. main ()
  5119. {
  5120. #ifndef __GNUC__
  5121. choke me
  5122. #endif
  5123. ;
  5124. return 0;
  5125. }
  5126. _ACEOF
  5127. if ac_fn_c_try_compile "$LINENO"; then :
  5128. ac_compiler_gnu=yes
  5129. else
  5130. ac_compiler_gnu=no
  5131. fi
  5132. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5133. ac_cv_c_compiler_gnu=$ac_compiler_gnu
  5134. fi
  5135. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
  5136. $as_echo "$ac_cv_c_compiler_gnu" >&6; }
  5137. if test $ac_compiler_gnu = yes; then
  5138. GCC=yes
  5139. else
  5140. GCC=
  5141. fi
  5142. ac_test_CFLAGS=${CFLAGS+set}
  5143. ac_save_CFLAGS=$CFLAGS
  5144. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
  5145. $as_echo_n "checking whether $CC accepts -g... " >&6; }
  5146. if ${ac_cv_prog_cc_g+:} false; then :
  5147. $as_echo_n "(cached) " >&6
  5148. else
  5149. ac_save_c_werror_flag=$ac_c_werror_flag
  5150. ac_c_werror_flag=yes
  5151. ac_cv_prog_cc_g=no
  5152. CFLAGS="-g"
  5153. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5154. /* end confdefs.h. */
  5155. int
  5156. main ()
  5157. {
  5158. ;
  5159. return 0;
  5160. }
  5161. _ACEOF
  5162. if ac_fn_c_try_compile "$LINENO"; then :
  5163. ac_cv_prog_cc_g=yes
  5164. else
  5165. CFLAGS=""
  5166. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5167. /* end confdefs.h. */
  5168. int
  5169. main ()
  5170. {
  5171. ;
  5172. return 0;
  5173. }
  5174. _ACEOF
  5175. if ac_fn_c_try_compile "$LINENO"; then :
  5176. else
  5177. ac_c_werror_flag=$ac_save_c_werror_flag
  5178. CFLAGS="-g"
  5179. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5180. /* end confdefs.h. */
  5181. int
  5182. main ()
  5183. {
  5184. ;
  5185. return 0;
  5186. }
  5187. _ACEOF
  5188. if ac_fn_c_try_compile "$LINENO"; then :
  5189. ac_cv_prog_cc_g=yes
  5190. fi
  5191. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5192. fi
  5193. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5194. fi
  5195. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5196. ac_c_werror_flag=$ac_save_c_werror_flag
  5197. fi
  5198. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
  5199. $as_echo "$ac_cv_prog_cc_g" >&6; }
  5200. if test "$ac_test_CFLAGS" = set; then
  5201. CFLAGS=$ac_save_CFLAGS
  5202. elif test $ac_cv_prog_cc_g = yes; then
  5203. if test "$GCC" = yes; then
  5204. CFLAGS="-g -O2"
  5205. else
  5206. CFLAGS="-g"
  5207. fi
  5208. else
  5209. if test "$GCC" = yes; then
  5210. CFLAGS="-O2"
  5211. else
  5212. CFLAGS=
  5213. fi
  5214. fi
  5215. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
  5216. $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
  5217. if ${ac_cv_prog_cc_c89+:} false; then :
  5218. $as_echo_n "(cached) " >&6
  5219. else
  5220. ac_cv_prog_cc_c89=no
  5221. ac_save_CC=$CC
  5222. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5223. /* end confdefs.h. */
  5224. #include <stdarg.h>
  5225. #include <stdio.h>
  5226. struct stat;
  5227. /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
  5228. struct buf { int x; };
  5229. FILE * (*rcsopen) (struct buf *, struct stat *, int);
  5230. static char *e (p, i)
  5231. char **p;
  5232. int i;
  5233. {
  5234. return p[i];
  5235. }
  5236. static char *f (char * (*g) (char **, int), char **p, ...)
  5237. {
  5238. char *s;
  5239. va_list v;
  5240. va_start (v,p);
  5241. s = g (p, va_arg (v,int));
  5242. va_end (v);
  5243. return s;
  5244. }
  5245. /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
  5246. function prototypes and stuff, but not '\xHH' hex character constants.
  5247. These don't provoke an error unfortunately, instead are silently treated
  5248. as 'x'. The following induces an error, until -std is added to get
  5249. proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
  5250. array size at least. It's necessary to write '\x00'==0 to get something
  5251. that's true only with -std. */
  5252. int osf4_cc_array ['\x00' == 0 ? 1 : -1];
  5253. /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
  5254. inside strings and character constants. */
  5255. #define FOO(x) 'x'
  5256. int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
  5257. int test (int i, double x);
  5258. struct s1 {int (*f) (int a);};
  5259. struct s2 {int (*f) (double a);};
  5260. int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
  5261. int argc;
  5262. char **argv;
  5263. int
  5264. main ()
  5265. {
  5266. return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
  5267. ;
  5268. return 0;
  5269. }
  5270. _ACEOF
  5271. for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
  5272. -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
  5273. do
  5274. CC="$ac_save_CC $ac_arg"
  5275. if ac_fn_c_try_compile "$LINENO"; then :
  5276. ac_cv_prog_cc_c89=$ac_arg
  5277. fi
  5278. rm -f core conftest.err conftest.$ac_objext
  5279. test "x$ac_cv_prog_cc_c89" != "xno" && break
  5280. done
  5281. rm -f conftest.$ac_ext
  5282. CC=$ac_save_CC
  5283. fi
  5284. # AC_CACHE_VAL
  5285. case "x$ac_cv_prog_cc_c89" in
  5286. x)
  5287. { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
  5288. $as_echo "none needed" >&6; } ;;
  5289. xno)
  5290. { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
  5291. $as_echo "unsupported" >&6; } ;;
  5292. *)
  5293. CC="$CC $ac_cv_prog_cc_c89"
  5294. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
  5295. $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
  5296. esac
  5297. if test "x$ac_cv_prog_cc_c89" != xno; then :
  5298. fi
  5299. ac_ext=cpp
  5300. ac_cpp='$CXXCPP $CPPFLAGS'
  5301. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  5302. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5303. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  5304. ac_ext=c
  5305. ac_cpp='$CPP $CPPFLAGS'
  5306. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  5307. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5308. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  5309. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
  5310. $as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
  5311. if ${am_cv_prog_cc_c_o+:} false; then :
  5312. $as_echo_n "(cached) " >&6
  5313. else
  5314. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  5315. /* end confdefs.h. */
  5316. int
  5317. main ()
  5318. {
  5319. ;
  5320. return 0;
  5321. }
  5322. _ACEOF
  5323. # Make sure it works both with $CC and with simple cc.
  5324. # Following AC_PROG_CC_C_O, we do the test twice because some
  5325. # compilers refuse to overwrite an existing .o file with -o,
  5326. # though they will create one.
  5327. am_cv_prog_cc_c_o=yes
  5328. for am_i in 1 2; do
  5329. if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
  5330. ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
  5331. ac_status=$?
  5332. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  5333. (exit $ac_status); } \
  5334. && test -f conftest2.$ac_objext; then
  5335. : OK
  5336. else
  5337. am_cv_prog_cc_c_o=no
  5338. break
  5339. fi
  5340. done
  5341. rm -f core conftest*
  5342. unset am_i
  5343. fi
  5344. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
  5345. $as_echo "$am_cv_prog_cc_c_o" >&6; }
  5346. if test "$am_cv_prog_cc_c_o" != yes; then
  5347. # Losing compiler, so override with the script.
  5348. # FIXME: It is wrong to rewrite CC.
  5349. # But if we don't then we get into trouble of one sort or another.
  5350. # A longer-term fix would be to have automake use am__CC in this case,
  5351. # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
  5352. CC="$am_aux_dir/compile $CC"
  5353. fi
  5354. ac_ext=cpp
  5355. ac_cpp='$CXXCPP $CPPFLAGS'
  5356. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  5357. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5358. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  5359. depcc="$CC" am_compiler_list=
  5360. { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
  5361. $as_echo_n "checking dependency style of $depcc... " >&6; }
  5362. if ${am_cv_CC_dependencies_compiler_type+:} false; then :
  5363. $as_echo_n "(cached) " >&6
  5364. else
  5365. if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  5366. # We make a subdir and do the tests there. Otherwise we can end up
  5367. # making bogus files that we don't know about and never remove. For
  5368. # instance it was reported that on HP-UX the gcc test will end up
  5369. # making a dummy file named 'D' -- because '-MD' means "put the output
  5370. # in D".
  5371. rm -rf conftest.dir
  5372. mkdir conftest.dir
  5373. # Copy depcomp to subdir because otherwise we won't find it if we're
  5374. # using a relative directory.
  5375. cp "$am_depcomp" conftest.dir
  5376. cd conftest.dir
  5377. # We will build objects and dependencies in a subdirectory because
  5378. # it helps to detect inapplicable dependency modes. For instance
  5379. # both Tru64's cc and ICC support -MD to output dependencies as a
  5380. # side effect of compilation, but ICC will put the dependencies in
  5381. # the current directory while Tru64 will put them in the object
  5382. # directory.
  5383. mkdir sub
  5384. am_cv_CC_dependencies_compiler_type=none
  5385. if test "$am_compiler_list" = ""; then
  5386. am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  5387. fi
  5388. am__universal=false
  5389. case " $depcc " in #(
  5390. *\ -arch\ *\ -arch\ *) am__universal=true ;;
  5391. esac
  5392. for depmode in $am_compiler_list; do
  5393. # Setup a source with many dependencies, because some compilers
  5394. # like to wrap large dependency lists on column 80 (with \), and
  5395. # we should not choose a depcomp mode which is confused by this.
  5396. #
  5397. # We need to recreate these files for each test, as the compiler may
  5398. # overwrite some of them when testing with obscure command lines.
  5399. # This happens at least with the AIX C compiler.
  5400. : > sub/conftest.c
  5401. for i in 1 2 3 4 5 6; do
  5402. echo '#include "conftst'$i'.h"' >> sub/conftest.c
  5403. # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
  5404. # Solaris 10 /bin/sh.
  5405. echo '/* dummy */' > sub/conftst$i.h
  5406. done
  5407. echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
  5408. # We check with '-c' and '-o' for the sake of the "dashmstdout"
  5409. # mode. It turns out that the SunPro C++ compiler does not properly
  5410. # handle '-M -o', and we need to detect this. Also, some Intel
  5411. # versions had trouble with output in subdirs.
  5412. am__obj=sub/conftest.${OBJEXT-o}
  5413. am__minus_obj="-o $am__obj"
  5414. case $depmode in
  5415. gcc)
  5416. # This depmode causes a compiler race in universal mode.
  5417. test "$am__universal" = false || continue
  5418. ;;
  5419. nosideeffect)
  5420. # After this tag, mechanisms are not by side-effect, so they'll
  5421. # only be used when explicitly requested.
  5422. if test "x$enable_dependency_tracking" = xyes; then
  5423. continue
  5424. else
  5425. break
  5426. fi
  5427. ;;
  5428. msvc7 | msvc7msys | msvisualcpp | msvcmsys)
  5429. # This compiler won't grok '-c -o', but also, the minuso test has
  5430. # not run yet. These depmodes are late enough in the game, and
  5431. # so weak that their functioning should not be impacted.
  5432. am__obj=conftest.${OBJEXT-o}
  5433. am__minus_obj=
  5434. ;;
  5435. none) break ;;
  5436. esac
  5437. if depmode=$depmode \
  5438. source=sub/conftest.c object=$am__obj \
  5439. depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
  5440. $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
  5441. >/dev/null 2>conftest.err &&
  5442. grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
  5443. grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
  5444. grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
  5445. ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
  5446. # icc doesn't choke on unknown options, it will just issue warnings
  5447. # or remarks (even with -Werror). So we grep stderr for any message
  5448. # that says an option was ignored or not supported.
  5449. # When given -MP, icc 7.0 and 7.1 complain thusly:
  5450. # icc: Command line warning: ignoring option '-M'; no argument required
  5451. # The diagnosis changed in icc 8.0:
  5452. # icc: Command line remark: option '-MP' not supported
  5453. if (grep 'ignoring option' conftest.err ||
  5454. grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
  5455. am_cv_CC_dependencies_compiler_type=$depmode
  5456. break
  5457. fi
  5458. fi
  5459. done
  5460. cd ..
  5461. rm -rf conftest.dir
  5462. else
  5463. am_cv_CC_dependencies_compiler_type=none
  5464. fi
  5465. fi
  5466. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
  5467. $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
  5468. CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
  5469. if
  5470. test "x$enable_dependency_tracking" != xno \
  5471. && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
  5472. am__fastdepCC_TRUE=
  5473. am__fastdepCC_FALSE='#'
  5474. else
  5475. am__fastdepCC_TRUE='#'
  5476. am__fastdepCC_FALSE=
  5477. fi
  5478. # --------------------------------------------------------------
  5479. # --------------------------------------------------------------
  5480. # libMesh itself is not written in any Fortran and does not need
  5481. # a Fortran compiler. Many optional packages however are and
  5482. # we need the compiler to figure out how to link those libraries
  5483. #
  5484. # note though than on OSX for example the XCode tools provide
  5485. # a 'mpif77' which will be detected below but is actually an
  5486. # empty shell script wrapper. Then the compiler will fail to
  5487. # make executables and we will wind up with static libraries
  5488. # due to a bizarre chain of events. So, add support for
  5489. # --disable-fortran
  5490. # --------------------------------------------------------------
  5491. # Check whether --enable-fortran was given.
  5492. if test "${enable_fortran+set}" = set; then :
  5493. enableval=$enable_fortran; case "${enableval}" in #(
  5494. yes) :
  5495. enablefortran=yes ;; #(
  5496. no) :
  5497. enablefortran=no ;; #(
  5498. *) :
  5499. as_fn_error $? "bad value ${enableval} for --enable-fortran" "$LINENO" 5 ;;
  5500. esac
  5501. else
  5502. enablefortran=yes
  5503. fi
  5504. if test "x$enablefortran" = xyes; then :
  5505. FC_TRY_LIST="gfortran ifort pgf90 xlf95"
  5506. if test "$enablempi" != no; then :
  5507. FC_TRY_LIST="mpif90 $FC_TRY_LIST"
  5508. fi
  5509. # Check whether --with-fc was given.
  5510. if test "${with_fc+set}" = set; then :
  5511. withval=$with_fc; FC="$withval"
  5512. fi
  5513. ac_ext=${ac_fc_srcext-f}
  5514. ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
  5515. ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
  5516. ac_compiler_gnu=$ac_cv_fc_compiler_gnu
  5517. if test -n "$ac_tool_prefix"; then
  5518. for ac_prog in $FC_TRY_LIST
  5519. do
  5520. # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
  5521. set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  5522. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  5523. $as_echo_n "checking for $ac_word... " >&6; }
  5524. if ${ac_cv_prog_FC+:} false; then :
  5525. $as_echo_n "(cached) " >&6
  5526. else
  5527. if test -n "$FC"; then
  5528. ac_cv_prog_FC="$FC" # Let the user override the test.
  5529. else
  5530. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  5531. for as_dir in $PATH
  5532. do
  5533. IFS=$as_save_IFS
  5534. test -z "$as_dir" && as_dir=.
  5535. for ac_exec_ext in '' $ac_executable_extensions; do
  5536. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  5537. ac_cv_prog_FC="$ac_tool_prefix$ac_prog"
  5538. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  5539. break 2
  5540. fi
  5541. done
  5542. done
  5543. IFS=$as_save_IFS
  5544. fi
  5545. fi
  5546. FC=$ac_cv_prog_FC
  5547. if test -n "$FC"; then
  5548. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5
  5549. $as_echo "$FC" >&6; }
  5550. else
  5551. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  5552. $as_echo "no" >&6; }
  5553. fi
  5554. test -n "$FC" && break
  5555. done
  5556. fi
  5557. if test -z "$FC"; then
  5558. ac_ct_FC=$FC
  5559. for ac_prog in $FC_TRY_LIST
  5560. do
  5561. # Extract the first word of "$ac_prog", so it can be a program name with args.
  5562. set dummy $ac_prog; ac_word=$2
  5563. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  5564. $as_echo_n "checking for $ac_word... " >&6; }
  5565. if ${ac_cv_prog_ac_ct_FC+:} false; then :
  5566. $as_echo_n "(cached) " >&6
  5567. else
  5568. if test -n "$ac_ct_FC"; then
  5569. ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test.
  5570. else
  5571. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  5572. for as_dir in $PATH
  5573. do
  5574. IFS=$as_save_IFS
  5575. test -z "$as_dir" && as_dir=.
  5576. for ac_exec_ext in '' $ac_executable_extensions; do
  5577. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  5578. ac_cv_prog_ac_ct_FC="$ac_prog"
  5579. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  5580. break 2
  5581. fi
  5582. done
  5583. done
  5584. IFS=$as_save_IFS
  5585. fi
  5586. fi
  5587. ac_ct_FC=$ac_cv_prog_ac_ct_FC
  5588. if test -n "$ac_ct_FC"; then
  5589. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5
  5590. $as_echo "$ac_ct_FC" >&6; }
  5591. else
  5592. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  5593. $as_echo "no" >&6; }
  5594. fi
  5595. test -n "$ac_ct_FC" && break
  5596. done
  5597. if test "x$ac_ct_FC" = x; then
  5598. FC=""
  5599. else
  5600. case $cross_compiling:$ac_tool_warned in
  5601. yes:)
  5602. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  5603. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  5604. ac_tool_warned=yes ;;
  5605. esac
  5606. FC=$ac_ct_FC
  5607. fi
  5608. fi
  5609. # Provide some information about the compiler.
  5610. $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5
  5611. set X $ac_compile
  5612. ac_compiler=$2
  5613. for ac_option in --version -v -V -qversion; do
  5614. { { ac_try="$ac_compiler $ac_option >&5"
  5615. case "(($ac_try" in
  5616. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  5617. *) ac_try_echo=$ac_try;;
  5618. esac
  5619. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  5620. $as_echo "$ac_try_echo"; } >&5
  5621. (eval "$ac_compiler $ac_option >&5") 2>conftest.err
  5622. ac_status=$?
  5623. if test -s conftest.err; then
  5624. sed '10a\
  5625. ... rest of stderr output deleted ...
  5626. 10q' conftest.err >conftest.er1
  5627. cat conftest.er1 >&5
  5628. fi
  5629. rm -f conftest.er1 conftest.err
  5630. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  5631. test $ac_status = 0; }
  5632. done
  5633. rm -f a.out
  5634. # If we don't use `.F' as extension, the preprocessor is not run on the
  5635. # input file. (Note that this only needs to work for GNU compilers.)
  5636. ac_save_ext=$ac_ext
  5637. ac_ext=F
  5638. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5
  5639. $as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; }
  5640. if ${ac_cv_fc_compiler_gnu+:} false; then :
  5641. $as_echo_n "(cached) " >&6
  5642. else
  5643. cat > conftest.$ac_ext <<_ACEOF
  5644. program main
  5645. #ifndef __GNUC__
  5646. choke me
  5647. #endif
  5648. end
  5649. _ACEOF
  5650. if ac_fn_fc_try_compile "$LINENO"; then :
  5651. ac_compiler_gnu=yes
  5652. else
  5653. ac_compiler_gnu=no
  5654. fi
  5655. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5656. ac_cv_fc_compiler_gnu=$ac_compiler_gnu
  5657. fi
  5658. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5
  5659. $as_echo "$ac_cv_fc_compiler_gnu" >&6; }
  5660. ac_ext=$ac_save_ext
  5661. ac_test_FCFLAGS=${FCFLAGS+set}
  5662. ac_save_FCFLAGS=$FCFLAGS
  5663. FCFLAGS=
  5664. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5
  5665. $as_echo_n "checking whether $FC accepts -g... " >&6; }
  5666. if ${ac_cv_prog_fc_g+:} false; then :
  5667. $as_echo_n "(cached) " >&6
  5668. else
  5669. FCFLAGS=-g
  5670. cat > conftest.$ac_ext <<_ACEOF
  5671. program main
  5672. end
  5673. _ACEOF
  5674. if ac_fn_fc_try_compile "$LINENO"; then :
  5675. ac_cv_prog_fc_g=yes
  5676. else
  5677. ac_cv_prog_fc_g=no
  5678. fi
  5679. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5680. fi
  5681. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5
  5682. $as_echo "$ac_cv_prog_fc_g" >&6; }
  5683. if test "$ac_test_FCFLAGS" = set; then
  5684. FCFLAGS=$ac_save_FCFLAGS
  5685. elif test $ac_cv_prog_fc_g = yes; then
  5686. if test "x$ac_cv_fc_compiler_gnu" = xyes; then
  5687. FCFLAGS="-g -O2"
  5688. else
  5689. FCFLAGS="-g"
  5690. fi
  5691. else
  5692. if test "x$ac_cv_fc_compiler_gnu" = xyes; then
  5693. FCFLAGS="-O2"
  5694. else
  5695. FCFLAGS=
  5696. fi
  5697. fi
  5698. if test $ac_compiler_gnu = yes; then
  5699. GFC=yes
  5700. else
  5701. GFC=
  5702. fi
  5703. ac_ext=cpp
  5704. ac_cpp='$CXXCPP $CPPFLAGS'
  5705. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  5706. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5707. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  5708. if test "x$FC" = "x"; then :
  5709. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> No valid Fortran compiler <<<" >&5
  5710. $as_echo ">>> No valid Fortran compiler <<<" >&6; }
  5711. FC=no
  5712. enablefortran=no
  5713. fi
  5714. F77_TRY_LIST="gfortran g77 ifort f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95"
  5715. if test "$enablempi" != no; then :
  5716. F77_TRY_LIST="mpif77 $F77_TRY_LIST"
  5717. fi
  5718. # Check whether --with-f77 was given.
  5719. if test "${with_f77+set}" = set; then :
  5720. withval=$with_f77; F77="$withval"
  5721. fi
  5722. ac_ext=f
  5723. ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
  5724. ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5725. ac_compiler_gnu=$ac_cv_f77_compiler_gnu
  5726. if test -n "$ac_tool_prefix"; then
  5727. for ac_prog in $F77_TRY_LIST
  5728. do
  5729. # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
  5730. set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  5731. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  5732. $as_echo_n "checking for $ac_word... " >&6; }
  5733. if ${ac_cv_prog_F77+:} false; then :
  5734. $as_echo_n "(cached) " >&6
  5735. else
  5736. if test -n "$F77"; then
  5737. ac_cv_prog_F77="$F77" # Let the user override the test.
  5738. else
  5739. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  5740. for as_dir in $PATH
  5741. do
  5742. IFS=$as_save_IFS
  5743. test -z "$as_dir" && as_dir=.
  5744. for ac_exec_ext in '' $ac_executable_extensions; do
  5745. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  5746. ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
  5747. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  5748. break 2
  5749. fi
  5750. done
  5751. done
  5752. IFS=$as_save_IFS
  5753. fi
  5754. fi
  5755. F77=$ac_cv_prog_F77
  5756. if test -n "$F77"; then
  5757. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5
  5758. $as_echo "$F77" >&6; }
  5759. else
  5760. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  5761. $as_echo "no" >&6; }
  5762. fi
  5763. test -n "$F77" && break
  5764. done
  5765. fi
  5766. if test -z "$F77"; then
  5767. ac_ct_F77=$F77
  5768. for ac_prog in $F77_TRY_LIST
  5769. do
  5770. # Extract the first word of "$ac_prog", so it can be a program name with args.
  5771. set dummy $ac_prog; ac_word=$2
  5772. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  5773. $as_echo_n "checking for $ac_word... " >&6; }
  5774. if ${ac_cv_prog_ac_ct_F77+:} false; then :
  5775. $as_echo_n "(cached) " >&6
  5776. else
  5777. if test -n "$ac_ct_F77"; then
  5778. ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
  5779. else
  5780. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  5781. for as_dir in $PATH
  5782. do
  5783. IFS=$as_save_IFS
  5784. test -z "$as_dir" && as_dir=.
  5785. for ac_exec_ext in '' $ac_executable_extensions; do
  5786. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  5787. ac_cv_prog_ac_ct_F77="$ac_prog"
  5788. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  5789. break 2
  5790. fi
  5791. done
  5792. done
  5793. IFS=$as_save_IFS
  5794. fi
  5795. fi
  5796. ac_ct_F77=$ac_cv_prog_ac_ct_F77
  5797. if test -n "$ac_ct_F77"; then
  5798. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5
  5799. $as_echo "$ac_ct_F77" >&6; }
  5800. else
  5801. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  5802. $as_echo "no" >&6; }
  5803. fi
  5804. test -n "$ac_ct_F77" && break
  5805. done
  5806. if test "x$ac_ct_F77" = x; then
  5807. F77=""
  5808. else
  5809. case $cross_compiling:$ac_tool_warned in
  5810. yes:)
  5811. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  5812. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  5813. ac_tool_warned=yes ;;
  5814. esac
  5815. F77=$ac_ct_F77
  5816. fi
  5817. fi
  5818. # Provide some information about the compiler.
  5819. $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5
  5820. set X $ac_compile
  5821. ac_compiler=$2
  5822. for ac_option in --version -v -V -qversion; do
  5823. { { ac_try="$ac_compiler $ac_option >&5"
  5824. case "(($ac_try" in
  5825. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  5826. *) ac_try_echo=$ac_try;;
  5827. esac
  5828. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  5829. $as_echo "$ac_try_echo"; } >&5
  5830. (eval "$ac_compiler $ac_option >&5") 2>conftest.err
  5831. ac_status=$?
  5832. if test -s conftest.err; then
  5833. sed '10a\
  5834. ... rest of stderr output deleted ...
  5835. 10q' conftest.err >conftest.er1
  5836. cat conftest.er1 >&5
  5837. fi
  5838. rm -f conftest.er1 conftest.err
  5839. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  5840. test $ac_status = 0; }
  5841. done
  5842. rm -f a.out
  5843. # If we don't use `.F' as extension, the preprocessor is not run on the
  5844. # input file. (Note that this only needs to work for GNU compilers.)
  5845. ac_save_ext=$ac_ext
  5846. ac_ext=F
  5847. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5
  5848. $as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; }
  5849. if ${ac_cv_f77_compiler_gnu+:} false; then :
  5850. $as_echo_n "(cached) " >&6
  5851. else
  5852. cat > conftest.$ac_ext <<_ACEOF
  5853. program main
  5854. #ifndef __GNUC__
  5855. choke me
  5856. #endif
  5857. end
  5858. _ACEOF
  5859. if ac_fn_f77_try_compile "$LINENO"; then :
  5860. ac_compiler_gnu=yes
  5861. else
  5862. ac_compiler_gnu=no
  5863. fi
  5864. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5865. ac_cv_f77_compiler_gnu=$ac_compiler_gnu
  5866. fi
  5867. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5
  5868. $as_echo "$ac_cv_f77_compiler_gnu" >&6; }
  5869. ac_ext=$ac_save_ext
  5870. ac_test_FFLAGS=${FFLAGS+set}
  5871. ac_save_FFLAGS=$FFLAGS
  5872. FFLAGS=
  5873. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5
  5874. $as_echo_n "checking whether $F77 accepts -g... " >&6; }
  5875. if ${ac_cv_prog_f77_g+:} false; then :
  5876. $as_echo_n "(cached) " >&6
  5877. else
  5878. FFLAGS=-g
  5879. cat > conftest.$ac_ext <<_ACEOF
  5880. program main
  5881. end
  5882. _ACEOF
  5883. if ac_fn_f77_try_compile "$LINENO"; then :
  5884. ac_cv_prog_f77_g=yes
  5885. else
  5886. ac_cv_prog_f77_g=no
  5887. fi
  5888. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  5889. fi
  5890. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5
  5891. $as_echo "$ac_cv_prog_f77_g" >&6; }
  5892. if test "$ac_test_FFLAGS" = set; then
  5893. FFLAGS=$ac_save_FFLAGS
  5894. elif test $ac_cv_prog_f77_g = yes; then
  5895. if test "x$ac_cv_f77_compiler_gnu" = xyes; then
  5896. FFLAGS="-g -O2"
  5897. else
  5898. FFLAGS="-g"
  5899. fi
  5900. else
  5901. if test "x$ac_cv_f77_compiler_gnu" = xyes; then
  5902. FFLAGS="-O2"
  5903. else
  5904. FFLAGS=
  5905. fi
  5906. fi
  5907. if test $ac_compiler_gnu = yes; then
  5908. G77=yes
  5909. else
  5910. G77=
  5911. fi
  5912. ac_ext=cpp
  5913. ac_cpp='$CXXCPP $CPPFLAGS'
  5914. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  5915. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5916. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  5917. if test "x$F77" = "x"; then :
  5918. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> No valid Fortran 77 compiler <<<" >&5
  5919. $as_echo ">>> No valid Fortran 77 compiler <<<" >&6; }
  5920. F77=no
  5921. enablefortran=no
  5922. fi
  5923. else
  5924. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Disabling Fortran language support per user request <<<" >&5
  5925. $as_echo ">>> Disabling Fortran language support per user request <<<" >&6; }
  5926. FC=no
  5927. F77=no
  5928. fi
  5929. # --------------------------------------------------------------
  5930. # look for a decent C++ compiler or honor --with-cxx=...
  5931. CXX_TRY_LIST="g++ icpc icc pgCC c++"
  5932. # Check whether --with-cxx was given.
  5933. if test "${with_cxx+set}" = set; then :
  5934. withval=$with_cxx; CXX="$withval"
  5935. fi
  5936. if test -z "$CXX" && test "$enablempi" != no; then :
  5937. if test x"$MPI" != x; then :
  5938. if test -d "$MPI/bin"; then :
  5939. for ac_prog in mpicxx mpiCC mpicc
  5940. do
  5941. # Extract the first word of "$ac_prog", so it can be a program name with args.
  5942. set dummy $ac_prog; ac_word=$2
  5943. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  5944. $as_echo_n "checking for $ac_word... " >&6; }
  5945. if ${ac_cv_prog_LOCAL_CXX+:} false; then :
  5946. $as_echo_n "(cached) " >&6
  5947. else
  5948. if test -n "$LOCAL_CXX"; then
  5949. ac_cv_prog_LOCAL_CXX="$LOCAL_CXX" # Let the user override the test.
  5950. else
  5951. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  5952. for as_dir in "$MPI/bin"
  5953. do
  5954. IFS=$as_save_IFS
  5955. test -z "$as_dir" && as_dir=.
  5956. for ac_exec_ext in '' $ac_executable_extensions; do
  5957. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  5958. ac_cv_prog_LOCAL_CXX="$ac_prog"
  5959. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  5960. break 2
  5961. fi
  5962. done
  5963. done
  5964. IFS=$as_save_IFS
  5965. fi
  5966. fi
  5967. LOCAL_CXX=$ac_cv_prog_LOCAL_CXX
  5968. if test -n "$LOCAL_CXX"; then
  5969. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LOCAL_CXX" >&5
  5970. $as_echo "$LOCAL_CXX" >&6; }
  5971. else
  5972. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  5973. $as_echo "no" >&6; }
  5974. fi
  5975. test -n "$LOCAL_CXX" && break
  5976. done
  5977. if test -z "$LOCAL_CXX"; then :
  5978. $as_echo "None of the wrappers we look for exist in $MPI/bin. We will not try to use mpi compiler wrappers"
  5979. else
  5980. MPI_USING_WRAPPERS=1;CXX="$MPI/bin/$LOCAL_CXX"
  5981. fi
  5982. else
  5983. $as_echo "An MPI directory was specified, but $MPI/bin does not exist. We will not try to use mpi compiler wrappers"
  5984. fi
  5985. else
  5986. if test x"$PETSC_HAVE_MPI" = x1 && test x"$PETSC_CXX" != x; then :
  5987. else
  5988. CXX_TRY_LIST="mpicxx mpiCC mpicc $CXX_TRY_LIST"
  5989. fi
  5990. fi
  5991. fi
  5992. if test -z "$CXX" && test x"$PETSC_HAVE_MPI" = x1 && test x"$PETSC_CXX" != x; then :
  5993. CXX="$PETSC_CXX"
  5994. fi
  5995. ac_ext=cpp
  5996. ac_cpp='$CXXCPP $CPPFLAGS'
  5997. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  5998. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  5999. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  6000. if test -z "$CXX"; then
  6001. if test -n "$CCC"; then
  6002. CXX=$CCC
  6003. else
  6004. if test -n "$ac_tool_prefix"; then
  6005. for ac_prog in $CXX_TRY_LIST
  6006. do
  6007. # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
  6008. set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  6009. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  6010. $as_echo_n "checking for $ac_word... " >&6; }
  6011. if ${ac_cv_prog_CXX+:} false; then :
  6012. $as_echo_n "(cached) " >&6
  6013. else
  6014. if test -n "$CXX"; then
  6015. ac_cv_prog_CXX="$CXX" # Let the user override the test.
  6016. else
  6017. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  6018. for as_dir in $PATH
  6019. do
  6020. IFS=$as_save_IFS
  6021. test -z "$as_dir" && as_dir=.
  6022. for ac_exec_ext in '' $ac_executable_extensions; do
  6023. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  6024. ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
  6025. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  6026. break 2
  6027. fi
  6028. done
  6029. done
  6030. IFS=$as_save_IFS
  6031. fi
  6032. fi
  6033. CXX=$ac_cv_prog_CXX
  6034. if test -n "$CXX"; then
  6035. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
  6036. $as_echo "$CXX" >&6; }
  6037. else
  6038. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  6039. $as_echo "no" >&6; }
  6040. fi
  6041. test -n "$CXX" && break
  6042. done
  6043. fi
  6044. if test -z "$CXX"; then
  6045. ac_ct_CXX=$CXX
  6046. for ac_prog in $CXX_TRY_LIST
  6047. do
  6048. # Extract the first word of "$ac_prog", so it can be a program name with args.
  6049. set dummy $ac_prog; ac_word=$2
  6050. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  6051. $as_echo_n "checking for $ac_word... " >&6; }
  6052. if ${ac_cv_prog_ac_ct_CXX+:} false; then :
  6053. $as_echo_n "(cached) " >&6
  6054. else
  6055. if test -n "$ac_ct_CXX"; then
  6056. ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
  6057. else
  6058. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  6059. for as_dir in $PATH
  6060. do
  6061. IFS=$as_save_IFS
  6062. test -z "$as_dir" && as_dir=.
  6063. for ac_exec_ext in '' $ac_executable_extensions; do
  6064. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  6065. ac_cv_prog_ac_ct_CXX="$ac_prog"
  6066. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  6067. break 2
  6068. fi
  6069. done
  6070. done
  6071. IFS=$as_save_IFS
  6072. fi
  6073. fi
  6074. ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
  6075. if test -n "$ac_ct_CXX"; then
  6076. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
  6077. $as_echo "$ac_ct_CXX" >&6; }
  6078. else
  6079. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  6080. $as_echo "no" >&6; }
  6081. fi
  6082. test -n "$ac_ct_CXX" && break
  6083. done
  6084. if test "x$ac_ct_CXX" = x; then
  6085. CXX="g++"
  6086. else
  6087. case $cross_compiling:$ac_tool_warned in
  6088. yes:)
  6089. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  6090. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  6091. ac_tool_warned=yes ;;
  6092. esac
  6093. CXX=$ac_ct_CXX
  6094. fi
  6095. fi
  6096. fi
  6097. fi
  6098. # Provide some information about the compiler.
  6099. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
  6100. set X $ac_compile
  6101. ac_compiler=$2
  6102. for ac_option in --version -v -V -qversion; do
  6103. { { ac_try="$ac_compiler $ac_option >&5"
  6104. case "(($ac_try" in
  6105. *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  6106. *) ac_try_echo=$ac_try;;
  6107. esac
  6108. eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
  6109. $as_echo "$ac_try_echo"; } >&5
  6110. (eval "$ac_compiler $ac_option >&5") 2>conftest.err
  6111. ac_status=$?
  6112. if test -s conftest.err; then
  6113. sed '10a\
  6114. ... rest of stderr output deleted ...
  6115. 10q' conftest.err >conftest.er1
  6116. cat conftest.er1 >&5
  6117. fi
  6118. rm -f conftest.er1 conftest.err
  6119. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  6120. test $ac_status = 0; }
  6121. done
  6122. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
  6123. $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
  6124. if ${ac_cv_cxx_compiler_gnu+:} false; then :
  6125. $as_echo_n "(cached) " >&6
  6126. else
  6127. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6128. /* end confdefs.h. */
  6129. int
  6130. main ()
  6131. {
  6132. #ifndef __GNUC__
  6133. choke me
  6134. #endif
  6135. ;
  6136. return 0;
  6137. }
  6138. _ACEOF
  6139. if ac_fn_cxx_try_compile "$LINENO"; then :
  6140. ac_compiler_gnu=yes
  6141. else
  6142. ac_compiler_gnu=no
  6143. fi
  6144. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  6145. ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
  6146. fi
  6147. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
  6148. $as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
  6149. if test $ac_compiler_gnu = yes; then
  6150. GXX=yes
  6151. else
  6152. GXX=
  6153. fi
  6154. ac_test_CXXFLAGS=${CXXFLAGS+set}
  6155. ac_save_CXXFLAGS=$CXXFLAGS
  6156. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
  6157. $as_echo_n "checking whether $CXX accepts -g... " >&6; }
  6158. if ${ac_cv_prog_cxx_g+:} false; then :
  6159. $as_echo_n "(cached) " >&6
  6160. else
  6161. ac_save_cxx_werror_flag=$ac_cxx_werror_flag
  6162. ac_cxx_werror_flag=yes
  6163. ac_cv_prog_cxx_g=no
  6164. CXXFLAGS="-g"
  6165. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6166. /* end confdefs.h. */
  6167. int
  6168. main ()
  6169. {
  6170. ;
  6171. return 0;
  6172. }
  6173. _ACEOF
  6174. if ac_fn_cxx_try_compile "$LINENO"; then :
  6175. ac_cv_prog_cxx_g=yes
  6176. else
  6177. CXXFLAGS=""
  6178. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6179. /* end confdefs.h. */
  6180. int
  6181. main ()
  6182. {
  6183. ;
  6184. return 0;
  6185. }
  6186. _ACEOF
  6187. if ac_fn_cxx_try_compile "$LINENO"; then :
  6188. else
  6189. ac_cxx_werror_flag=$ac_save_cxx_werror_flag
  6190. CXXFLAGS="-g"
  6191. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6192. /* end confdefs.h. */
  6193. int
  6194. main ()
  6195. {
  6196. ;
  6197. return 0;
  6198. }
  6199. _ACEOF
  6200. if ac_fn_cxx_try_compile "$LINENO"; then :
  6201. ac_cv_prog_cxx_g=yes
  6202. fi
  6203. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  6204. fi
  6205. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  6206. fi
  6207. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  6208. ac_cxx_werror_flag=$ac_save_cxx_werror_flag
  6209. fi
  6210. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
  6211. $as_echo "$ac_cv_prog_cxx_g" >&6; }
  6212. if test "$ac_test_CXXFLAGS" = set; then
  6213. CXXFLAGS=$ac_save_CXXFLAGS
  6214. elif test $ac_cv_prog_cxx_g = yes; then
  6215. if test "$GXX" = yes; then
  6216. CXXFLAGS="-g -O2"
  6217. else
  6218. CXXFLAGS="-g"
  6219. fi
  6220. else
  6221. if test "$GXX" = yes; then
  6222. CXXFLAGS="-O2"
  6223. else
  6224. CXXFLAGS=
  6225. fi
  6226. fi
  6227. ac_ext=cpp
  6228. ac_cpp='$CXXCPP $CPPFLAGS'
  6229. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  6230. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  6231. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  6232. depcc="$CXX" am_compiler_list=
  6233. { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
  6234. $as_echo_n "checking dependency style of $depcc... " >&6; }
  6235. if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
  6236. $as_echo_n "(cached) " >&6
  6237. else
  6238. if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  6239. # We make a subdir and do the tests there. Otherwise we can end up
  6240. # making bogus files that we don't know about and never remove. For
  6241. # instance it was reported that on HP-UX the gcc test will end up
  6242. # making a dummy file named 'D' -- because '-MD' means "put the output
  6243. # in D".
  6244. rm -rf conftest.dir
  6245. mkdir conftest.dir
  6246. # Copy depcomp to subdir because otherwise we won't find it if we're
  6247. # using a relative directory.
  6248. cp "$am_depcomp" conftest.dir
  6249. cd conftest.dir
  6250. # We will build objects and dependencies in a subdirectory because
  6251. # it helps to detect inapplicable dependency modes. For instance
  6252. # both Tru64's cc and ICC support -MD to output dependencies as a
  6253. # side effect of compilation, but ICC will put the dependencies in
  6254. # the current directory while Tru64 will put them in the object
  6255. # directory.
  6256. mkdir sub
  6257. am_cv_CXX_dependencies_compiler_type=none
  6258. if test "$am_compiler_list" = ""; then
  6259. am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  6260. fi
  6261. am__universal=false
  6262. case " $depcc " in #(
  6263. *\ -arch\ *\ -arch\ *) am__universal=true ;;
  6264. esac
  6265. for depmode in $am_compiler_list; do
  6266. # Setup a source with many dependencies, because some compilers
  6267. # like to wrap large dependency lists on column 80 (with \), and
  6268. # we should not choose a depcomp mode which is confused by this.
  6269. #
  6270. # We need to recreate these files for each test, as the compiler may
  6271. # overwrite some of them when testing with obscure command lines.
  6272. # This happens at least with the AIX C compiler.
  6273. : > sub/conftest.c
  6274. for i in 1 2 3 4 5 6; do
  6275. echo '#include "conftst'$i'.h"' >> sub/conftest.c
  6276. # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
  6277. # Solaris 10 /bin/sh.
  6278. echo '/* dummy */' > sub/conftst$i.h
  6279. done
  6280. echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
  6281. # We check with '-c' and '-o' for the sake of the "dashmstdout"
  6282. # mode. It turns out that the SunPro C++ compiler does not properly
  6283. # handle '-M -o', and we need to detect this. Also, some Intel
  6284. # versions had trouble with output in subdirs.
  6285. am__obj=sub/conftest.${OBJEXT-o}
  6286. am__minus_obj="-o $am__obj"
  6287. case $depmode in
  6288. gcc)
  6289. # This depmode causes a compiler race in universal mode.
  6290. test "$am__universal" = false || continue
  6291. ;;
  6292. nosideeffect)
  6293. # After this tag, mechanisms are not by side-effect, so they'll
  6294. # only be used when explicitly requested.
  6295. if test "x$enable_dependency_tracking" = xyes; then
  6296. continue
  6297. else
  6298. break
  6299. fi
  6300. ;;
  6301. msvc7 | msvc7msys | msvisualcpp | msvcmsys)
  6302. # This compiler won't grok '-c -o', but also, the minuso test has
  6303. # not run yet. These depmodes are late enough in the game, and
  6304. # so weak that their functioning should not be impacted.
  6305. am__obj=conftest.${OBJEXT-o}
  6306. am__minus_obj=
  6307. ;;
  6308. none) break ;;
  6309. esac
  6310. if depmode=$depmode \
  6311. source=sub/conftest.c object=$am__obj \
  6312. depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
  6313. $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
  6314. >/dev/null 2>conftest.err &&
  6315. grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
  6316. grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
  6317. grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
  6318. ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
  6319. # icc doesn't choke on unknown options, it will just issue warnings
  6320. # or remarks (even with -Werror). So we grep stderr for any message
  6321. # that says an option was ignored or not supported.
  6322. # When given -MP, icc 7.0 and 7.1 complain thusly:
  6323. # icc: Command line warning: ignoring option '-M'; no argument required
  6324. # The diagnosis changed in icc 8.0:
  6325. # icc: Command line remark: option '-MP' not supported
  6326. if (grep 'ignoring option' conftest.err ||
  6327. grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
  6328. am_cv_CXX_dependencies_compiler_type=$depmode
  6329. break
  6330. fi
  6331. fi
  6332. done
  6333. cd ..
  6334. rm -rf conftest.dir
  6335. else
  6336. am_cv_CXX_dependencies_compiler_type=none
  6337. fi
  6338. fi
  6339. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
  6340. $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
  6341. CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
  6342. if
  6343. test "x$enable_dependency_tracking" != xno \
  6344. && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
  6345. am__fastdepCXX_TRUE=
  6346. am__fastdepCXX_FALSE='#'
  6347. else
  6348. am__fastdepCXX_TRUE='#'
  6349. am__fastdepCXX_FALSE=
  6350. fi
  6351. # --------------------------------------------------------------
  6352. # See below for the definition of this function. It can
  6353. # figure out which version of a particular compiler, e.g. GCC 4.0,
  6354. # you are using.
  6355. # --------------------------------------------------------------
  6356. compiler_brand_detected=no
  6357. REAL_GXX=`($CXX -v 2>&1) | grep "gcc version"`
  6358. is_intel_icc="`($CXX -V 2>&1) | grep 'Intel(R)' | grep 'Compiler'`"
  6359. if test "x$is_intel_icc" != "x"; then :
  6360. REAL_GXX=""
  6361. fi
  6362. if test "$GXX" = "yes" && test "x$REAL_GXX" != "x"; then :
  6363. GXX_VERSION_STRING=`($CXX -v 2>&1) | grep "gcc version"`
  6364. case "$GXX_VERSION_STRING" in #(
  6365. *gcc\ version\ 7.*) :
  6366. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-7.x >>>" >&5
  6367. $as_echo "<<< C++ compiler is gcc-7.x >>>" >&6; }
  6368. GXX_VERSION=gcc7 ;; #(
  6369. *gcc\ version\ 6.*) :
  6370. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-6.x >>>" >&5
  6371. $as_echo "<<< C++ compiler is gcc-6.x >>>" >&6; }
  6372. GXX_VERSION=gcc6 ;; #(
  6373. *gcc\ version\ 5.*) :
  6374. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-5.x >>>" >&5
  6375. $as_echo "<<< C++ compiler is gcc-5.x >>>" >&6; }
  6376. GXX_VERSION=gcc5 ;; #(
  6377. *4.9.*) :
  6378. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-4.9 >>>" >&5
  6379. $as_echo "<<< C++ compiler is gcc-4.9 >>>" >&6; }
  6380. GXX_VERSION=gcc4.9 ;; #(
  6381. *4.8.*) :
  6382. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-4.8 >>>" >&5
  6383. $as_echo "<<< C++ compiler is gcc-4.8 >>>" >&6; }
  6384. GXX_VERSION=gcc4.8 ;; #(
  6385. *4.7.*) :
  6386. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-4.7 >>>" >&5
  6387. $as_echo "<<< C++ compiler is gcc-4.7 >>>" >&6; }
  6388. GXX_VERSION=gcc4.7 ;; #(
  6389. *4.6.*) :
  6390. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is gcc-4.6 >>>" >&5
  6391. $as_echo "<<< C++ compiler is gcc-4.6 >>>" >&6; }
  6392. GXX_VERSION=gcc4.6 ;; #(
  6393. *) :
  6394. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is unknown but accepted gcc version >>>" >&5
  6395. $as_echo "<<< C++ compiler is unknown but accepted gcc version >>>" >&6; }
  6396. GXX_VERSION=gcc-other ;;
  6397. esac
  6398. compiler_brand_detected=yes
  6399. fi
  6400. if test "x$compiler_brand_detected" = "xno"; then :
  6401. clang_version="`($CXX --version 2>&1)`"
  6402. is_clang="`echo $clang_version | grep 'clang'`"
  6403. if test "x$is_clang" != "x"; then :
  6404. is_apple_clang="`echo $clang_version | grep 'Apple'`"
  6405. clang_vendor="clang"
  6406. if test "x$is_apple_clang" != "x"; then :
  6407. clang_vendor="Apple clang"
  6408. fi
  6409. clang_major_minor=unknown
  6410. if test "x$PERL" != "x"; then :
  6411. clang_major_minor=`echo $clang_version | $PERL -ne 'print $1 if /version\s(\d+\.\d+)/'`
  6412. if test "x$clang_major_minor" = "x"; then :
  6413. clang_major_minor=unknown
  6414. fi
  6415. fi
  6416. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is ${clang_vendor}, version ${clang_major_minor} >>>" >&5
  6417. $as_echo "<<< C++ compiler is ${clang_vendor}, version ${clang_major_minor} >>>" >&6; }
  6418. GXX_VERSION=clang
  6419. compiler_brand_detected=yes
  6420. fi
  6421. fi
  6422. if test "x$compiler_brand_detected" = "xno"; then :
  6423. is_intel_icc="`($CXX -V 2>&1) | grep 'Intel(R)' | grep 'Compiler'`"
  6424. if test "x$is_intel_icc" != "x"; then :
  6425. GXX_VERSION_STRING="`($CXX -V 2>&1) | grep 'Version '`"
  6426. case "$GXX_VERSION_STRING" in #(
  6427. *20.*) :
  6428. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 20 >>>" >&5
  6429. $as_echo "<<< C++ compiler is Intel(R) icc 20 >>>" >&6; }
  6430. GXX_VERSION=intel_icc_v20.x ;; #(
  6431. *19.*) :
  6432. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 19 >>>" >&5
  6433. $as_echo "<<< C++ compiler is Intel(R) icc 19 >>>" >&6; }
  6434. GXX_VERSION=intel_icc_v19.x ;; #(
  6435. *18.*) :
  6436. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 18 >>>" >&5
  6437. $as_echo "<<< C++ compiler is Intel(R) icc 18 >>>" >&6; }
  6438. GXX_VERSION=intel_icc_v18.x ;; #(
  6439. *17.*) :
  6440. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 17 >>>" >&5
  6441. $as_echo "<<< C++ compiler is Intel(R) icc 17 >>>" >&6; }
  6442. GXX_VERSION=intel_icc_v17.x ;; #(
  6443. *16.*) :
  6444. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 16 >>>" >&5
  6445. $as_echo "<<< C++ compiler is Intel(R) icc 16 >>>" >&6; }
  6446. GXX_VERSION=intel_icc_v16.x ;; #(
  6447. *15.*) :
  6448. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 15 >>>" >&5
  6449. $as_echo "<<< C++ compiler is Intel(R) icc 15 >>>" >&6; }
  6450. GXX_VERSION=intel_icc_v15.x ;; #(
  6451. *14.*) :
  6452. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 14 >>>" >&5
  6453. $as_echo "<<< C++ compiler is Intel(R) icc 14 >>>" >&6; }
  6454. GXX_VERSION=intel_icc_v14.x ;; #(
  6455. *13.*) :
  6456. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Intel(R) icc 13 >>>" >&5
  6457. $as_echo "<<< C++ compiler is Intel(R) icc 13 >>>" >&6; }
  6458. GXX_VERSION=intel_icc_v13.x ;; #(
  6459. *) :
  6460. as_fn_error $? "Unsupported Intel compiler detected" "$LINENO" 5 ;;
  6461. esac
  6462. compiler_brand_detected=yes
  6463. fi
  6464. fi
  6465. if test "x$compiler_brand_detected" = "xno"; then :
  6466. is_ibm_xlc="`($CXX 2>&1) | egrep -i 'xlc'`"
  6467. if test "x$is_ibm_xlc" != "x"; then :
  6468. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is IBM xlC >>>" >&5
  6469. $as_echo "<<< C++ compiler is IBM xlC >>>" >&6; }
  6470. GXX_VERSION=ibm_xlc
  6471. compiler_brand_detected=yes
  6472. fi
  6473. fi
  6474. if test "x$compiler_brand_detected" = "xno"; then :
  6475. is_cray_cc="`($CXX -V 2>&1) | grep 'Cray '`"
  6476. if test "x$is_cray_cc" != "x"; then :
  6477. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Cray C++ >>>" >&5
  6478. $as_echo "<<< C++ compiler is Cray C++ >>>" >&6; }
  6479. GXX_VERSION=cray_cc
  6480. compiler_brand_detected=yes
  6481. fi
  6482. fi
  6483. if test "x$compiler_brand_detected" = "xno"; then :
  6484. is_pgcc="`($CXX -V 2>&1) | grep 'Portland Group\|PGI'`"
  6485. if test "x$is_pgcc" != "x"; then :
  6486. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< C++ compiler is Portland Group C++ >>>" >&5
  6487. $as_echo "<<< C++ compiler is Portland Group C++ >>>" >&6; }
  6488. GXX_VERSION=portland_group
  6489. compiler_brand_detected=yes
  6490. fi
  6491. fi
  6492. if test "x$compiler_brand_detected" = "xno"; then :
  6493. { $as_echo "$as_me:${as_lineno-$LINENO}: result: WARNING:" >&5
  6494. $as_echo "WARNING:" >&6; }
  6495. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Unrecognized compiler: \"$CXX\" <<<" >&5
  6496. $as_echo ">>> Unrecognized compiler: \"$CXX\" <<<" >&6; }
  6497. { $as_echo "$as_me:${as_lineno-$LINENO}: result: You will likely need to modify" >&5
  6498. $as_echo "You will likely need to modify" >&6; }
  6499. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Make.common directly to specify" >&5
  6500. $as_echo "Make.common directly to specify" >&6; }
  6501. { $as_echo "$as_me:${as_lineno-$LINENO}: result: proper compiler flags" >&5
  6502. $as_echo "proper compiler flags" >&6; }
  6503. GXX_VERSION=unknown
  6504. fi
  6505. # By default we do not set any -march flag, but this can be turned on
  6506. # by configuring with --enable-march
  6507. # Check whether --enable-march was given.
  6508. if test "${enable_march+set}" = set; then :
  6509. enableval=$enable_march; case "${enableval}" in #(
  6510. yes) :
  6511. enablemarch=yes ;; #(
  6512. no) :
  6513. enablemarch=no ;; #(
  6514. *) :
  6515. as_fn_error $? "bad value ${enableval} for --enable-march" "$LINENO" 5 ;;
  6516. esac
  6517. else
  6518. enablemarch=no
  6519. fi
  6520. # Set the value of the cache variable $ax_cv_gcc_archflag based
  6521. # on the current architecture. For the first argument:
  6522. # [yes] = generate portable code (-mtune)
  6523. # [no] = generate architecture-specific code (-march)
  6524. # This script is specifc to GCC; the flags it determines might not
  6525. # work for other compilers. There is also an optional third
  6526. # argument which controls what happens when determining an arch flag
  6527. # fails, we don't do anything in that case.
  6528. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
  6529. $as_echo_n "checking for a sed that does not truncate output... " >&6; }
  6530. if ${ac_cv_path_SED+:} false; then :
  6531. $as_echo_n "(cached) " >&6
  6532. else
  6533. ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
  6534. for ac_i in 1 2 3 4 5 6 7; do
  6535. ac_script="$ac_script$as_nl$ac_script"
  6536. done
  6537. echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
  6538. { ac_script=; unset ac_script;}
  6539. if test -z "$SED"; then
  6540. ac_path_SED_found=false
  6541. # Loop through the user's path and test for each of PROGNAME-LIST
  6542. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  6543. for as_dir in $PATH
  6544. do
  6545. IFS=$as_save_IFS
  6546. test -z "$as_dir" && as_dir=.
  6547. for ac_prog in sed gsed; do
  6548. for ac_exec_ext in '' $ac_executable_extensions; do
  6549. ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
  6550. as_fn_executable_p "$ac_path_SED" || continue
  6551. # Check for GNU ac_path_SED and select it if it is found.
  6552. # Check for GNU $ac_path_SED
  6553. case `"$ac_path_SED" --version 2>&1` in
  6554. *GNU*)
  6555. ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
  6556. *)
  6557. ac_count=0
  6558. $as_echo_n 0123456789 >"conftest.in"
  6559. while :
  6560. do
  6561. cat "conftest.in" "conftest.in" >"conftest.tmp"
  6562. mv "conftest.tmp" "conftest.in"
  6563. cp "conftest.in" "conftest.nl"
  6564. $as_echo '' >> "conftest.nl"
  6565. "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
  6566. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  6567. as_fn_arith $ac_count + 1 && ac_count=$as_val
  6568. if test $ac_count -gt ${ac_path_SED_max-0}; then
  6569. # Best one so far, save it but keep looking for a better one
  6570. ac_cv_path_SED="$ac_path_SED"
  6571. ac_path_SED_max=$ac_count
  6572. fi
  6573. # 10*(2^10) chars as input seems more than enough
  6574. test $ac_count -gt 10 && break
  6575. done
  6576. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  6577. esac
  6578. $ac_path_SED_found && break 3
  6579. done
  6580. done
  6581. done
  6582. IFS=$as_save_IFS
  6583. if test -z "$ac_cv_path_SED"; then
  6584. as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
  6585. fi
  6586. else
  6587. ac_cv_path_SED=$SED
  6588. fi
  6589. fi
  6590. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
  6591. $as_echo "$ac_cv_path_SED" >&6; }
  6592. SED="$ac_cv_path_SED"
  6593. rm -f conftest.sed
  6594. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler vendor" >&5
  6595. $as_echo_n "checking for C++ compiler vendor... " >&6; }
  6596. if ${ax_cv_cxx_compiler_vendor+:} false; then :
  6597. $as_echo_n "(cached) " >&6
  6598. else
  6599. # note: don't check for gcc first since some other compilers define __GNUC__
  6600. vendors="intel: __ICC,__ECC,__INTEL_COMPILER
  6601. ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
  6602. pathscale: __PATHCC__,__PATHSCALE__
  6603. clang: __clang__
  6604. cray: _CRAYC
  6605. fujitsu: __FUJITSU
  6606. sdcc: SDCC, __SDCC
  6607. gnu: __GNUC__
  6608. sun: __SUNPRO_C,__SUNPRO_CC
  6609. hp: __HP_cc,__HP_aCC
  6610. dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
  6611. borland: __BORLANDC__,__CODEGEARC__,__TURBOC__
  6612. comeau: __COMO__
  6613. kai: __KCC
  6614. lcc: __LCC__
  6615. sgi: __sgi,sgi
  6616. microsoft: _MSC_VER
  6617. metrowerks: __MWERKS__
  6618. watcom: __WATCOMC__
  6619. portland: __PGI
  6620. tcc: __TINYC__
  6621. unknown: UNKNOWN"
  6622. for ventest in $vendors; do
  6623. case $ventest in
  6624. *:) vendor=$ventest; continue ;;
  6625. *) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
  6626. esac
  6627. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6628. /* end confdefs.h. */
  6629. int
  6630. main ()
  6631. {
  6632. #if !($vencpp)
  6633. thisisanerror;
  6634. #endif
  6635. ;
  6636. return 0;
  6637. }
  6638. _ACEOF
  6639. if ac_fn_cxx_try_compile "$LINENO"; then :
  6640. break
  6641. fi
  6642. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  6643. done
  6644. ax_cv_cxx_compiler_vendor=`echo $vendor | cut -d: -f1`
  6645. fi
  6646. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compiler_vendor" >&5
  6647. $as_echo "$ax_cv_cxx_compiler_vendor" >&6; }
  6648. if test "x$enablemarch" != "xno"; then :
  6649. # Check whether --with-gcc-arch was given.
  6650. if test "${with_gcc_arch+set}" = set; then :
  6651. withval=$with_gcc_arch; ax_gcc_arch=$withval
  6652. else
  6653. ax_gcc_arch=yes
  6654. fi
  6655. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
  6656. $as_echo_n "checking for gcc architecture flag... " >&6; }
  6657. { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
  6658. $as_echo "" >&6; }
  6659. if ${ax_cv_gcc_archflag+:} false; then :
  6660. $as_echo_n "(cached) " >&6
  6661. else
  6662. ax_cv_gcc_archflag="unknown"
  6663. if test "$GCC" = yes; then
  6664. if test "x$ax_gcc_arch" = xyes; then
  6665. ax_gcc_arch=""
  6666. if test "$cross_compiling" = no; then
  6667. case $host_cpu in
  6668. i[3456]86*|x86_64*|amd64*) # use cpuid codes
  6669. ac_ext=c
  6670. ac_cpp='$CPP $CPPFLAGS'
  6671. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  6672. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  6673. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  6674. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
  6675. $as_echo_n "checking for x86 cpuid 0 output... " >&6; }
  6676. if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
  6677. $as_echo_n "(cached) " >&6
  6678. else
  6679. if test "$cross_compiling" = yes; then :
  6680. ax_cv_gcc_x86_cpuid_0=unknown
  6681. else
  6682. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6683. /* end confdefs.h. */
  6684. #include <stdio.h>
  6685. int
  6686. main ()
  6687. {
  6688. int op = 0, level = 0, eax, ebx, ecx, edx;
  6689. FILE *f;
  6690. __asm__ __volatile__ ("xchg %%ebx, %1\n"
  6691. "cpuid\n"
  6692. "xchg %%ebx, %1\n"
  6693. : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
  6694. : "a" (op), "2" (level));
  6695. f = fopen("conftest_cpuid", "w"); if (!f) return 1;
  6696. fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
  6697. fclose(f);
  6698. return 0;
  6699. ;
  6700. return 0;
  6701. }
  6702. _ACEOF
  6703. if ac_fn_c_try_run "$LINENO"; then :
  6704. ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
  6705. else
  6706. ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
  6707. fi
  6708. rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  6709. conftest.$ac_objext conftest.beam conftest.$ac_ext
  6710. fi
  6711. fi
  6712. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
  6713. $as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
  6714. ac_ext=cpp
  6715. ac_cpp='$CXXCPP $CPPFLAGS'
  6716. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  6717. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  6718. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  6719. ac_ext=c
  6720. ac_cpp='$CPP $CPPFLAGS'
  6721. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  6722. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  6723. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  6724. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
  6725. $as_echo_n "checking for x86 cpuid 1 output... " >&6; }
  6726. if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
  6727. $as_echo_n "(cached) " >&6
  6728. else
  6729. if test "$cross_compiling" = yes; then :
  6730. ax_cv_gcc_x86_cpuid_1=unknown
  6731. else
  6732. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6733. /* end confdefs.h. */
  6734. #include <stdio.h>
  6735. int
  6736. main ()
  6737. {
  6738. int op = 1, level = 0, eax, ebx, ecx, edx;
  6739. FILE *f;
  6740. __asm__ __volatile__ ("xchg %%ebx, %1\n"
  6741. "cpuid\n"
  6742. "xchg %%ebx, %1\n"
  6743. : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
  6744. : "a" (op), "2" (level));
  6745. f = fopen("conftest_cpuid", "w"); if (!f) return 1;
  6746. fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
  6747. fclose(f);
  6748. return 0;
  6749. ;
  6750. return 0;
  6751. }
  6752. _ACEOF
  6753. if ac_fn_c_try_run "$LINENO"; then :
  6754. ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
  6755. else
  6756. ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
  6757. fi
  6758. rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  6759. conftest.$ac_objext conftest.beam conftest.$ac_ext
  6760. fi
  6761. fi
  6762. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
  6763. $as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
  6764. ac_ext=cpp
  6765. ac_cpp='$CXXCPP $CPPFLAGS'
  6766. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  6767. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  6768. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  6769. case $ax_cv_gcc_x86_cpuid_0 in
  6770. *:756e6547:6c65746e:49656e69) # Intel
  6771. case $ax_cv_gcc_x86_cpuid_1 in
  6772. *5[4578]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
  6773. *5[123]?:*:*:*) ax_gcc_arch=pentium ;;
  6774. *0?61?:*:*:*|?61?:*:*:*|61?:*:*:*) ax_gcc_arch=pentiumpro ;;
  6775. *0?6[356]?:*:*:*|?6[356]?:*:*:*|6[356]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
  6776. *0?6[78ab]?:*:*:*|?6[78ab]?:*:*:*|6[78ab]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
  6777. *0?6[9d]?:*:*:*|?6[9d]?:*:*:*|6[9d]?:*:*:*|*1?65?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
  6778. *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) ax_gcc_arch="yonah pentium-m pentium3 pentiumpro" ;;
  6779. *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
  6780. *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
  6781. *1?6[aef]?:*:*:*|*2?6e?:*:*:*) ax_gcc_arch="nehalem corei7 core2 pentium-m pentium3 pentiumpro" ;;
  6782. *2?6[5cf]?:*:*:*) ax_gcc_arch="westmere corei7 core2 pentium-m pentium3 pentiumpro" ;;
  6783. *2?6[ad]?:*:*:*) ax_gcc_arch="sandybridge corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
  6784. *3?6[ae]?:*:*:*) ax_gcc_arch="ivybridge core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
  6785. *3?6[cf]?:*:*:*|*4?6[56]?:*:*:*) ax_gcc_arch="haswell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
  6786. *3?6d?:*:*:*|*4?6[7f]?:*:*:*|*5?66?:*:*:*) ax_gcc_arch="broadwell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
  6787. *1?6c?:*:*:*|*2?6[67]?:*:*:*|*3?6[56]?:*:*:*) ax_gcc_arch="bonnell atom core2 pentium-m pentium3 pentiumpro" ;;
  6788. *3?67?:*:*:*|*[45]?6[ad]?:*:*:*) ax_gcc_arch="silvermont atom core2 pentium-m pentium3 pentiumpro" ;;
  6789. *000?f[012]?:*:*:*|?f[012]?:*:*:*|f[012]?:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;;
  6790. *000?f[346]?:*:*:*|?f[346]?:*:*:*|f[346]?:*:*:*) ax_gcc_arch="nocona prescott pentium4 pentiumpro" ;;
  6791. # fallback
  6792. *5??:*:*:*) ax_gcc_arch=pentium ;;
  6793. *??6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
  6794. *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
  6795. *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;;
  6796. esac ;;
  6797. *:68747541:444d4163:69746e65) # AMD
  6798. case $ax_cv_gcc_x86_cpuid_1 in
  6799. *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
  6800. *5[8]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
  6801. *5[9d]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
  6802. *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
  6803. *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
  6804. *6[678a]?:*:*:*) ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
  6805. *000?f[4578bcef]?:*:*:*|?f[4578bcef]?:*:*:*|f[4578bcef]?:*:*:*|*001?f[4578bcf]?:*:*:*|1?f[4578bcf]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
  6806. *002?f[13457bcf]?:*:*:*|2?f[13457bcf]?:*:*:*|*004?f[138bcf]?:*:*:*|4?f[138bcf]?:*:*:*|*005?f[df]?:*:*:*|5?f[df]?:*:*:*|*006?f[8bcf]?:*:*:*|6?f[8bcf]?:*:*:*|*007?f[cf]?:*:*:*|7?f[cf]?:*:*:*|*00c?f1?:*:*:*|c?f1?:*:*:*|*020?f3?:*:*:*|20?f3?:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;;
  6807. *010?f[245689a]?:*:*:*|10?f[245689a]?:*:*:*|*030?f1?:*:*:*|30?f1?:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;;
  6808. *050?f[12]?:*:*:*|50?f[12]?:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
  6809. *060?f1?:*:*:*|60?f1?:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
  6810. *060?f2?:*:*:*|60?f2?:*:*:*|*061?f[03]?:*:*:*|61?f[03]?:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;;
  6811. *063?f0?:*:*:*|63?f0?:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;;
  6812. *07[03]?f0?:*:*:*|7[03]?f0?:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;;
  6813. # fallback
  6814. *0[13]??f??:*:*:*|[13]??f??:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;;
  6815. *020?f??:*:*:*|20?f??:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;;
  6816. *05??f??:*:*:*|5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
  6817. *060?f??:*:*:*|60?f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
  6818. *061?f??:*:*:*|61?f??:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;;
  6819. *06??f??:*:*:*|6??f??:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;;
  6820. *070?f??:*:*:*|70?f??:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;;
  6821. *???f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
  6822. esac ;;
  6823. *:746e6543:736c7561:48727561) # IDT / VIA (Centaur)
  6824. case $ax_cv_gcc_x86_cpuid_1 in
  6825. *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
  6826. *5[89]?:*:*:*) ax_gcc_arch=winchip2 ;;
  6827. *66?:*:*:*) ax_gcc_arch=winchip2 ;;
  6828. *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
  6829. *6[9adf]?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
  6830. esac ;;
  6831. esac
  6832. if test x"$ax_gcc_arch" = x; then # fallback
  6833. case $host_cpu in
  6834. i586*) ax_gcc_arch=pentium ;;
  6835. i686*) ax_gcc_arch=pentiumpro ;;
  6836. esac
  6837. fi
  6838. ;;
  6839. sparc*)
  6840. # Extract the first word of "prtdiag", so it can be a program name with args.
  6841. set dummy prtdiag; ac_word=$2
  6842. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  6843. $as_echo_n "checking for $ac_word... " >&6; }
  6844. if ${ac_cv_path_PRTDIAG+:} false; then :
  6845. $as_echo_n "(cached) " >&6
  6846. else
  6847. case $PRTDIAG in
  6848. [\\/]* | ?:[\\/]*)
  6849. ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
  6850. ;;
  6851. *)
  6852. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  6853. as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
  6854. for as_dir in $as_dummy
  6855. do
  6856. IFS=$as_save_IFS
  6857. test -z "$as_dir" && as_dir=.
  6858. for ac_exec_ext in '' $ac_executable_extensions; do
  6859. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  6860. ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
  6861. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  6862. break 2
  6863. fi
  6864. done
  6865. done
  6866. IFS=$as_save_IFS
  6867. test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
  6868. ;;
  6869. esac
  6870. fi
  6871. PRTDIAG=$ac_cv_path_PRTDIAG
  6872. if test -n "$PRTDIAG"; then
  6873. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
  6874. $as_echo "$PRTDIAG" >&6; }
  6875. else
  6876. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  6877. $as_echo "no" >&6; }
  6878. fi
  6879. cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
  6880. cputype=`echo "$cputype" | tr -d ' -' | $SED 's/SPARCIIi/SPARCII/' |tr $as_cr_LETTERS $as_cr_letters`
  6881. case $cputype in
  6882. *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
  6883. *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
  6884. *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
  6885. *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
  6886. *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
  6887. *cypress*) ax_gcc_arch=cypress ;;
  6888. esac ;;
  6889. alphaev5) ax_gcc_arch=ev5 ;;
  6890. alphaev56) ax_gcc_arch=ev56 ;;
  6891. alphapca56) ax_gcc_arch="pca56 ev56" ;;
  6892. alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
  6893. alphaev6) ax_gcc_arch=ev6 ;;
  6894. alphaev67) ax_gcc_arch=ev67 ;;
  6895. alphaev68) ax_gcc_arch="ev68 ev67" ;;
  6896. alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
  6897. alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
  6898. alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
  6899. powerpc*)
  6900. cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | $SED 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
  6901. cputype=`echo $cputype | $SED -e 's/ppc//g;s/ *//g'`
  6902. case $cputype in
  6903. *750*) ax_gcc_arch="750 G3" ;;
  6904. *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
  6905. *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
  6906. *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
  6907. *970*) ax_gcc_arch="970 G5 power4";;
  6908. *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
  6909. *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
  6910. 603ev|8240) ax_gcc_arch="$cputype 603e 603";;
  6911. *) ax_gcc_arch=$cputype ;;
  6912. esac
  6913. ax_gcc_arch="$ax_gcc_arch powerpc"
  6914. ;;
  6915. aarch64)
  6916. cpuimpl=`grep 'CPU implementer' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
  6917. cpuarch=`grep 'CPU architecture' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
  6918. cpuvar=`grep 'CPU variant' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
  6919. case $cpuimpl in
  6920. 0x42) case $cpuarch in
  6921. 8) case $cpuvar in
  6922. 0x0) ax_gcc_arch="thunderx2t99 vulcan armv8.1-a armv8-a+lse armv8-a native" ;;
  6923. esac
  6924. ;;
  6925. esac
  6926. ;;
  6927. 0x43) case $cpuarch in
  6928. 8) case $cpuvar in
  6929. 0x0) ax_gcc_arch="thunderx armv8-a native" ;;
  6930. 0x1) ax_gcc_arch="thunderx+lse armv8.1-a armv8-a+lse armv8-a native" ;;
  6931. esac
  6932. ;;
  6933. esac
  6934. ;;
  6935. esac
  6936. ;;
  6937. esac
  6938. fi # not cross-compiling
  6939. fi # guess arch
  6940. if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
  6941. if test "xno" = xyes; then # if we require portable code
  6942. flag_prefixes="-mtune="
  6943. if test "x$ax_cv_cxx_compiler_vendor" = xclang; then flag_prefixes="-march="; fi
  6944. # -mcpu=$arch and m$arch generate nonportable code on every arch except
  6945. # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
  6946. case $host_cpu in i*86|x86_64*|amd64*) flag_prefixes="$flag_prefixes -mcpu= -m";; esac
  6947. else
  6948. flag_prefixes="-march= -mcpu= -m"
  6949. fi
  6950. for flag_prefix in $flag_prefixes; do
  6951. for arch in $ax_gcc_arch; do
  6952. flag="$flag_prefix$arch"
  6953. as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$flag" | $as_tr_sh`
  6954. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $flag" >&5
  6955. $as_echo_n "checking whether C++ compiler accepts $flag... " >&6; }
  6956. if eval \${$as_CACHEVAR+:} false; then :
  6957. $as_echo_n "(cached) " >&6
  6958. else
  6959. ax_check_save_flags=$CXXFLAGS
  6960. CXXFLAGS="$CXXFLAGS $flag"
  6961. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  6962. /* end confdefs.h. */
  6963. int
  6964. main ()
  6965. {
  6966. ;
  6967. return 0;
  6968. }
  6969. _ACEOF
  6970. if ac_fn_cxx_try_compile "$LINENO"; then :
  6971. eval "$as_CACHEVAR=yes"
  6972. else
  6973. eval "$as_CACHEVAR=no"
  6974. fi
  6975. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  6976. CXXFLAGS=$ax_check_save_flags
  6977. fi
  6978. eval ac_res=\$$as_CACHEVAR
  6979. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  6980. $as_echo "$ac_res" >&6; }
  6981. if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
  6982. if test "x$ax_cv_cxx_compiler_vendor" = xclang; then
  6983. if test "xno" = xyes; then
  6984. if test "x$flag" = "x-march=$arch"; then flag=-mtune=$arch; fi
  6985. fi
  6986. fi; ax_cv_gcc_archflag=$flag; break
  6987. else
  6988. :
  6989. fi
  6990. done
  6991. test "x$ax_cv_gcc_archflag" = xunknown || break
  6992. done
  6993. fi
  6994. fi # $GCC=yes
  6995. fi
  6996. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
  6997. $as_echo_n "checking for gcc architecture flag... " >&6; }
  6998. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
  6999. $as_echo "$ax_cv_gcc_archflag" >&6; }
  7000. if test "x$ax_cv_gcc_archflag" = xunknown; then
  7001. :
  7002. else
  7003. CXXFLAGS_OPT="$CXXFLAGS_OPT $ax_cv_gcc_archflag"
  7004. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL $ax_cv_gcc_archflag"
  7005. CXXFLAGS_PROF="$CXXFLAGS_PROF $ax_cv_gcc_archflag"
  7006. CXXFLAGS_OPROF="$CXXFLAGS_OPROF $ax_cv_gcc_archflag"
  7007. fi
  7008. fi
  7009. # --------------------------------------------------------------
  7010. # Autoconf macro for determining the proper -std=c++??
  7011. # flag, for the current compiler, for the user's requested C++
  7012. # standards level. Adds the required flag to CXXFLAGS if
  7013. # one is found. Exits if no acceptable flag is found.
  7014. # --------------------------------------------------------------
  7015. acsm_CXX_STD_MIN="2011"
  7016. acsm_CXX_STD_MAX="2017"
  7017. # --------------------------------------------------------------
  7018. # How new a C++ standard should we ask for?
  7019. # --------------------------------------------------------------
  7020. # Check whether --with-cxx-std-max was given.
  7021. if test "${with_cxx_std_max+set}" = set; then :
  7022. withval=$with_cxx_std_max;
  7023. if test "$withval" -ge 2011; then :
  7024. acsm_CXX_STD_MAX="$withval"
  7025. else
  7026. as_fn_error $? "${withval} for --with-cxx-std-max must be an integer >= 2011" "$LINENO" 5
  7027. fi
  7028. fi
  7029. # --------------------------------------------------------------
  7030. # How new a C++ standard should we insist upon?
  7031. # --------------------------------------------------------------
  7032. # Check whether --with-cxx-std-min was given.
  7033. if test "${with_cxx_std_min+set}" = set; then :
  7034. withval=$with_cxx_std_min;
  7035. if test "$withval" -ge 2011; then :
  7036. acsm_CXX_STD_MIN="$withval"
  7037. else
  7038. as_fn_error $? "${withval} for --with-cxx-std-min must be an integer >= 2011" "$LINENO" 5
  7039. fi
  7040. if test "$withval" -gt 2017; then :
  7041. as_fn_error $? "${withval} for --with-cxx-std-min must be an integer <= 2017" "$LINENO" 5
  7042. fi
  7043. fi
  7044. # --------------------------------------------------------------
  7045. # Semantic sugar to insist upon a specific standard easily
  7046. # --------------------------------------------------------------
  7047. # Check whether --with-cxx-std was given.
  7048. if test "${with_cxx_std+set}" = set; then :
  7049. withval=$with_cxx_std;
  7050. if test "$withval" -ge 2011; then :
  7051. acsm_CXX_STD_MAX="$withval"
  7052. acsm_CXX_STD_MIN="$withval"
  7053. else
  7054. as_fn_error $? "${withval} for --with-cxx-std must be an integer >= 2011" "$LINENO" 5
  7055. fi
  7056. fi
  7057. if test "$acsm_CXX_STD_MAX" -ge "$acsm_CXX_STD_MIN"; then :
  7058. { $as_echo "$as_me:${as_lineno-$LINENO}: Seeking a C++ standard between \"$acsm_CXX_STD_MIN\" and \"$acsm_CXX_STD_MAX\"" >&5
  7059. $as_echo "$as_me: Seeking a C++ standard between \"$acsm_CXX_STD_MIN\" and \"$acsm_CXX_STD_MAX\"" >&6;}
  7060. else
  7061. as_fn_error $? "Maximum C++ standard \"$acsm_CXX_STD_MAX\" must be at least minimum \"$acsm_CXX_STD_MIN\"" "$LINENO" 5
  7062. fi
  7063. acsm_found_cxx=0
  7064. acsm_cxx_version=0
  7065. acsm_backup_CXX="$CXX"
  7066. acsm_backup_CXXCPP="$CXXCPP"
  7067. if test 2017 -le "$acsm_CXX_STD_MAX"; then :
  7068. if test 2017 -gt "$acsm_CXX_STD_MIN"; then :
  7069. ax_cxx_compile_alternatives="17 1z" ax_cxx_compile_cxx17_required=false
  7070. ac_ext=cpp
  7071. ac_cpp='$CXXCPP $CPPFLAGS'
  7072. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  7073. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  7074. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  7075. ac_success=no
  7076. cachevar=ax_cv_cxx_compile_cxx17
  7077. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features by default" >&5
  7078. $as_echo_n "checking whether $CXX supports C++17 features by default... " >&6; }
  7079. if eval \${$cachevar+:} false; then :
  7080. $as_echo_n "(cached) " >&6
  7081. else
  7082. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  7083. /* end confdefs.h. */
  7084. // If the compiler admits that it is not ready for C++11, why torture it?
  7085. // Hopefully, this will speed up the test.
  7086. #ifndef __cplusplus
  7087. #error "This is not a C++ compiler"
  7088. #elif __cplusplus < 201103L
  7089. #error "This is not a C++11 compiler"
  7090. #else
  7091. namespace cxx11
  7092. {
  7093. namespace test_static_assert
  7094. {
  7095. template <typename T>
  7096. struct check
  7097. {
  7098. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  7099. };
  7100. }
  7101. namespace test_final_override
  7102. {
  7103. struct Base
  7104. {
  7105. virtual ~Base() {}
  7106. virtual void f() {}
  7107. };
  7108. struct Derived : public Base
  7109. {
  7110. virtual ~Derived() override {}
  7111. virtual void f() override {}
  7112. };
  7113. }
  7114. namespace test_double_right_angle_brackets
  7115. {
  7116. template < typename T >
  7117. struct check {};
  7118. typedef check<void> single_type;
  7119. typedef check<check<void>> double_type;
  7120. typedef check<check<check<void>>> triple_type;
  7121. typedef check<check<check<check<void>>>> quadruple_type;
  7122. }
  7123. namespace test_decltype
  7124. {
  7125. int
  7126. f()
  7127. {
  7128. int a = 1;
  7129. decltype(a) b = 2;
  7130. return a + b;
  7131. }
  7132. }
  7133. namespace test_type_deduction
  7134. {
  7135. template < typename T1, typename T2 >
  7136. struct is_same
  7137. {
  7138. static const bool value = false;
  7139. };
  7140. template < typename T >
  7141. struct is_same<T, T>
  7142. {
  7143. static const bool value = true;
  7144. };
  7145. template < typename T1, typename T2 >
  7146. auto
  7147. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  7148. {
  7149. return a1 + a2;
  7150. }
  7151. int
  7152. test(const int c, volatile int v)
  7153. {
  7154. static_assert(is_same<int, decltype(0)>::value == true, "");
  7155. static_assert(is_same<int, decltype(c)>::value == false, "");
  7156. static_assert(is_same<int, decltype(v)>::value == false, "");
  7157. auto ac = c;
  7158. auto av = v;
  7159. auto sumi = ac + av + 'x';
  7160. auto sumf = ac + av + 1.0;
  7161. static_assert(is_same<int, decltype(ac)>::value == true, "");
  7162. static_assert(is_same<int, decltype(av)>::value == true, "");
  7163. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  7164. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  7165. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  7166. return (sumf > 0.0) ? sumi : add(c, v);
  7167. }
  7168. }
  7169. namespace test_noexcept
  7170. {
  7171. int f() { return 0; }
  7172. int g() noexcept { return 0; }
  7173. static_assert(noexcept(f()) == false, "");
  7174. static_assert(noexcept(g()) == true, "");
  7175. }
  7176. namespace test_constexpr
  7177. {
  7178. template < typename CharT >
  7179. unsigned long constexpr
  7180. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  7181. {
  7182. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  7183. }
  7184. template < typename CharT >
  7185. unsigned long constexpr
  7186. strlen_c(const CharT *const s) noexcept
  7187. {
  7188. return strlen_c_r(s, 0UL);
  7189. }
  7190. static_assert(strlen_c("") == 0UL, "");
  7191. static_assert(strlen_c("1") == 1UL, "");
  7192. static_assert(strlen_c("example") == 7UL, "");
  7193. static_assert(strlen_c("another\0example") == 7UL, "");
  7194. }
  7195. namespace test_rvalue_references
  7196. {
  7197. template < int N >
  7198. struct answer
  7199. {
  7200. static constexpr int value = N;
  7201. };
  7202. answer<1> f(int&) { return answer<1>(); }
  7203. answer<2> f(const int&) { return answer<2>(); }
  7204. answer<3> f(int&&) { return answer<3>(); }
  7205. void
  7206. test()
  7207. {
  7208. int i = 0;
  7209. const int c = 0;
  7210. static_assert(decltype(f(i))::value == 1, "");
  7211. static_assert(decltype(f(c))::value == 2, "");
  7212. static_assert(decltype(f(0))::value == 3, "");
  7213. }
  7214. }
  7215. namespace test_uniform_initialization
  7216. {
  7217. struct test
  7218. {
  7219. static const int zero {};
  7220. static const int one {1};
  7221. };
  7222. static_assert(test::zero == 0, "");
  7223. static_assert(test::one == 1, "");
  7224. }
  7225. namespace test_lambdas
  7226. {
  7227. void
  7228. test1()
  7229. {
  7230. auto lambda1 = [](){};
  7231. auto lambda2 = lambda1;
  7232. lambda1();
  7233. lambda2();
  7234. }
  7235. int
  7236. test2()
  7237. {
  7238. auto a = [](int i, int j){ return i + j; }(1, 2);
  7239. auto b = []() -> int { return '0'; }();
  7240. auto c = [=](){ return a + b; }();
  7241. auto d = [&](){ return c; }();
  7242. auto e = [a, &b](int x) mutable {
  7243. const auto identity = [](int y){ return y; };
  7244. for (auto i = 0; i < a; ++i)
  7245. a += b--;
  7246. return x + identity(a + b);
  7247. }(0);
  7248. return a + b + c + d + e;
  7249. }
  7250. int
  7251. test3()
  7252. {
  7253. const auto nullary = [](){ return 0; };
  7254. const auto unary = [](int x){ return x; };
  7255. using nullary_t = decltype(nullary);
  7256. using unary_t = decltype(unary);
  7257. const auto higher1st = [](nullary_t f){ return f(); };
  7258. const auto higher2nd = [unary](nullary_t f1){
  7259. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  7260. };
  7261. return higher1st(nullary) + higher2nd(nullary)(unary);
  7262. }
  7263. }
  7264. namespace test_variadic_templates
  7265. {
  7266. template <int...>
  7267. struct sum;
  7268. template <int N0, int... N1toN>
  7269. struct sum<N0, N1toN...>
  7270. {
  7271. static constexpr auto value = N0 + sum<N1toN...>::value;
  7272. };
  7273. template <>
  7274. struct sum<>
  7275. {
  7276. static constexpr auto value = 0;
  7277. };
  7278. static_assert(sum<>::value == 0, "");
  7279. static_assert(sum<1>::value == 1, "");
  7280. static_assert(sum<23>::value == 23, "");
  7281. static_assert(sum<1, 2>::value == 3, "");
  7282. static_assert(sum<5, 5, 11>::value == 21, "");
  7283. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  7284. }
  7285. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  7286. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  7287. // because of this.
  7288. namespace test_template_alias_sfinae
  7289. {
  7290. struct foo {};
  7291. template<typename T>
  7292. using member = typename T::member_type;
  7293. template<typename T>
  7294. void func(...) {}
  7295. template<typename T>
  7296. void func(member<T>*) {}
  7297. void test();
  7298. void test() { func<foo>(0); }
  7299. }
  7300. } // namespace cxx11
  7301. #endif // __cplusplus >= 201103L
  7302. // If the compiler admits that it is not ready for C++14, why torture it?
  7303. // Hopefully, this will speed up the test.
  7304. #ifndef __cplusplus
  7305. #error "This is not a C++ compiler"
  7306. #elif __cplusplus < 201402L
  7307. #error "This is not a C++14 compiler"
  7308. #else
  7309. namespace cxx14
  7310. {
  7311. namespace test_polymorphic_lambdas
  7312. {
  7313. int
  7314. test()
  7315. {
  7316. const auto lambda = [](auto&&... args){
  7317. const auto istiny = [](auto x){
  7318. return (sizeof(x) == 1UL) ? 1 : 0;
  7319. };
  7320. const int aretiny[] = { istiny(args)... };
  7321. return aretiny[0];
  7322. };
  7323. return lambda(1, 1L, 1.0f, '1');
  7324. }
  7325. }
  7326. namespace test_binary_literals
  7327. {
  7328. constexpr auto ivii = 0b0000000000101010;
  7329. static_assert(ivii == 42, "wrong value");
  7330. }
  7331. namespace test_generalized_constexpr
  7332. {
  7333. template < typename CharT >
  7334. constexpr unsigned long
  7335. strlen_c(const CharT *const s) noexcept
  7336. {
  7337. auto length = 0UL;
  7338. for (auto p = s; *p; ++p)
  7339. ++length;
  7340. return length;
  7341. }
  7342. static_assert(strlen_c("") == 0UL, "");
  7343. static_assert(strlen_c("x") == 1UL, "");
  7344. static_assert(strlen_c("test") == 4UL, "");
  7345. static_assert(strlen_c("another\0test") == 7UL, "");
  7346. }
  7347. namespace test_lambda_init_capture
  7348. {
  7349. int
  7350. test()
  7351. {
  7352. auto x = 0;
  7353. const auto lambda1 = [a = x](int b){ return a + b; };
  7354. const auto lambda2 = [a = lambda1(x)](){ return a; };
  7355. return lambda2();
  7356. }
  7357. }
  7358. namespace test_digit_separators
  7359. {
  7360. constexpr auto ten_million = 100'000'000;
  7361. static_assert(ten_million == 100000000, "");
  7362. }
  7363. namespace test_return_type_deduction
  7364. {
  7365. auto f(int& x) { return x; }
  7366. decltype(auto) g(int& x) { return x; }
  7367. template < typename T1, typename T2 >
  7368. struct is_same
  7369. {
  7370. static constexpr auto value = false;
  7371. };
  7372. template < typename T >
  7373. struct is_same<T, T>
  7374. {
  7375. static constexpr auto value = true;
  7376. };
  7377. int
  7378. test()
  7379. {
  7380. auto x = 0;
  7381. static_assert(is_same<int, decltype(f(x))>::value, "");
  7382. static_assert(is_same<int&, decltype(g(x))>::value, "");
  7383. return x;
  7384. }
  7385. }
  7386. } // namespace cxx14
  7387. #endif // __cplusplus >= 201402L
  7388. // If the compiler admits that it is not ready for C++17, why torture it?
  7389. // Hopefully, this will speed up the test.
  7390. #ifndef __cplusplus
  7391. #error "This is not a C++ compiler"
  7392. #elif __cplusplus < 201703L
  7393. #error "This is not a C++17 compiler"
  7394. #else
  7395. #include <initializer_list>
  7396. #include <utility>
  7397. #include <type_traits>
  7398. namespace cxx17
  7399. {
  7400. namespace test_constexpr_lambdas
  7401. {
  7402. constexpr int foo = [](){return 42;}();
  7403. }
  7404. namespace test::nested_namespace::definitions
  7405. {
  7406. }
  7407. namespace test_fold_expression
  7408. {
  7409. template<typename... Args>
  7410. int multiply(Args... args)
  7411. {
  7412. return (args * ... * 1);
  7413. }
  7414. template<typename... Args>
  7415. bool all(Args... args)
  7416. {
  7417. return (args && ...);
  7418. }
  7419. }
  7420. namespace test_extended_static_assert
  7421. {
  7422. static_assert (true);
  7423. }
  7424. namespace test_auto_brace_init_list
  7425. {
  7426. auto foo = {5};
  7427. auto bar {5};
  7428. static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
  7429. static_assert(std::is_same<int, decltype(bar)>::value);
  7430. }
  7431. namespace test_typename_in_template_template_parameter
  7432. {
  7433. template<template<typename> typename X> struct D;
  7434. }
  7435. namespace test_fallthrough_nodiscard_maybe_unused_attributes
  7436. {
  7437. int f1()
  7438. {
  7439. return 42;
  7440. }
  7441. [[nodiscard]] int f2()
  7442. {
  7443. [[maybe_unused]] auto unused = f1();
  7444. switch (f1())
  7445. {
  7446. case 17:
  7447. f1();
  7448. [[fallthrough]];
  7449. case 42:
  7450. f1();
  7451. }
  7452. return f1();
  7453. }
  7454. }
  7455. namespace test_extended_aggregate_initialization
  7456. {
  7457. struct base1
  7458. {
  7459. int b1, b2 = 42;
  7460. };
  7461. struct base2
  7462. {
  7463. base2() {
  7464. b3 = 42;
  7465. }
  7466. int b3;
  7467. };
  7468. struct derived : base1, base2
  7469. {
  7470. int d;
  7471. };
  7472. derived d1 {{1, 2}, {}, 4}; // full initialization
  7473. derived d2 {{}, {}, 4}; // value-initialized bases
  7474. }
  7475. namespace test_general_range_based_for_loop
  7476. {
  7477. struct iter
  7478. {
  7479. int i;
  7480. int& operator* ()
  7481. {
  7482. return i;
  7483. }
  7484. const int& operator* () const
  7485. {
  7486. return i;
  7487. }
  7488. iter& operator++()
  7489. {
  7490. ++i;
  7491. return *this;
  7492. }
  7493. };
  7494. struct sentinel
  7495. {
  7496. int i;
  7497. };
  7498. bool operator== (const iter& i, const sentinel& s)
  7499. {
  7500. return i.i == s.i;
  7501. }
  7502. bool operator!= (const iter& i, const sentinel& s)
  7503. {
  7504. return !(i == s);
  7505. }
  7506. struct range
  7507. {
  7508. iter begin() const
  7509. {
  7510. return {0};
  7511. }
  7512. sentinel end() const
  7513. {
  7514. return {5};
  7515. }
  7516. };
  7517. void f()
  7518. {
  7519. range r {};
  7520. for (auto i : r)
  7521. {
  7522. [[maybe_unused]] auto v = i;
  7523. }
  7524. }
  7525. }
  7526. namespace test_lambda_capture_asterisk_this_by_value
  7527. {
  7528. struct t
  7529. {
  7530. int i;
  7531. int foo()
  7532. {
  7533. return [*this]()
  7534. {
  7535. return i;
  7536. }();
  7537. }
  7538. };
  7539. }
  7540. namespace test_enum_class_construction
  7541. {
  7542. enum class byte : unsigned char
  7543. {};
  7544. byte foo {42};
  7545. }
  7546. namespace test_constexpr_if
  7547. {
  7548. template <bool cond>
  7549. int f ()
  7550. {
  7551. if constexpr(cond)
  7552. {
  7553. return 13;
  7554. }
  7555. else
  7556. {
  7557. return 42;
  7558. }
  7559. }
  7560. }
  7561. namespace test_selection_statement_with_initializer
  7562. {
  7563. int f()
  7564. {
  7565. return 13;
  7566. }
  7567. int f2()
  7568. {
  7569. if (auto i = f(); i > 0)
  7570. {
  7571. return 3;
  7572. }
  7573. switch (auto i = f(); i + 4)
  7574. {
  7575. case 17:
  7576. return 2;
  7577. default:
  7578. return 1;
  7579. }
  7580. }
  7581. }
  7582. namespace test_template_argument_deduction_for_class_templates
  7583. {
  7584. template <typename T1, typename T2>
  7585. struct pair
  7586. {
  7587. pair (T1 p1, T2 p2)
  7588. : m1 {p1},
  7589. m2 {p2}
  7590. {}
  7591. T1 m1;
  7592. T2 m2;
  7593. };
  7594. void f()
  7595. {
  7596. [[maybe_unused]] auto p = pair{13, 42u};
  7597. }
  7598. }
  7599. namespace test_non_type_auto_template_parameters
  7600. {
  7601. template <auto n>
  7602. struct B
  7603. {};
  7604. B<5> b1;
  7605. B<'a'> b2;
  7606. }
  7607. namespace test_structured_bindings
  7608. {
  7609. int arr[2] = { 1, 2 };
  7610. std::pair<int, int> pr = { 1, 2 };
  7611. auto f1() -> int(&)[2]
  7612. {
  7613. return arr;
  7614. }
  7615. auto f2() -> std::pair<int, int>&
  7616. {
  7617. return pr;
  7618. }
  7619. struct S
  7620. {
  7621. int x1 : 2;
  7622. volatile double y1;
  7623. };
  7624. S f3()
  7625. {
  7626. return {};
  7627. }
  7628. auto [ x1, y1 ] = f1();
  7629. auto& [ xr1, yr1 ] = f1();
  7630. auto [ x2, y2 ] = f2();
  7631. auto& [ xr2, yr2 ] = f2();
  7632. const auto [ x3, y3 ] = f3();
  7633. }
  7634. namespace test_exception_spec_type_system
  7635. {
  7636. struct Good {};
  7637. struct Bad {};
  7638. void g1() noexcept;
  7639. void g2();
  7640. template<typename T>
  7641. Bad
  7642. f(T*, T*);
  7643. template<typename T1, typename T2>
  7644. Good
  7645. f(T1*, T2*);
  7646. static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
  7647. }
  7648. namespace test_inline_variables
  7649. {
  7650. template<class T> void f(T)
  7651. {}
  7652. template<class T> inline T g(T)
  7653. {
  7654. return T{};
  7655. }
  7656. template<> inline void f<>(int)
  7657. {}
  7658. template<> int g<>(int)
  7659. {
  7660. return 5;
  7661. }
  7662. }
  7663. } // namespace cxx17
  7664. #endif // __cplusplus < 201703L
  7665. _ACEOF
  7666. if ac_fn_cxx_try_compile "$LINENO"; then :
  7667. eval $cachevar=yes
  7668. else
  7669. eval $cachevar=no
  7670. fi
  7671. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  7672. fi
  7673. eval ac_res=\$$cachevar
  7674. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  7675. $as_echo "$ac_res" >&6; }
  7676. if eval test x\$$cachevar = xyes; then :
  7677. ac_success=yes
  7678. fi
  7679. if test x$ac_success = xno; then
  7680. for alternative in ${ax_cxx_compile_alternatives}; do
  7681. switch="-std=gnu++${alternative}"
  7682. cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh`
  7683. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5
  7684. $as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; }
  7685. if eval \${$cachevar+:} false; then :
  7686. $as_echo_n "(cached) " >&6
  7687. else
  7688. ac_save_CXX="$CXX"
  7689. CXX="$CXX $switch"
  7690. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  7691. /* end confdefs.h. */
  7692. // If the compiler admits that it is not ready for C++11, why torture it?
  7693. // Hopefully, this will speed up the test.
  7694. #ifndef __cplusplus
  7695. #error "This is not a C++ compiler"
  7696. #elif __cplusplus < 201103L
  7697. #error "This is not a C++11 compiler"
  7698. #else
  7699. namespace cxx11
  7700. {
  7701. namespace test_static_assert
  7702. {
  7703. template <typename T>
  7704. struct check
  7705. {
  7706. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  7707. };
  7708. }
  7709. namespace test_final_override
  7710. {
  7711. struct Base
  7712. {
  7713. virtual ~Base() {}
  7714. virtual void f() {}
  7715. };
  7716. struct Derived : public Base
  7717. {
  7718. virtual ~Derived() override {}
  7719. virtual void f() override {}
  7720. };
  7721. }
  7722. namespace test_double_right_angle_brackets
  7723. {
  7724. template < typename T >
  7725. struct check {};
  7726. typedef check<void> single_type;
  7727. typedef check<check<void>> double_type;
  7728. typedef check<check<check<void>>> triple_type;
  7729. typedef check<check<check<check<void>>>> quadruple_type;
  7730. }
  7731. namespace test_decltype
  7732. {
  7733. int
  7734. f()
  7735. {
  7736. int a = 1;
  7737. decltype(a) b = 2;
  7738. return a + b;
  7739. }
  7740. }
  7741. namespace test_type_deduction
  7742. {
  7743. template < typename T1, typename T2 >
  7744. struct is_same
  7745. {
  7746. static const bool value = false;
  7747. };
  7748. template < typename T >
  7749. struct is_same<T, T>
  7750. {
  7751. static const bool value = true;
  7752. };
  7753. template < typename T1, typename T2 >
  7754. auto
  7755. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  7756. {
  7757. return a1 + a2;
  7758. }
  7759. int
  7760. test(const int c, volatile int v)
  7761. {
  7762. static_assert(is_same<int, decltype(0)>::value == true, "");
  7763. static_assert(is_same<int, decltype(c)>::value == false, "");
  7764. static_assert(is_same<int, decltype(v)>::value == false, "");
  7765. auto ac = c;
  7766. auto av = v;
  7767. auto sumi = ac + av + 'x';
  7768. auto sumf = ac + av + 1.0;
  7769. static_assert(is_same<int, decltype(ac)>::value == true, "");
  7770. static_assert(is_same<int, decltype(av)>::value == true, "");
  7771. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  7772. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  7773. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  7774. return (sumf > 0.0) ? sumi : add(c, v);
  7775. }
  7776. }
  7777. namespace test_noexcept
  7778. {
  7779. int f() { return 0; }
  7780. int g() noexcept { return 0; }
  7781. static_assert(noexcept(f()) == false, "");
  7782. static_assert(noexcept(g()) == true, "");
  7783. }
  7784. namespace test_constexpr
  7785. {
  7786. template < typename CharT >
  7787. unsigned long constexpr
  7788. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  7789. {
  7790. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  7791. }
  7792. template < typename CharT >
  7793. unsigned long constexpr
  7794. strlen_c(const CharT *const s) noexcept
  7795. {
  7796. return strlen_c_r(s, 0UL);
  7797. }
  7798. static_assert(strlen_c("") == 0UL, "");
  7799. static_assert(strlen_c("1") == 1UL, "");
  7800. static_assert(strlen_c("example") == 7UL, "");
  7801. static_assert(strlen_c("another\0example") == 7UL, "");
  7802. }
  7803. namespace test_rvalue_references
  7804. {
  7805. template < int N >
  7806. struct answer
  7807. {
  7808. static constexpr int value = N;
  7809. };
  7810. answer<1> f(int&) { return answer<1>(); }
  7811. answer<2> f(const int&) { return answer<2>(); }
  7812. answer<3> f(int&&) { return answer<3>(); }
  7813. void
  7814. test()
  7815. {
  7816. int i = 0;
  7817. const int c = 0;
  7818. static_assert(decltype(f(i))::value == 1, "");
  7819. static_assert(decltype(f(c))::value == 2, "");
  7820. static_assert(decltype(f(0))::value == 3, "");
  7821. }
  7822. }
  7823. namespace test_uniform_initialization
  7824. {
  7825. struct test
  7826. {
  7827. static const int zero {};
  7828. static const int one {1};
  7829. };
  7830. static_assert(test::zero == 0, "");
  7831. static_assert(test::one == 1, "");
  7832. }
  7833. namespace test_lambdas
  7834. {
  7835. void
  7836. test1()
  7837. {
  7838. auto lambda1 = [](){};
  7839. auto lambda2 = lambda1;
  7840. lambda1();
  7841. lambda2();
  7842. }
  7843. int
  7844. test2()
  7845. {
  7846. auto a = [](int i, int j){ return i + j; }(1, 2);
  7847. auto b = []() -> int { return '0'; }();
  7848. auto c = [=](){ return a + b; }();
  7849. auto d = [&](){ return c; }();
  7850. auto e = [a, &b](int x) mutable {
  7851. const auto identity = [](int y){ return y; };
  7852. for (auto i = 0; i < a; ++i)
  7853. a += b--;
  7854. return x + identity(a + b);
  7855. }(0);
  7856. return a + b + c + d + e;
  7857. }
  7858. int
  7859. test3()
  7860. {
  7861. const auto nullary = [](){ return 0; };
  7862. const auto unary = [](int x){ return x; };
  7863. using nullary_t = decltype(nullary);
  7864. using unary_t = decltype(unary);
  7865. const auto higher1st = [](nullary_t f){ return f(); };
  7866. const auto higher2nd = [unary](nullary_t f1){
  7867. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  7868. };
  7869. return higher1st(nullary) + higher2nd(nullary)(unary);
  7870. }
  7871. }
  7872. namespace test_variadic_templates
  7873. {
  7874. template <int...>
  7875. struct sum;
  7876. template <int N0, int... N1toN>
  7877. struct sum<N0, N1toN...>
  7878. {
  7879. static constexpr auto value = N0 + sum<N1toN...>::value;
  7880. };
  7881. template <>
  7882. struct sum<>
  7883. {
  7884. static constexpr auto value = 0;
  7885. };
  7886. static_assert(sum<>::value == 0, "");
  7887. static_assert(sum<1>::value == 1, "");
  7888. static_assert(sum<23>::value == 23, "");
  7889. static_assert(sum<1, 2>::value == 3, "");
  7890. static_assert(sum<5, 5, 11>::value == 21, "");
  7891. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  7892. }
  7893. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  7894. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  7895. // because of this.
  7896. namespace test_template_alias_sfinae
  7897. {
  7898. struct foo {};
  7899. template<typename T>
  7900. using member = typename T::member_type;
  7901. template<typename T>
  7902. void func(...) {}
  7903. template<typename T>
  7904. void func(member<T>*) {}
  7905. void test();
  7906. void test() { func<foo>(0); }
  7907. }
  7908. } // namespace cxx11
  7909. #endif // __cplusplus >= 201103L
  7910. // If the compiler admits that it is not ready for C++14, why torture it?
  7911. // Hopefully, this will speed up the test.
  7912. #ifndef __cplusplus
  7913. #error "This is not a C++ compiler"
  7914. #elif __cplusplus < 201402L
  7915. #error "This is not a C++14 compiler"
  7916. #else
  7917. namespace cxx14
  7918. {
  7919. namespace test_polymorphic_lambdas
  7920. {
  7921. int
  7922. test()
  7923. {
  7924. const auto lambda = [](auto&&... args){
  7925. const auto istiny = [](auto x){
  7926. return (sizeof(x) == 1UL) ? 1 : 0;
  7927. };
  7928. const int aretiny[] = { istiny(args)... };
  7929. return aretiny[0];
  7930. };
  7931. return lambda(1, 1L, 1.0f, '1');
  7932. }
  7933. }
  7934. namespace test_binary_literals
  7935. {
  7936. constexpr auto ivii = 0b0000000000101010;
  7937. static_assert(ivii == 42, "wrong value");
  7938. }
  7939. namespace test_generalized_constexpr
  7940. {
  7941. template < typename CharT >
  7942. constexpr unsigned long
  7943. strlen_c(const CharT *const s) noexcept
  7944. {
  7945. auto length = 0UL;
  7946. for (auto p = s; *p; ++p)
  7947. ++length;
  7948. return length;
  7949. }
  7950. static_assert(strlen_c("") == 0UL, "");
  7951. static_assert(strlen_c("x") == 1UL, "");
  7952. static_assert(strlen_c("test") == 4UL, "");
  7953. static_assert(strlen_c("another\0test") == 7UL, "");
  7954. }
  7955. namespace test_lambda_init_capture
  7956. {
  7957. int
  7958. test()
  7959. {
  7960. auto x = 0;
  7961. const auto lambda1 = [a = x](int b){ return a + b; };
  7962. const auto lambda2 = [a = lambda1(x)](){ return a; };
  7963. return lambda2();
  7964. }
  7965. }
  7966. namespace test_digit_separators
  7967. {
  7968. constexpr auto ten_million = 100'000'000;
  7969. static_assert(ten_million == 100000000, "");
  7970. }
  7971. namespace test_return_type_deduction
  7972. {
  7973. auto f(int& x) { return x; }
  7974. decltype(auto) g(int& x) { return x; }
  7975. template < typename T1, typename T2 >
  7976. struct is_same
  7977. {
  7978. static constexpr auto value = false;
  7979. };
  7980. template < typename T >
  7981. struct is_same<T, T>
  7982. {
  7983. static constexpr auto value = true;
  7984. };
  7985. int
  7986. test()
  7987. {
  7988. auto x = 0;
  7989. static_assert(is_same<int, decltype(f(x))>::value, "");
  7990. static_assert(is_same<int&, decltype(g(x))>::value, "");
  7991. return x;
  7992. }
  7993. }
  7994. } // namespace cxx14
  7995. #endif // __cplusplus >= 201402L
  7996. // If the compiler admits that it is not ready for C++17, why torture it?
  7997. // Hopefully, this will speed up the test.
  7998. #ifndef __cplusplus
  7999. #error "This is not a C++ compiler"
  8000. #elif __cplusplus < 201703L
  8001. #error "This is not a C++17 compiler"
  8002. #else
  8003. #include <initializer_list>
  8004. #include <utility>
  8005. #include <type_traits>
  8006. namespace cxx17
  8007. {
  8008. namespace test_constexpr_lambdas
  8009. {
  8010. constexpr int foo = [](){return 42;}();
  8011. }
  8012. namespace test::nested_namespace::definitions
  8013. {
  8014. }
  8015. namespace test_fold_expression
  8016. {
  8017. template<typename... Args>
  8018. int multiply(Args... args)
  8019. {
  8020. return (args * ... * 1);
  8021. }
  8022. template<typename... Args>
  8023. bool all(Args... args)
  8024. {
  8025. return (args && ...);
  8026. }
  8027. }
  8028. namespace test_extended_static_assert
  8029. {
  8030. static_assert (true);
  8031. }
  8032. namespace test_auto_brace_init_list
  8033. {
  8034. auto foo = {5};
  8035. auto bar {5};
  8036. static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
  8037. static_assert(std::is_same<int, decltype(bar)>::value);
  8038. }
  8039. namespace test_typename_in_template_template_parameter
  8040. {
  8041. template<template<typename> typename X> struct D;
  8042. }
  8043. namespace test_fallthrough_nodiscard_maybe_unused_attributes
  8044. {
  8045. int f1()
  8046. {
  8047. return 42;
  8048. }
  8049. [[nodiscard]] int f2()
  8050. {
  8051. [[maybe_unused]] auto unused = f1();
  8052. switch (f1())
  8053. {
  8054. case 17:
  8055. f1();
  8056. [[fallthrough]];
  8057. case 42:
  8058. f1();
  8059. }
  8060. return f1();
  8061. }
  8062. }
  8063. namespace test_extended_aggregate_initialization
  8064. {
  8065. struct base1
  8066. {
  8067. int b1, b2 = 42;
  8068. };
  8069. struct base2
  8070. {
  8071. base2() {
  8072. b3 = 42;
  8073. }
  8074. int b3;
  8075. };
  8076. struct derived : base1, base2
  8077. {
  8078. int d;
  8079. };
  8080. derived d1 {{1, 2}, {}, 4}; // full initialization
  8081. derived d2 {{}, {}, 4}; // value-initialized bases
  8082. }
  8083. namespace test_general_range_based_for_loop
  8084. {
  8085. struct iter
  8086. {
  8087. int i;
  8088. int& operator* ()
  8089. {
  8090. return i;
  8091. }
  8092. const int& operator* () const
  8093. {
  8094. return i;
  8095. }
  8096. iter& operator++()
  8097. {
  8098. ++i;
  8099. return *this;
  8100. }
  8101. };
  8102. struct sentinel
  8103. {
  8104. int i;
  8105. };
  8106. bool operator== (const iter& i, const sentinel& s)
  8107. {
  8108. return i.i == s.i;
  8109. }
  8110. bool operator!= (const iter& i, const sentinel& s)
  8111. {
  8112. return !(i == s);
  8113. }
  8114. struct range
  8115. {
  8116. iter begin() const
  8117. {
  8118. return {0};
  8119. }
  8120. sentinel end() const
  8121. {
  8122. return {5};
  8123. }
  8124. };
  8125. void f()
  8126. {
  8127. range r {};
  8128. for (auto i : r)
  8129. {
  8130. [[maybe_unused]] auto v = i;
  8131. }
  8132. }
  8133. }
  8134. namespace test_lambda_capture_asterisk_this_by_value
  8135. {
  8136. struct t
  8137. {
  8138. int i;
  8139. int foo()
  8140. {
  8141. return [*this]()
  8142. {
  8143. return i;
  8144. }();
  8145. }
  8146. };
  8147. }
  8148. namespace test_enum_class_construction
  8149. {
  8150. enum class byte : unsigned char
  8151. {};
  8152. byte foo {42};
  8153. }
  8154. namespace test_constexpr_if
  8155. {
  8156. template <bool cond>
  8157. int f ()
  8158. {
  8159. if constexpr(cond)
  8160. {
  8161. return 13;
  8162. }
  8163. else
  8164. {
  8165. return 42;
  8166. }
  8167. }
  8168. }
  8169. namespace test_selection_statement_with_initializer
  8170. {
  8171. int f()
  8172. {
  8173. return 13;
  8174. }
  8175. int f2()
  8176. {
  8177. if (auto i = f(); i > 0)
  8178. {
  8179. return 3;
  8180. }
  8181. switch (auto i = f(); i + 4)
  8182. {
  8183. case 17:
  8184. return 2;
  8185. default:
  8186. return 1;
  8187. }
  8188. }
  8189. }
  8190. namespace test_template_argument_deduction_for_class_templates
  8191. {
  8192. template <typename T1, typename T2>
  8193. struct pair
  8194. {
  8195. pair (T1 p1, T2 p2)
  8196. : m1 {p1},
  8197. m2 {p2}
  8198. {}
  8199. T1 m1;
  8200. T2 m2;
  8201. };
  8202. void f()
  8203. {
  8204. [[maybe_unused]] auto p = pair{13, 42u};
  8205. }
  8206. }
  8207. namespace test_non_type_auto_template_parameters
  8208. {
  8209. template <auto n>
  8210. struct B
  8211. {};
  8212. B<5> b1;
  8213. B<'a'> b2;
  8214. }
  8215. namespace test_structured_bindings
  8216. {
  8217. int arr[2] = { 1, 2 };
  8218. std::pair<int, int> pr = { 1, 2 };
  8219. auto f1() -> int(&)[2]
  8220. {
  8221. return arr;
  8222. }
  8223. auto f2() -> std::pair<int, int>&
  8224. {
  8225. return pr;
  8226. }
  8227. struct S
  8228. {
  8229. int x1 : 2;
  8230. volatile double y1;
  8231. };
  8232. S f3()
  8233. {
  8234. return {};
  8235. }
  8236. auto [ x1, y1 ] = f1();
  8237. auto& [ xr1, yr1 ] = f1();
  8238. auto [ x2, y2 ] = f2();
  8239. auto& [ xr2, yr2 ] = f2();
  8240. const auto [ x3, y3 ] = f3();
  8241. }
  8242. namespace test_exception_spec_type_system
  8243. {
  8244. struct Good {};
  8245. struct Bad {};
  8246. void g1() noexcept;
  8247. void g2();
  8248. template<typename T>
  8249. Bad
  8250. f(T*, T*);
  8251. template<typename T1, typename T2>
  8252. Good
  8253. f(T1*, T2*);
  8254. static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
  8255. }
  8256. namespace test_inline_variables
  8257. {
  8258. template<class T> void f(T)
  8259. {}
  8260. template<class T> inline T g(T)
  8261. {
  8262. return T{};
  8263. }
  8264. template<> inline void f<>(int)
  8265. {}
  8266. template<> int g<>(int)
  8267. {
  8268. return 5;
  8269. }
  8270. }
  8271. } // namespace cxx17
  8272. #endif // __cplusplus < 201703L
  8273. _ACEOF
  8274. if ac_fn_cxx_try_compile "$LINENO"; then :
  8275. eval $cachevar=yes
  8276. else
  8277. eval $cachevar=no
  8278. fi
  8279. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  8280. CXX="$ac_save_CXX"
  8281. fi
  8282. eval ac_res=\$$cachevar
  8283. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  8284. $as_echo "$ac_res" >&6; }
  8285. if eval test x\$$cachevar = xyes; then
  8286. CXX="$CXX $switch"
  8287. if test -n "$CXXCPP" ; then
  8288. CXXCPP="$CXXCPP $switch"
  8289. fi
  8290. ac_success=yes
  8291. break
  8292. fi
  8293. done
  8294. fi
  8295. if test x$ac_success = xno; then
  8296. for alternative in ${ax_cxx_compile_alternatives}; do
  8297. for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
  8298. cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh`
  8299. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5
  8300. $as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; }
  8301. if eval \${$cachevar+:} false; then :
  8302. $as_echo_n "(cached) " >&6
  8303. else
  8304. ac_save_CXX="$CXX"
  8305. CXX="$CXX $switch"
  8306. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  8307. /* end confdefs.h. */
  8308. // If the compiler admits that it is not ready for C++11, why torture it?
  8309. // Hopefully, this will speed up the test.
  8310. #ifndef __cplusplus
  8311. #error "This is not a C++ compiler"
  8312. #elif __cplusplus < 201103L
  8313. #error "This is not a C++11 compiler"
  8314. #else
  8315. namespace cxx11
  8316. {
  8317. namespace test_static_assert
  8318. {
  8319. template <typename T>
  8320. struct check
  8321. {
  8322. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  8323. };
  8324. }
  8325. namespace test_final_override
  8326. {
  8327. struct Base
  8328. {
  8329. virtual ~Base() {}
  8330. virtual void f() {}
  8331. };
  8332. struct Derived : public Base
  8333. {
  8334. virtual ~Derived() override {}
  8335. virtual void f() override {}
  8336. };
  8337. }
  8338. namespace test_double_right_angle_brackets
  8339. {
  8340. template < typename T >
  8341. struct check {};
  8342. typedef check<void> single_type;
  8343. typedef check<check<void>> double_type;
  8344. typedef check<check<check<void>>> triple_type;
  8345. typedef check<check<check<check<void>>>> quadruple_type;
  8346. }
  8347. namespace test_decltype
  8348. {
  8349. int
  8350. f()
  8351. {
  8352. int a = 1;
  8353. decltype(a) b = 2;
  8354. return a + b;
  8355. }
  8356. }
  8357. namespace test_type_deduction
  8358. {
  8359. template < typename T1, typename T2 >
  8360. struct is_same
  8361. {
  8362. static const bool value = false;
  8363. };
  8364. template < typename T >
  8365. struct is_same<T, T>
  8366. {
  8367. static const bool value = true;
  8368. };
  8369. template < typename T1, typename T2 >
  8370. auto
  8371. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  8372. {
  8373. return a1 + a2;
  8374. }
  8375. int
  8376. test(const int c, volatile int v)
  8377. {
  8378. static_assert(is_same<int, decltype(0)>::value == true, "");
  8379. static_assert(is_same<int, decltype(c)>::value == false, "");
  8380. static_assert(is_same<int, decltype(v)>::value == false, "");
  8381. auto ac = c;
  8382. auto av = v;
  8383. auto sumi = ac + av + 'x';
  8384. auto sumf = ac + av + 1.0;
  8385. static_assert(is_same<int, decltype(ac)>::value == true, "");
  8386. static_assert(is_same<int, decltype(av)>::value == true, "");
  8387. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  8388. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  8389. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  8390. return (sumf > 0.0) ? sumi : add(c, v);
  8391. }
  8392. }
  8393. namespace test_noexcept
  8394. {
  8395. int f() { return 0; }
  8396. int g() noexcept { return 0; }
  8397. static_assert(noexcept(f()) == false, "");
  8398. static_assert(noexcept(g()) == true, "");
  8399. }
  8400. namespace test_constexpr
  8401. {
  8402. template < typename CharT >
  8403. unsigned long constexpr
  8404. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  8405. {
  8406. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  8407. }
  8408. template < typename CharT >
  8409. unsigned long constexpr
  8410. strlen_c(const CharT *const s) noexcept
  8411. {
  8412. return strlen_c_r(s, 0UL);
  8413. }
  8414. static_assert(strlen_c("") == 0UL, "");
  8415. static_assert(strlen_c("1") == 1UL, "");
  8416. static_assert(strlen_c("example") == 7UL, "");
  8417. static_assert(strlen_c("another\0example") == 7UL, "");
  8418. }
  8419. namespace test_rvalue_references
  8420. {
  8421. template < int N >
  8422. struct answer
  8423. {
  8424. static constexpr int value = N;
  8425. };
  8426. answer<1> f(int&) { return answer<1>(); }
  8427. answer<2> f(const int&) { return answer<2>(); }
  8428. answer<3> f(int&&) { return answer<3>(); }
  8429. void
  8430. test()
  8431. {
  8432. int i = 0;
  8433. const int c = 0;
  8434. static_assert(decltype(f(i))::value == 1, "");
  8435. static_assert(decltype(f(c))::value == 2, "");
  8436. static_assert(decltype(f(0))::value == 3, "");
  8437. }
  8438. }
  8439. namespace test_uniform_initialization
  8440. {
  8441. struct test
  8442. {
  8443. static const int zero {};
  8444. static const int one {1};
  8445. };
  8446. static_assert(test::zero == 0, "");
  8447. static_assert(test::one == 1, "");
  8448. }
  8449. namespace test_lambdas
  8450. {
  8451. void
  8452. test1()
  8453. {
  8454. auto lambda1 = [](){};
  8455. auto lambda2 = lambda1;
  8456. lambda1();
  8457. lambda2();
  8458. }
  8459. int
  8460. test2()
  8461. {
  8462. auto a = [](int i, int j){ return i + j; }(1, 2);
  8463. auto b = []() -> int { return '0'; }();
  8464. auto c = [=](){ return a + b; }();
  8465. auto d = [&](){ return c; }();
  8466. auto e = [a, &b](int x) mutable {
  8467. const auto identity = [](int y){ return y; };
  8468. for (auto i = 0; i < a; ++i)
  8469. a += b--;
  8470. return x + identity(a + b);
  8471. }(0);
  8472. return a + b + c + d + e;
  8473. }
  8474. int
  8475. test3()
  8476. {
  8477. const auto nullary = [](){ return 0; };
  8478. const auto unary = [](int x){ return x; };
  8479. using nullary_t = decltype(nullary);
  8480. using unary_t = decltype(unary);
  8481. const auto higher1st = [](nullary_t f){ return f(); };
  8482. const auto higher2nd = [unary](nullary_t f1){
  8483. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  8484. };
  8485. return higher1st(nullary) + higher2nd(nullary)(unary);
  8486. }
  8487. }
  8488. namespace test_variadic_templates
  8489. {
  8490. template <int...>
  8491. struct sum;
  8492. template <int N0, int... N1toN>
  8493. struct sum<N0, N1toN...>
  8494. {
  8495. static constexpr auto value = N0 + sum<N1toN...>::value;
  8496. };
  8497. template <>
  8498. struct sum<>
  8499. {
  8500. static constexpr auto value = 0;
  8501. };
  8502. static_assert(sum<>::value == 0, "");
  8503. static_assert(sum<1>::value == 1, "");
  8504. static_assert(sum<23>::value == 23, "");
  8505. static_assert(sum<1, 2>::value == 3, "");
  8506. static_assert(sum<5, 5, 11>::value == 21, "");
  8507. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  8508. }
  8509. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  8510. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  8511. // because of this.
  8512. namespace test_template_alias_sfinae
  8513. {
  8514. struct foo {};
  8515. template<typename T>
  8516. using member = typename T::member_type;
  8517. template<typename T>
  8518. void func(...) {}
  8519. template<typename T>
  8520. void func(member<T>*) {}
  8521. void test();
  8522. void test() { func<foo>(0); }
  8523. }
  8524. } // namespace cxx11
  8525. #endif // __cplusplus >= 201103L
  8526. // If the compiler admits that it is not ready for C++14, why torture it?
  8527. // Hopefully, this will speed up the test.
  8528. #ifndef __cplusplus
  8529. #error "This is not a C++ compiler"
  8530. #elif __cplusplus < 201402L
  8531. #error "This is not a C++14 compiler"
  8532. #else
  8533. namespace cxx14
  8534. {
  8535. namespace test_polymorphic_lambdas
  8536. {
  8537. int
  8538. test()
  8539. {
  8540. const auto lambda = [](auto&&... args){
  8541. const auto istiny = [](auto x){
  8542. return (sizeof(x) == 1UL) ? 1 : 0;
  8543. };
  8544. const int aretiny[] = { istiny(args)... };
  8545. return aretiny[0];
  8546. };
  8547. return lambda(1, 1L, 1.0f, '1');
  8548. }
  8549. }
  8550. namespace test_binary_literals
  8551. {
  8552. constexpr auto ivii = 0b0000000000101010;
  8553. static_assert(ivii == 42, "wrong value");
  8554. }
  8555. namespace test_generalized_constexpr
  8556. {
  8557. template < typename CharT >
  8558. constexpr unsigned long
  8559. strlen_c(const CharT *const s) noexcept
  8560. {
  8561. auto length = 0UL;
  8562. for (auto p = s; *p; ++p)
  8563. ++length;
  8564. return length;
  8565. }
  8566. static_assert(strlen_c("") == 0UL, "");
  8567. static_assert(strlen_c("x") == 1UL, "");
  8568. static_assert(strlen_c("test") == 4UL, "");
  8569. static_assert(strlen_c("another\0test") == 7UL, "");
  8570. }
  8571. namespace test_lambda_init_capture
  8572. {
  8573. int
  8574. test()
  8575. {
  8576. auto x = 0;
  8577. const auto lambda1 = [a = x](int b){ return a + b; };
  8578. const auto lambda2 = [a = lambda1(x)](){ return a; };
  8579. return lambda2();
  8580. }
  8581. }
  8582. namespace test_digit_separators
  8583. {
  8584. constexpr auto ten_million = 100'000'000;
  8585. static_assert(ten_million == 100000000, "");
  8586. }
  8587. namespace test_return_type_deduction
  8588. {
  8589. auto f(int& x) { return x; }
  8590. decltype(auto) g(int& x) { return x; }
  8591. template < typename T1, typename T2 >
  8592. struct is_same
  8593. {
  8594. static constexpr auto value = false;
  8595. };
  8596. template < typename T >
  8597. struct is_same<T, T>
  8598. {
  8599. static constexpr auto value = true;
  8600. };
  8601. int
  8602. test()
  8603. {
  8604. auto x = 0;
  8605. static_assert(is_same<int, decltype(f(x))>::value, "");
  8606. static_assert(is_same<int&, decltype(g(x))>::value, "");
  8607. return x;
  8608. }
  8609. }
  8610. } // namespace cxx14
  8611. #endif // __cplusplus >= 201402L
  8612. // If the compiler admits that it is not ready for C++17, why torture it?
  8613. // Hopefully, this will speed up the test.
  8614. #ifndef __cplusplus
  8615. #error "This is not a C++ compiler"
  8616. #elif __cplusplus < 201703L
  8617. #error "This is not a C++17 compiler"
  8618. #else
  8619. #include <initializer_list>
  8620. #include <utility>
  8621. #include <type_traits>
  8622. namespace cxx17
  8623. {
  8624. namespace test_constexpr_lambdas
  8625. {
  8626. constexpr int foo = [](){return 42;}();
  8627. }
  8628. namespace test::nested_namespace::definitions
  8629. {
  8630. }
  8631. namespace test_fold_expression
  8632. {
  8633. template<typename... Args>
  8634. int multiply(Args... args)
  8635. {
  8636. return (args * ... * 1);
  8637. }
  8638. template<typename... Args>
  8639. bool all(Args... args)
  8640. {
  8641. return (args && ...);
  8642. }
  8643. }
  8644. namespace test_extended_static_assert
  8645. {
  8646. static_assert (true);
  8647. }
  8648. namespace test_auto_brace_init_list
  8649. {
  8650. auto foo = {5};
  8651. auto bar {5};
  8652. static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
  8653. static_assert(std::is_same<int, decltype(bar)>::value);
  8654. }
  8655. namespace test_typename_in_template_template_parameter
  8656. {
  8657. template<template<typename> typename X> struct D;
  8658. }
  8659. namespace test_fallthrough_nodiscard_maybe_unused_attributes
  8660. {
  8661. int f1()
  8662. {
  8663. return 42;
  8664. }
  8665. [[nodiscard]] int f2()
  8666. {
  8667. [[maybe_unused]] auto unused = f1();
  8668. switch (f1())
  8669. {
  8670. case 17:
  8671. f1();
  8672. [[fallthrough]];
  8673. case 42:
  8674. f1();
  8675. }
  8676. return f1();
  8677. }
  8678. }
  8679. namespace test_extended_aggregate_initialization
  8680. {
  8681. struct base1
  8682. {
  8683. int b1, b2 = 42;
  8684. };
  8685. struct base2
  8686. {
  8687. base2() {
  8688. b3 = 42;
  8689. }
  8690. int b3;
  8691. };
  8692. struct derived : base1, base2
  8693. {
  8694. int d;
  8695. };
  8696. derived d1 {{1, 2}, {}, 4}; // full initialization
  8697. derived d2 {{}, {}, 4}; // value-initialized bases
  8698. }
  8699. namespace test_general_range_based_for_loop
  8700. {
  8701. struct iter
  8702. {
  8703. int i;
  8704. int& operator* ()
  8705. {
  8706. return i;
  8707. }
  8708. const int& operator* () const
  8709. {
  8710. return i;
  8711. }
  8712. iter& operator++()
  8713. {
  8714. ++i;
  8715. return *this;
  8716. }
  8717. };
  8718. struct sentinel
  8719. {
  8720. int i;
  8721. };
  8722. bool operator== (const iter& i, const sentinel& s)
  8723. {
  8724. return i.i == s.i;
  8725. }
  8726. bool operator!= (const iter& i, const sentinel& s)
  8727. {
  8728. return !(i == s);
  8729. }
  8730. struct range
  8731. {
  8732. iter begin() const
  8733. {
  8734. return {0};
  8735. }
  8736. sentinel end() const
  8737. {
  8738. return {5};
  8739. }
  8740. };
  8741. void f()
  8742. {
  8743. range r {};
  8744. for (auto i : r)
  8745. {
  8746. [[maybe_unused]] auto v = i;
  8747. }
  8748. }
  8749. }
  8750. namespace test_lambda_capture_asterisk_this_by_value
  8751. {
  8752. struct t
  8753. {
  8754. int i;
  8755. int foo()
  8756. {
  8757. return [*this]()
  8758. {
  8759. return i;
  8760. }();
  8761. }
  8762. };
  8763. }
  8764. namespace test_enum_class_construction
  8765. {
  8766. enum class byte : unsigned char
  8767. {};
  8768. byte foo {42};
  8769. }
  8770. namespace test_constexpr_if
  8771. {
  8772. template <bool cond>
  8773. int f ()
  8774. {
  8775. if constexpr(cond)
  8776. {
  8777. return 13;
  8778. }
  8779. else
  8780. {
  8781. return 42;
  8782. }
  8783. }
  8784. }
  8785. namespace test_selection_statement_with_initializer
  8786. {
  8787. int f()
  8788. {
  8789. return 13;
  8790. }
  8791. int f2()
  8792. {
  8793. if (auto i = f(); i > 0)
  8794. {
  8795. return 3;
  8796. }
  8797. switch (auto i = f(); i + 4)
  8798. {
  8799. case 17:
  8800. return 2;
  8801. default:
  8802. return 1;
  8803. }
  8804. }
  8805. }
  8806. namespace test_template_argument_deduction_for_class_templates
  8807. {
  8808. template <typename T1, typename T2>
  8809. struct pair
  8810. {
  8811. pair (T1 p1, T2 p2)
  8812. : m1 {p1},
  8813. m2 {p2}
  8814. {}
  8815. T1 m1;
  8816. T2 m2;
  8817. };
  8818. void f()
  8819. {
  8820. [[maybe_unused]] auto p = pair{13, 42u};
  8821. }
  8822. }
  8823. namespace test_non_type_auto_template_parameters
  8824. {
  8825. template <auto n>
  8826. struct B
  8827. {};
  8828. B<5> b1;
  8829. B<'a'> b2;
  8830. }
  8831. namespace test_structured_bindings
  8832. {
  8833. int arr[2] = { 1, 2 };
  8834. std::pair<int, int> pr = { 1, 2 };
  8835. auto f1() -> int(&)[2]
  8836. {
  8837. return arr;
  8838. }
  8839. auto f2() -> std::pair<int, int>&
  8840. {
  8841. return pr;
  8842. }
  8843. struct S
  8844. {
  8845. int x1 : 2;
  8846. volatile double y1;
  8847. };
  8848. S f3()
  8849. {
  8850. return {};
  8851. }
  8852. auto [ x1, y1 ] = f1();
  8853. auto& [ xr1, yr1 ] = f1();
  8854. auto [ x2, y2 ] = f2();
  8855. auto& [ xr2, yr2 ] = f2();
  8856. const auto [ x3, y3 ] = f3();
  8857. }
  8858. namespace test_exception_spec_type_system
  8859. {
  8860. struct Good {};
  8861. struct Bad {};
  8862. void g1() noexcept;
  8863. void g2();
  8864. template<typename T>
  8865. Bad
  8866. f(T*, T*);
  8867. template<typename T1, typename T2>
  8868. Good
  8869. f(T1*, T2*);
  8870. static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
  8871. }
  8872. namespace test_inline_variables
  8873. {
  8874. template<class T> void f(T)
  8875. {}
  8876. template<class T> inline T g(T)
  8877. {
  8878. return T{};
  8879. }
  8880. template<> inline void f<>(int)
  8881. {}
  8882. template<> int g<>(int)
  8883. {
  8884. return 5;
  8885. }
  8886. }
  8887. } // namespace cxx17
  8888. #endif // __cplusplus < 201703L
  8889. _ACEOF
  8890. if ac_fn_cxx_try_compile "$LINENO"; then :
  8891. eval $cachevar=yes
  8892. else
  8893. eval $cachevar=no
  8894. fi
  8895. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  8896. CXX="$ac_save_CXX"
  8897. fi
  8898. eval ac_res=\$$cachevar
  8899. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  8900. $as_echo "$ac_res" >&6; }
  8901. if eval test x\$$cachevar = xyes; then
  8902. CXX="$CXX $switch"
  8903. if test -n "$CXXCPP" ; then
  8904. CXXCPP="$CXXCPP $switch"
  8905. fi
  8906. ac_success=yes
  8907. break
  8908. fi
  8909. done
  8910. if test x$ac_success = xyes; then
  8911. break
  8912. fi
  8913. done
  8914. fi
  8915. ac_ext=cpp
  8916. ac_cpp='$CXXCPP $CPPFLAGS'
  8917. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  8918. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  8919. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  8920. if test x$ax_cxx_compile_cxx17_required = xtrue; then
  8921. if test x$ac_success = xno; then
  8922. as_fn_error $? "*** A compiler with support for C++17 language features is required." "$LINENO" 5
  8923. fi
  8924. fi
  8925. if test x$ac_success = xno; then
  8926. HAVE_CXX17=0
  8927. { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5
  8928. $as_echo "$as_me: No compiler with C++17 support was found" >&6;}
  8929. else
  8930. HAVE_CXX17=1
  8931. $as_echo "#define HAVE_CXX17 1" >>confdefs.h
  8932. fi
  8933. else
  8934. ax_cxx_compile_alternatives="17 1z" ax_cxx_compile_cxx17_required=true
  8935. ac_ext=cpp
  8936. ac_cpp='$CXXCPP $CPPFLAGS'
  8937. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  8938. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  8939. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  8940. ac_success=no
  8941. cachevar=ax_cv_cxx_compile_cxx17
  8942. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features by default" >&5
  8943. $as_echo_n "checking whether $CXX supports C++17 features by default... " >&6; }
  8944. if eval \${$cachevar+:} false; then :
  8945. $as_echo_n "(cached) " >&6
  8946. else
  8947. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  8948. /* end confdefs.h. */
  8949. // If the compiler admits that it is not ready for C++11, why torture it?
  8950. // Hopefully, this will speed up the test.
  8951. #ifndef __cplusplus
  8952. #error "This is not a C++ compiler"
  8953. #elif __cplusplus < 201103L
  8954. #error "This is not a C++11 compiler"
  8955. #else
  8956. namespace cxx11
  8957. {
  8958. namespace test_static_assert
  8959. {
  8960. template <typename T>
  8961. struct check
  8962. {
  8963. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  8964. };
  8965. }
  8966. namespace test_final_override
  8967. {
  8968. struct Base
  8969. {
  8970. virtual ~Base() {}
  8971. virtual void f() {}
  8972. };
  8973. struct Derived : public Base
  8974. {
  8975. virtual ~Derived() override {}
  8976. virtual void f() override {}
  8977. };
  8978. }
  8979. namespace test_double_right_angle_brackets
  8980. {
  8981. template < typename T >
  8982. struct check {};
  8983. typedef check<void> single_type;
  8984. typedef check<check<void>> double_type;
  8985. typedef check<check<check<void>>> triple_type;
  8986. typedef check<check<check<check<void>>>> quadruple_type;
  8987. }
  8988. namespace test_decltype
  8989. {
  8990. int
  8991. f()
  8992. {
  8993. int a = 1;
  8994. decltype(a) b = 2;
  8995. return a + b;
  8996. }
  8997. }
  8998. namespace test_type_deduction
  8999. {
  9000. template < typename T1, typename T2 >
  9001. struct is_same
  9002. {
  9003. static const bool value = false;
  9004. };
  9005. template < typename T >
  9006. struct is_same<T, T>
  9007. {
  9008. static const bool value = true;
  9009. };
  9010. template < typename T1, typename T2 >
  9011. auto
  9012. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  9013. {
  9014. return a1 + a2;
  9015. }
  9016. int
  9017. test(const int c, volatile int v)
  9018. {
  9019. static_assert(is_same<int, decltype(0)>::value == true, "");
  9020. static_assert(is_same<int, decltype(c)>::value == false, "");
  9021. static_assert(is_same<int, decltype(v)>::value == false, "");
  9022. auto ac = c;
  9023. auto av = v;
  9024. auto sumi = ac + av + 'x';
  9025. auto sumf = ac + av + 1.0;
  9026. static_assert(is_same<int, decltype(ac)>::value == true, "");
  9027. static_assert(is_same<int, decltype(av)>::value == true, "");
  9028. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  9029. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  9030. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  9031. return (sumf > 0.0) ? sumi : add(c, v);
  9032. }
  9033. }
  9034. namespace test_noexcept
  9035. {
  9036. int f() { return 0; }
  9037. int g() noexcept { return 0; }
  9038. static_assert(noexcept(f()) == false, "");
  9039. static_assert(noexcept(g()) == true, "");
  9040. }
  9041. namespace test_constexpr
  9042. {
  9043. template < typename CharT >
  9044. unsigned long constexpr
  9045. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  9046. {
  9047. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  9048. }
  9049. template < typename CharT >
  9050. unsigned long constexpr
  9051. strlen_c(const CharT *const s) noexcept
  9052. {
  9053. return strlen_c_r(s, 0UL);
  9054. }
  9055. static_assert(strlen_c("") == 0UL, "");
  9056. static_assert(strlen_c("1") == 1UL, "");
  9057. static_assert(strlen_c("example") == 7UL, "");
  9058. static_assert(strlen_c("another\0example") == 7UL, "");
  9059. }
  9060. namespace test_rvalue_references
  9061. {
  9062. template < int N >
  9063. struct answer
  9064. {
  9065. static constexpr int value = N;
  9066. };
  9067. answer<1> f(int&) { return answer<1>(); }
  9068. answer<2> f(const int&) { return answer<2>(); }
  9069. answer<3> f(int&&) { return answer<3>(); }
  9070. void
  9071. test()
  9072. {
  9073. int i = 0;
  9074. const int c = 0;
  9075. static_assert(decltype(f(i))::value == 1, "");
  9076. static_assert(decltype(f(c))::value == 2, "");
  9077. static_assert(decltype(f(0))::value == 3, "");
  9078. }
  9079. }
  9080. namespace test_uniform_initialization
  9081. {
  9082. struct test
  9083. {
  9084. static const int zero {};
  9085. static const int one {1};
  9086. };
  9087. static_assert(test::zero == 0, "");
  9088. static_assert(test::one == 1, "");
  9089. }
  9090. namespace test_lambdas
  9091. {
  9092. void
  9093. test1()
  9094. {
  9095. auto lambda1 = [](){};
  9096. auto lambda2 = lambda1;
  9097. lambda1();
  9098. lambda2();
  9099. }
  9100. int
  9101. test2()
  9102. {
  9103. auto a = [](int i, int j){ return i + j; }(1, 2);
  9104. auto b = []() -> int { return '0'; }();
  9105. auto c = [=](){ return a + b; }();
  9106. auto d = [&](){ return c; }();
  9107. auto e = [a, &b](int x) mutable {
  9108. const auto identity = [](int y){ return y; };
  9109. for (auto i = 0; i < a; ++i)
  9110. a += b--;
  9111. return x + identity(a + b);
  9112. }(0);
  9113. return a + b + c + d + e;
  9114. }
  9115. int
  9116. test3()
  9117. {
  9118. const auto nullary = [](){ return 0; };
  9119. const auto unary = [](int x){ return x; };
  9120. using nullary_t = decltype(nullary);
  9121. using unary_t = decltype(unary);
  9122. const auto higher1st = [](nullary_t f){ return f(); };
  9123. const auto higher2nd = [unary](nullary_t f1){
  9124. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  9125. };
  9126. return higher1st(nullary) + higher2nd(nullary)(unary);
  9127. }
  9128. }
  9129. namespace test_variadic_templates
  9130. {
  9131. template <int...>
  9132. struct sum;
  9133. template <int N0, int... N1toN>
  9134. struct sum<N0, N1toN...>
  9135. {
  9136. static constexpr auto value = N0 + sum<N1toN...>::value;
  9137. };
  9138. template <>
  9139. struct sum<>
  9140. {
  9141. static constexpr auto value = 0;
  9142. };
  9143. static_assert(sum<>::value == 0, "");
  9144. static_assert(sum<1>::value == 1, "");
  9145. static_assert(sum<23>::value == 23, "");
  9146. static_assert(sum<1, 2>::value == 3, "");
  9147. static_assert(sum<5, 5, 11>::value == 21, "");
  9148. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  9149. }
  9150. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  9151. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  9152. // because of this.
  9153. namespace test_template_alias_sfinae
  9154. {
  9155. struct foo {};
  9156. template<typename T>
  9157. using member = typename T::member_type;
  9158. template<typename T>
  9159. void func(...) {}
  9160. template<typename T>
  9161. void func(member<T>*) {}
  9162. void test();
  9163. void test() { func<foo>(0); }
  9164. }
  9165. } // namespace cxx11
  9166. #endif // __cplusplus >= 201103L
  9167. // If the compiler admits that it is not ready for C++14, why torture it?
  9168. // Hopefully, this will speed up the test.
  9169. #ifndef __cplusplus
  9170. #error "This is not a C++ compiler"
  9171. #elif __cplusplus < 201402L
  9172. #error "This is not a C++14 compiler"
  9173. #else
  9174. namespace cxx14
  9175. {
  9176. namespace test_polymorphic_lambdas
  9177. {
  9178. int
  9179. test()
  9180. {
  9181. const auto lambda = [](auto&&... args){
  9182. const auto istiny = [](auto x){
  9183. return (sizeof(x) == 1UL) ? 1 : 0;
  9184. };
  9185. const int aretiny[] = { istiny(args)... };
  9186. return aretiny[0];
  9187. };
  9188. return lambda(1, 1L, 1.0f, '1');
  9189. }
  9190. }
  9191. namespace test_binary_literals
  9192. {
  9193. constexpr auto ivii = 0b0000000000101010;
  9194. static_assert(ivii == 42, "wrong value");
  9195. }
  9196. namespace test_generalized_constexpr
  9197. {
  9198. template < typename CharT >
  9199. constexpr unsigned long
  9200. strlen_c(const CharT *const s) noexcept
  9201. {
  9202. auto length = 0UL;
  9203. for (auto p = s; *p; ++p)
  9204. ++length;
  9205. return length;
  9206. }
  9207. static_assert(strlen_c("") == 0UL, "");
  9208. static_assert(strlen_c("x") == 1UL, "");
  9209. static_assert(strlen_c("test") == 4UL, "");
  9210. static_assert(strlen_c("another\0test") == 7UL, "");
  9211. }
  9212. namespace test_lambda_init_capture
  9213. {
  9214. int
  9215. test()
  9216. {
  9217. auto x = 0;
  9218. const auto lambda1 = [a = x](int b){ return a + b; };
  9219. const auto lambda2 = [a = lambda1(x)](){ return a; };
  9220. return lambda2();
  9221. }
  9222. }
  9223. namespace test_digit_separators
  9224. {
  9225. constexpr auto ten_million = 100'000'000;
  9226. static_assert(ten_million == 100000000, "");
  9227. }
  9228. namespace test_return_type_deduction
  9229. {
  9230. auto f(int& x) { return x; }
  9231. decltype(auto) g(int& x) { return x; }
  9232. template < typename T1, typename T2 >
  9233. struct is_same
  9234. {
  9235. static constexpr auto value = false;
  9236. };
  9237. template < typename T >
  9238. struct is_same<T, T>
  9239. {
  9240. static constexpr auto value = true;
  9241. };
  9242. int
  9243. test()
  9244. {
  9245. auto x = 0;
  9246. static_assert(is_same<int, decltype(f(x))>::value, "");
  9247. static_assert(is_same<int&, decltype(g(x))>::value, "");
  9248. return x;
  9249. }
  9250. }
  9251. } // namespace cxx14
  9252. #endif // __cplusplus >= 201402L
  9253. // If the compiler admits that it is not ready for C++17, why torture it?
  9254. // Hopefully, this will speed up the test.
  9255. #ifndef __cplusplus
  9256. #error "This is not a C++ compiler"
  9257. #elif __cplusplus < 201703L
  9258. #error "This is not a C++17 compiler"
  9259. #else
  9260. #include <initializer_list>
  9261. #include <utility>
  9262. #include <type_traits>
  9263. namespace cxx17
  9264. {
  9265. namespace test_constexpr_lambdas
  9266. {
  9267. constexpr int foo = [](){return 42;}();
  9268. }
  9269. namespace test::nested_namespace::definitions
  9270. {
  9271. }
  9272. namespace test_fold_expression
  9273. {
  9274. template<typename... Args>
  9275. int multiply(Args... args)
  9276. {
  9277. return (args * ... * 1);
  9278. }
  9279. template<typename... Args>
  9280. bool all(Args... args)
  9281. {
  9282. return (args && ...);
  9283. }
  9284. }
  9285. namespace test_extended_static_assert
  9286. {
  9287. static_assert (true);
  9288. }
  9289. namespace test_auto_brace_init_list
  9290. {
  9291. auto foo = {5};
  9292. auto bar {5};
  9293. static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
  9294. static_assert(std::is_same<int, decltype(bar)>::value);
  9295. }
  9296. namespace test_typename_in_template_template_parameter
  9297. {
  9298. template<template<typename> typename X> struct D;
  9299. }
  9300. namespace test_fallthrough_nodiscard_maybe_unused_attributes
  9301. {
  9302. int f1()
  9303. {
  9304. return 42;
  9305. }
  9306. [[nodiscard]] int f2()
  9307. {
  9308. [[maybe_unused]] auto unused = f1();
  9309. switch (f1())
  9310. {
  9311. case 17:
  9312. f1();
  9313. [[fallthrough]];
  9314. case 42:
  9315. f1();
  9316. }
  9317. return f1();
  9318. }
  9319. }
  9320. namespace test_extended_aggregate_initialization
  9321. {
  9322. struct base1
  9323. {
  9324. int b1, b2 = 42;
  9325. };
  9326. struct base2
  9327. {
  9328. base2() {
  9329. b3 = 42;
  9330. }
  9331. int b3;
  9332. };
  9333. struct derived : base1, base2
  9334. {
  9335. int d;
  9336. };
  9337. derived d1 {{1, 2}, {}, 4}; // full initialization
  9338. derived d2 {{}, {}, 4}; // value-initialized bases
  9339. }
  9340. namespace test_general_range_based_for_loop
  9341. {
  9342. struct iter
  9343. {
  9344. int i;
  9345. int& operator* ()
  9346. {
  9347. return i;
  9348. }
  9349. const int& operator* () const
  9350. {
  9351. return i;
  9352. }
  9353. iter& operator++()
  9354. {
  9355. ++i;
  9356. return *this;
  9357. }
  9358. };
  9359. struct sentinel
  9360. {
  9361. int i;
  9362. };
  9363. bool operator== (const iter& i, const sentinel& s)
  9364. {
  9365. return i.i == s.i;
  9366. }
  9367. bool operator!= (const iter& i, const sentinel& s)
  9368. {
  9369. return !(i == s);
  9370. }
  9371. struct range
  9372. {
  9373. iter begin() const
  9374. {
  9375. return {0};
  9376. }
  9377. sentinel end() const
  9378. {
  9379. return {5};
  9380. }
  9381. };
  9382. void f()
  9383. {
  9384. range r {};
  9385. for (auto i : r)
  9386. {
  9387. [[maybe_unused]] auto v = i;
  9388. }
  9389. }
  9390. }
  9391. namespace test_lambda_capture_asterisk_this_by_value
  9392. {
  9393. struct t
  9394. {
  9395. int i;
  9396. int foo()
  9397. {
  9398. return [*this]()
  9399. {
  9400. return i;
  9401. }();
  9402. }
  9403. };
  9404. }
  9405. namespace test_enum_class_construction
  9406. {
  9407. enum class byte : unsigned char
  9408. {};
  9409. byte foo {42};
  9410. }
  9411. namespace test_constexpr_if
  9412. {
  9413. template <bool cond>
  9414. int f ()
  9415. {
  9416. if constexpr(cond)
  9417. {
  9418. return 13;
  9419. }
  9420. else
  9421. {
  9422. return 42;
  9423. }
  9424. }
  9425. }
  9426. namespace test_selection_statement_with_initializer
  9427. {
  9428. int f()
  9429. {
  9430. return 13;
  9431. }
  9432. int f2()
  9433. {
  9434. if (auto i = f(); i > 0)
  9435. {
  9436. return 3;
  9437. }
  9438. switch (auto i = f(); i + 4)
  9439. {
  9440. case 17:
  9441. return 2;
  9442. default:
  9443. return 1;
  9444. }
  9445. }
  9446. }
  9447. namespace test_template_argument_deduction_for_class_templates
  9448. {
  9449. template <typename T1, typename T2>
  9450. struct pair
  9451. {
  9452. pair (T1 p1, T2 p2)
  9453. : m1 {p1},
  9454. m2 {p2}
  9455. {}
  9456. T1 m1;
  9457. T2 m2;
  9458. };
  9459. void f()
  9460. {
  9461. [[maybe_unused]] auto p = pair{13, 42u};
  9462. }
  9463. }
  9464. namespace test_non_type_auto_template_parameters
  9465. {
  9466. template <auto n>
  9467. struct B
  9468. {};
  9469. B<5> b1;
  9470. B<'a'> b2;
  9471. }
  9472. namespace test_structured_bindings
  9473. {
  9474. int arr[2] = { 1, 2 };
  9475. std::pair<int, int> pr = { 1, 2 };
  9476. auto f1() -> int(&)[2]
  9477. {
  9478. return arr;
  9479. }
  9480. auto f2() -> std::pair<int, int>&
  9481. {
  9482. return pr;
  9483. }
  9484. struct S
  9485. {
  9486. int x1 : 2;
  9487. volatile double y1;
  9488. };
  9489. S f3()
  9490. {
  9491. return {};
  9492. }
  9493. auto [ x1, y1 ] = f1();
  9494. auto& [ xr1, yr1 ] = f1();
  9495. auto [ x2, y2 ] = f2();
  9496. auto& [ xr2, yr2 ] = f2();
  9497. const auto [ x3, y3 ] = f3();
  9498. }
  9499. namespace test_exception_spec_type_system
  9500. {
  9501. struct Good {};
  9502. struct Bad {};
  9503. void g1() noexcept;
  9504. void g2();
  9505. template<typename T>
  9506. Bad
  9507. f(T*, T*);
  9508. template<typename T1, typename T2>
  9509. Good
  9510. f(T1*, T2*);
  9511. static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
  9512. }
  9513. namespace test_inline_variables
  9514. {
  9515. template<class T> void f(T)
  9516. {}
  9517. template<class T> inline T g(T)
  9518. {
  9519. return T{};
  9520. }
  9521. template<> inline void f<>(int)
  9522. {}
  9523. template<> int g<>(int)
  9524. {
  9525. return 5;
  9526. }
  9527. }
  9528. } // namespace cxx17
  9529. #endif // __cplusplus < 201703L
  9530. _ACEOF
  9531. if ac_fn_cxx_try_compile "$LINENO"; then :
  9532. eval $cachevar=yes
  9533. else
  9534. eval $cachevar=no
  9535. fi
  9536. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  9537. fi
  9538. eval ac_res=\$$cachevar
  9539. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  9540. $as_echo "$ac_res" >&6; }
  9541. if eval test x\$$cachevar = xyes; then :
  9542. ac_success=yes
  9543. fi
  9544. if test x$ac_success = xno; then
  9545. for alternative in ${ax_cxx_compile_alternatives}; do
  9546. switch="-std=gnu++${alternative}"
  9547. cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh`
  9548. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5
  9549. $as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; }
  9550. if eval \${$cachevar+:} false; then :
  9551. $as_echo_n "(cached) " >&6
  9552. else
  9553. ac_save_CXX="$CXX"
  9554. CXX="$CXX $switch"
  9555. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  9556. /* end confdefs.h. */
  9557. // If the compiler admits that it is not ready for C++11, why torture it?
  9558. // Hopefully, this will speed up the test.
  9559. #ifndef __cplusplus
  9560. #error "This is not a C++ compiler"
  9561. #elif __cplusplus < 201103L
  9562. #error "This is not a C++11 compiler"
  9563. #else
  9564. namespace cxx11
  9565. {
  9566. namespace test_static_assert
  9567. {
  9568. template <typename T>
  9569. struct check
  9570. {
  9571. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  9572. };
  9573. }
  9574. namespace test_final_override
  9575. {
  9576. struct Base
  9577. {
  9578. virtual ~Base() {}
  9579. virtual void f() {}
  9580. };
  9581. struct Derived : public Base
  9582. {
  9583. virtual ~Derived() override {}
  9584. virtual void f() override {}
  9585. };
  9586. }
  9587. namespace test_double_right_angle_brackets
  9588. {
  9589. template < typename T >
  9590. struct check {};
  9591. typedef check<void> single_type;
  9592. typedef check<check<void>> double_type;
  9593. typedef check<check<check<void>>> triple_type;
  9594. typedef check<check<check<check<void>>>> quadruple_type;
  9595. }
  9596. namespace test_decltype
  9597. {
  9598. int
  9599. f()
  9600. {
  9601. int a = 1;
  9602. decltype(a) b = 2;
  9603. return a + b;
  9604. }
  9605. }
  9606. namespace test_type_deduction
  9607. {
  9608. template < typename T1, typename T2 >
  9609. struct is_same
  9610. {
  9611. static const bool value = false;
  9612. };
  9613. template < typename T >
  9614. struct is_same<T, T>
  9615. {
  9616. static const bool value = true;
  9617. };
  9618. template < typename T1, typename T2 >
  9619. auto
  9620. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  9621. {
  9622. return a1 + a2;
  9623. }
  9624. int
  9625. test(const int c, volatile int v)
  9626. {
  9627. static_assert(is_same<int, decltype(0)>::value == true, "");
  9628. static_assert(is_same<int, decltype(c)>::value == false, "");
  9629. static_assert(is_same<int, decltype(v)>::value == false, "");
  9630. auto ac = c;
  9631. auto av = v;
  9632. auto sumi = ac + av + 'x';
  9633. auto sumf = ac + av + 1.0;
  9634. static_assert(is_same<int, decltype(ac)>::value == true, "");
  9635. static_assert(is_same<int, decltype(av)>::value == true, "");
  9636. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  9637. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  9638. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  9639. return (sumf > 0.0) ? sumi : add(c, v);
  9640. }
  9641. }
  9642. namespace test_noexcept
  9643. {
  9644. int f() { return 0; }
  9645. int g() noexcept { return 0; }
  9646. static_assert(noexcept(f()) == false, "");
  9647. static_assert(noexcept(g()) == true, "");
  9648. }
  9649. namespace test_constexpr
  9650. {
  9651. template < typename CharT >
  9652. unsigned long constexpr
  9653. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  9654. {
  9655. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  9656. }
  9657. template < typename CharT >
  9658. unsigned long constexpr
  9659. strlen_c(const CharT *const s) noexcept
  9660. {
  9661. return strlen_c_r(s, 0UL);
  9662. }
  9663. static_assert(strlen_c("") == 0UL, "");
  9664. static_assert(strlen_c("1") == 1UL, "");
  9665. static_assert(strlen_c("example") == 7UL, "");
  9666. static_assert(strlen_c("another\0example") == 7UL, "");
  9667. }
  9668. namespace test_rvalue_references
  9669. {
  9670. template < int N >
  9671. struct answer
  9672. {
  9673. static constexpr int value = N;
  9674. };
  9675. answer<1> f(int&) { return answer<1>(); }
  9676. answer<2> f(const int&) { return answer<2>(); }
  9677. answer<3> f(int&&) { return answer<3>(); }
  9678. void
  9679. test()
  9680. {
  9681. int i = 0;
  9682. const int c = 0;
  9683. static_assert(decltype(f(i))::value == 1, "");
  9684. static_assert(decltype(f(c))::value == 2, "");
  9685. static_assert(decltype(f(0))::value == 3, "");
  9686. }
  9687. }
  9688. namespace test_uniform_initialization
  9689. {
  9690. struct test
  9691. {
  9692. static const int zero {};
  9693. static const int one {1};
  9694. };
  9695. static_assert(test::zero == 0, "");
  9696. static_assert(test::one == 1, "");
  9697. }
  9698. namespace test_lambdas
  9699. {
  9700. void
  9701. test1()
  9702. {
  9703. auto lambda1 = [](){};
  9704. auto lambda2 = lambda1;
  9705. lambda1();
  9706. lambda2();
  9707. }
  9708. int
  9709. test2()
  9710. {
  9711. auto a = [](int i, int j){ return i + j; }(1, 2);
  9712. auto b = []() -> int { return '0'; }();
  9713. auto c = [=](){ return a + b; }();
  9714. auto d = [&](){ return c; }();
  9715. auto e = [a, &b](int x) mutable {
  9716. const auto identity = [](int y){ return y; };
  9717. for (auto i = 0; i < a; ++i)
  9718. a += b--;
  9719. return x + identity(a + b);
  9720. }(0);
  9721. return a + b + c + d + e;
  9722. }
  9723. int
  9724. test3()
  9725. {
  9726. const auto nullary = [](){ return 0; };
  9727. const auto unary = [](int x){ return x; };
  9728. using nullary_t = decltype(nullary);
  9729. using unary_t = decltype(unary);
  9730. const auto higher1st = [](nullary_t f){ return f(); };
  9731. const auto higher2nd = [unary](nullary_t f1){
  9732. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  9733. };
  9734. return higher1st(nullary) + higher2nd(nullary)(unary);
  9735. }
  9736. }
  9737. namespace test_variadic_templates
  9738. {
  9739. template <int...>
  9740. struct sum;
  9741. template <int N0, int... N1toN>
  9742. struct sum<N0, N1toN...>
  9743. {
  9744. static constexpr auto value = N0 + sum<N1toN...>::value;
  9745. };
  9746. template <>
  9747. struct sum<>
  9748. {
  9749. static constexpr auto value = 0;
  9750. };
  9751. static_assert(sum<>::value == 0, "");
  9752. static_assert(sum<1>::value == 1, "");
  9753. static_assert(sum<23>::value == 23, "");
  9754. static_assert(sum<1, 2>::value == 3, "");
  9755. static_assert(sum<5, 5, 11>::value == 21, "");
  9756. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  9757. }
  9758. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  9759. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  9760. // because of this.
  9761. namespace test_template_alias_sfinae
  9762. {
  9763. struct foo {};
  9764. template<typename T>
  9765. using member = typename T::member_type;
  9766. template<typename T>
  9767. void func(...) {}
  9768. template<typename T>
  9769. void func(member<T>*) {}
  9770. void test();
  9771. void test() { func<foo>(0); }
  9772. }
  9773. } // namespace cxx11
  9774. #endif // __cplusplus >= 201103L
  9775. // If the compiler admits that it is not ready for C++14, why torture it?
  9776. // Hopefully, this will speed up the test.
  9777. #ifndef __cplusplus
  9778. #error "This is not a C++ compiler"
  9779. #elif __cplusplus < 201402L
  9780. #error "This is not a C++14 compiler"
  9781. #else
  9782. namespace cxx14
  9783. {
  9784. namespace test_polymorphic_lambdas
  9785. {
  9786. int
  9787. test()
  9788. {
  9789. const auto lambda = [](auto&&... args){
  9790. const auto istiny = [](auto x){
  9791. return (sizeof(x) == 1UL) ? 1 : 0;
  9792. };
  9793. const int aretiny[] = { istiny(args)... };
  9794. return aretiny[0];
  9795. };
  9796. return lambda(1, 1L, 1.0f, '1');
  9797. }
  9798. }
  9799. namespace test_binary_literals
  9800. {
  9801. constexpr auto ivii = 0b0000000000101010;
  9802. static_assert(ivii == 42, "wrong value");
  9803. }
  9804. namespace test_generalized_constexpr
  9805. {
  9806. template < typename CharT >
  9807. constexpr unsigned long
  9808. strlen_c(const CharT *const s) noexcept
  9809. {
  9810. auto length = 0UL;
  9811. for (auto p = s; *p; ++p)
  9812. ++length;
  9813. return length;
  9814. }
  9815. static_assert(strlen_c("") == 0UL, "");
  9816. static_assert(strlen_c("x") == 1UL, "");
  9817. static_assert(strlen_c("test") == 4UL, "");
  9818. static_assert(strlen_c("another\0test") == 7UL, "");
  9819. }
  9820. namespace test_lambda_init_capture
  9821. {
  9822. int
  9823. test()
  9824. {
  9825. auto x = 0;
  9826. const auto lambda1 = [a = x](int b){ return a + b; };
  9827. const auto lambda2 = [a = lambda1(x)](){ return a; };
  9828. return lambda2();
  9829. }
  9830. }
  9831. namespace test_digit_separators
  9832. {
  9833. constexpr auto ten_million = 100'000'000;
  9834. static_assert(ten_million == 100000000, "");
  9835. }
  9836. namespace test_return_type_deduction
  9837. {
  9838. auto f(int& x) { return x; }
  9839. decltype(auto) g(int& x) { return x; }
  9840. template < typename T1, typename T2 >
  9841. struct is_same
  9842. {
  9843. static constexpr auto value = false;
  9844. };
  9845. template < typename T >
  9846. struct is_same<T, T>
  9847. {
  9848. static constexpr auto value = true;
  9849. };
  9850. int
  9851. test()
  9852. {
  9853. auto x = 0;
  9854. static_assert(is_same<int, decltype(f(x))>::value, "");
  9855. static_assert(is_same<int&, decltype(g(x))>::value, "");
  9856. return x;
  9857. }
  9858. }
  9859. } // namespace cxx14
  9860. #endif // __cplusplus >= 201402L
  9861. // If the compiler admits that it is not ready for C++17, why torture it?
  9862. // Hopefully, this will speed up the test.
  9863. #ifndef __cplusplus
  9864. #error "This is not a C++ compiler"
  9865. #elif __cplusplus < 201703L
  9866. #error "This is not a C++17 compiler"
  9867. #else
  9868. #include <initializer_list>
  9869. #include <utility>
  9870. #include <type_traits>
  9871. namespace cxx17
  9872. {
  9873. namespace test_constexpr_lambdas
  9874. {
  9875. constexpr int foo = [](){return 42;}();
  9876. }
  9877. namespace test::nested_namespace::definitions
  9878. {
  9879. }
  9880. namespace test_fold_expression
  9881. {
  9882. template<typename... Args>
  9883. int multiply(Args... args)
  9884. {
  9885. return (args * ... * 1);
  9886. }
  9887. template<typename... Args>
  9888. bool all(Args... args)
  9889. {
  9890. return (args && ...);
  9891. }
  9892. }
  9893. namespace test_extended_static_assert
  9894. {
  9895. static_assert (true);
  9896. }
  9897. namespace test_auto_brace_init_list
  9898. {
  9899. auto foo = {5};
  9900. auto bar {5};
  9901. static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
  9902. static_assert(std::is_same<int, decltype(bar)>::value);
  9903. }
  9904. namespace test_typename_in_template_template_parameter
  9905. {
  9906. template<template<typename> typename X> struct D;
  9907. }
  9908. namespace test_fallthrough_nodiscard_maybe_unused_attributes
  9909. {
  9910. int f1()
  9911. {
  9912. return 42;
  9913. }
  9914. [[nodiscard]] int f2()
  9915. {
  9916. [[maybe_unused]] auto unused = f1();
  9917. switch (f1())
  9918. {
  9919. case 17:
  9920. f1();
  9921. [[fallthrough]];
  9922. case 42:
  9923. f1();
  9924. }
  9925. return f1();
  9926. }
  9927. }
  9928. namespace test_extended_aggregate_initialization
  9929. {
  9930. struct base1
  9931. {
  9932. int b1, b2 = 42;
  9933. };
  9934. struct base2
  9935. {
  9936. base2() {
  9937. b3 = 42;
  9938. }
  9939. int b3;
  9940. };
  9941. struct derived : base1, base2
  9942. {
  9943. int d;
  9944. };
  9945. derived d1 {{1, 2}, {}, 4}; // full initialization
  9946. derived d2 {{}, {}, 4}; // value-initialized bases
  9947. }
  9948. namespace test_general_range_based_for_loop
  9949. {
  9950. struct iter
  9951. {
  9952. int i;
  9953. int& operator* ()
  9954. {
  9955. return i;
  9956. }
  9957. const int& operator* () const
  9958. {
  9959. return i;
  9960. }
  9961. iter& operator++()
  9962. {
  9963. ++i;
  9964. return *this;
  9965. }
  9966. };
  9967. struct sentinel
  9968. {
  9969. int i;
  9970. };
  9971. bool operator== (const iter& i, const sentinel& s)
  9972. {
  9973. return i.i == s.i;
  9974. }
  9975. bool operator!= (const iter& i, const sentinel& s)
  9976. {
  9977. return !(i == s);
  9978. }
  9979. struct range
  9980. {
  9981. iter begin() const
  9982. {
  9983. return {0};
  9984. }
  9985. sentinel end() const
  9986. {
  9987. return {5};
  9988. }
  9989. };
  9990. void f()
  9991. {
  9992. range r {};
  9993. for (auto i : r)
  9994. {
  9995. [[maybe_unused]] auto v = i;
  9996. }
  9997. }
  9998. }
  9999. namespace test_lambda_capture_asterisk_this_by_value
  10000. {
  10001. struct t
  10002. {
  10003. int i;
  10004. int foo()
  10005. {
  10006. return [*this]()
  10007. {
  10008. return i;
  10009. }();
  10010. }
  10011. };
  10012. }
  10013. namespace test_enum_class_construction
  10014. {
  10015. enum class byte : unsigned char
  10016. {};
  10017. byte foo {42};
  10018. }
  10019. namespace test_constexpr_if
  10020. {
  10021. template <bool cond>
  10022. int f ()
  10023. {
  10024. if constexpr(cond)
  10025. {
  10026. return 13;
  10027. }
  10028. else
  10029. {
  10030. return 42;
  10031. }
  10032. }
  10033. }
  10034. namespace test_selection_statement_with_initializer
  10035. {
  10036. int f()
  10037. {
  10038. return 13;
  10039. }
  10040. int f2()
  10041. {
  10042. if (auto i = f(); i > 0)
  10043. {
  10044. return 3;
  10045. }
  10046. switch (auto i = f(); i + 4)
  10047. {
  10048. case 17:
  10049. return 2;
  10050. default:
  10051. return 1;
  10052. }
  10053. }
  10054. }
  10055. namespace test_template_argument_deduction_for_class_templates
  10056. {
  10057. template <typename T1, typename T2>
  10058. struct pair
  10059. {
  10060. pair (T1 p1, T2 p2)
  10061. : m1 {p1},
  10062. m2 {p2}
  10063. {}
  10064. T1 m1;
  10065. T2 m2;
  10066. };
  10067. void f()
  10068. {
  10069. [[maybe_unused]] auto p = pair{13, 42u};
  10070. }
  10071. }
  10072. namespace test_non_type_auto_template_parameters
  10073. {
  10074. template <auto n>
  10075. struct B
  10076. {};
  10077. B<5> b1;
  10078. B<'a'> b2;
  10079. }
  10080. namespace test_structured_bindings
  10081. {
  10082. int arr[2] = { 1, 2 };
  10083. std::pair<int, int> pr = { 1, 2 };
  10084. auto f1() -> int(&)[2]
  10085. {
  10086. return arr;
  10087. }
  10088. auto f2() -> std::pair<int, int>&
  10089. {
  10090. return pr;
  10091. }
  10092. struct S
  10093. {
  10094. int x1 : 2;
  10095. volatile double y1;
  10096. };
  10097. S f3()
  10098. {
  10099. return {};
  10100. }
  10101. auto [ x1, y1 ] = f1();
  10102. auto& [ xr1, yr1 ] = f1();
  10103. auto [ x2, y2 ] = f2();
  10104. auto& [ xr2, yr2 ] = f2();
  10105. const auto [ x3, y3 ] = f3();
  10106. }
  10107. namespace test_exception_spec_type_system
  10108. {
  10109. struct Good {};
  10110. struct Bad {};
  10111. void g1() noexcept;
  10112. void g2();
  10113. template<typename T>
  10114. Bad
  10115. f(T*, T*);
  10116. template<typename T1, typename T2>
  10117. Good
  10118. f(T1*, T2*);
  10119. static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
  10120. }
  10121. namespace test_inline_variables
  10122. {
  10123. template<class T> void f(T)
  10124. {}
  10125. template<class T> inline T g(T)
  10126. {
  10127. return T{};
  10128. }
  10129. template<> inline void f<>(int)
  10130. {}
  10131. template<> int g<>(int)
  10132. {
  10133. return 5;
  10134. }
  10135. }
  10136. } // namespace cxx17
  10137. #endif // __cplusplus < 201703L
  10138. _ACEOF
  10139. if ac_fn_cxx_try_compile "$LINENO"; then :
  10140. eval $cachevar=yes
  10141. else
  10142. eval $cachevar=no
  10143. fi
  10144. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  10145. CXX="$ac_save_CXX"
  10146. fi
  10147. eval ac_res=\$$cachevar
  10148. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  10149. $as_echo "$ac_res" >&6; }
  10150. if eval test x\$$cachevar = xyes; then
  10151. CXX="$CXX $switch"
  10152. if test -n "$CXXCPP" ; then
  10153. CXXCPP="$CXXCPP $switch"
  10154. fi
  10155. ac_success=yes
  10156. break
  10157. fi
  10158. done
  10159. fi
  10160. if test x$ac_success = xno; then
  10161. for alternative in ${ax_cxx_compile_alternatives}; do
  10162. for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
  10163. cachevar=`$as_echo "ax_cv_cxx_compile_cxx17_$switch" | $as_tr_sh`
  10164. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5
  10165. $as_echo_n "checking whether $CXX supports C++17 features with $switch... " >&6; }
  10166. if eval \${$cachevar+:} false; then :
  10167. $as_echo_n "(cached) " >&6
  10168. else
  10169. ac_save_CXX="$CXX"
  10170. CXX="$CXX $switch"
  10171. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  10172. /* end confdefs.h. */
  10173. // If the compiler admits that it is not ready for C++11, why torture it?
  10174. // Hopefully, this will speed up the test.
  10175. #ifndef __cplusplus
  10176. #error "This is not a C++ compiler"
  10177. #elif __cplusplus < 201103L
  10178. #error "This is not a C++11 compiler"
  10179. #else
  10180. namespace cxx11
  10181. {
  10182. namespace test_static_assert
  10183. {
  10184. template <typename T>
  10185. struct check
  10186. {
  10187. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  10188. };
  10189. }
  10190. namespace test_final_override
  10191. {
  10192. struct Base
  10193. {
  10194. virtual ~Base() {}
  10195. virtual void f() {}
  10196. };
  10197. struct Derived : public Base
  10198. {
  10199. virtual ~Derived() override {}
  10200. virtual void f() override {}
  10201. };
  10202. }
  10203. namespace test_double_right_angle_brackets
  10204. {
  10205. template < typename T >
  10206. struct check {};
  10207. typedef check<void> single_type;
  10208. typedef check<check<void>> double_type;
  10209. typedef check<check<check<void>>> triple_type;
  10210. typedef check<check<check<check<void>>>> quadruple_type;
  10211. }
  10212. namespace test_decltype
  10213. {
  10214. int
  10215. f()
  10216. {
  10217. int a = 1;
  10218. decltype(a) b = 2;
  10219. return a + b;
  10220. }
  10221. }
  10222. namespace test_type_deduction
  10223. {
  10224. template < typename T1, typename T2 >
  10225. struct is_same
  10226. {
  10227. static const bool value = false;
  10228. };
  10229. template < typename T >
  10230. struct is_same<T, T>
  10231. {
  10232. static const bool value = true;
  10233. };
  10234. template < typename T1, typename T2 >
  10235. auto
  10236. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  10237. {
  10238. return a1 + a2;
  10239. }
  10240. int
  10241. test(const int c, volatile int v)
  10242. {
  10243. static_assert(is_same<int, decltype(0)>::value == true, "");
  10244. static_assert(is_same<int, decltype(c)>::value == false, "");
  10245. static_assert(is_same<int, decltype(v)>::value == false, "");
  10246. auto ac = c;
  10247. auto av = v;
  10248. auto sumi = ac + av + 'x';
  10249. auto sumf = ac + av + 1.0;
  10250. static_assert(is_same<int, decltype(ac)>::value == true, "");
  10251. static_assert(is_same<int, decltype(av)>::value == true, "");
  10252. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  10253. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  10254. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  10255. return (sumf > 0.0) ? sumi : add(c, v);
  10256. }
  10257. }
  10258. namespace test_noexcept
  10259. {
  10260. int f() { return 0; }
  10261. int g() noexcept { return 0; }
  10262. static_assert(noexcept(f()) == false, "");
  10263. static_assert(noexcept(g()) == true, "");
  10264. }
  10265. namespace test_constexpr
  10266. {
  10267. template < typename CharT >
  10268. unsigned long constexpr
  10269. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  10270. {
  10271. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  10272. }
  10273. template < typename CharT >
  10274. unsigned long constexpr
  10275. strlen_c(const CharT *const s) noexcept
  10276. {
  10277. return strlen_c_r(s, 0UL);
  10278. }
  10279. static_assert(strlen_c("") == 0UL, "");
  10280. static_assert(strlen_c("1") == 1UL, "");
  10281. static_assert(strlen_c("example") == 7UL, "");
  10282. static_assert(strlen_c("another\0example") == 7UL, "");
  10283. }
  10284. namespace test_rvalue_references
  10285. {
  10286. template < int N >
  10287. struct answer
  10288. {
  10289. static constexpr int value = N;
  10290. };
  10291. answer<1> f(int&) { return answer<1>(); }
  10292. answer<2> f(const int&) { return answer<2>(); }
  10293. answer<3> f(int&&) { return answer<3>(); }
  10294. void
  10295. test()
  10296. {
  10297. int i = 0;
  10298. const int c = 0;
  10299. static_assert(decltype(f(i))::value == 1, "");
  10300. static_assert(decltype(f(c))::value == 2, "");
  10301. static_assert(decltype(f(0))::value == 3, "");
  10302. }
  10303. }
  10304. namespace test_uniform_initialization
  10305. {
  10306. struct test
  10307. {
  10308. static const int zero {};
  10309. static const int one {1};
  10310. };
  10311. static_assert(test::zero == 0, "");
  10312. static_assert(test::one == 1, "");
  10313. }
  10314. namespace test_lambdas
  10315. {
  10316. void
  10317. test1()
  10318. {
  10319. auto lambda1 = [](){};
  10320. auto lambda2 = lambda1;
  10321. lambda1();
  10322. lambda2();
  10323. }
  10324. int
  10325. test2()
  10326. {
  10327. auto a = [](int i, int j){ return i + j; }(1, 2);
  10328. auto b = []() -> int { return '0'; }();
  10329. auto c = [=](){ return a + b; }();
  10330. auto d = [&](){ return c; }();
  10331. auto e = [a, &b](int x) mutable {
  10332. const auto identity = [](int y){ return y; };
  10333. for (auto i = 0; i < a; ++i)
  10334. a += b--;
  10335. return x + identity(a + b);
  10336. }(0);
  10337. return a + b + c + d + e;
  10338. }
  10339. int
  10340. test3()
  10341. {
  10342. const auto nullary = [](){ return 0; };
  10343. const auto unary = [](int x){ return x; };
  10344. using nullary_t = decltype(nullary);
  10345. using unary_t = decltype(unary);
  10346. const auto higher1st = [](nullary_t f){ return f(); };
  10347. const auto higher2nd = [unary](nullary_t f1){
  10348. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  10349. };
  10350. return higher1st(nullary) + higher2nd(nullary)(unary);
  10351. }
  10352. }
  10353. namespace test_variadic_templates
  10354. {
  10355. template <int...>
  10356. struct sum;
  10357. template <int N0, int... N1toN>
  10358. struct sum<N0, N1toN...>
  10359. {
  10360. static constexpr auto value = N0 + sum<N1toN...>::value;
  10361. };
  10362. template <>
  10363. struct sum<>
  10364. {
  10365. static constexpr auto value = 0;
  10366. };
  10367. static_assert(sum<>::value == 0, "");
  10368. static_assert(sum<1>::value == 1, "");
  10369. static_assert(sum<23>::value == 23, "");
  10370. static_assert(sum<1, 2>::value == 3, "");
  10371. static_assert(sum<5, 5, 11>::value == 21, "");
  10372. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  10373. }
  10374. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  10375. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  10376. // because of this.
  10377. namespace test_template_alias_sfinae
  10378. {
  10379. struct foo {};
  10380. template<typename T>
  10381. using member = typename T::member_type;
  10382. template<typename T>
  10383. void func(...) {}
  10384. template<typename T>
  10385. void func(member<T>*) {}
  10386. void test();
  10387. void test() { func<foo>(0); }
  10388. }
  10389. } // namespace cxx11
  10390. #endif // __cplusplus >= 201103L
  10391. // If the compiler admits that it is not ready for C++14, why torture it?
  10392. // Hopefully, this will speed up the test.
  10393. #ifndef __cplusplus
  10394. #error "This is not a C++ compiler"
  10395. #elif __cplusplus < 201402L
  10396. #error "This is not a C++14 compiler"
  10397. #else
  10398. namespace cxx14
  10399. {
  10400. namespace test_polymorphic_lambdas
  10401. {
  10402. int
  10403. test()
  10404. {
  10405. const auto lambda = [](auto&&... args){
  10406. const auto istiny = [](auto x){
  10407. return (sizeof(x) == 1UL) ? 1 : 0;
  10408. };
  10409. const int aretiny[] = { istiny(args)... };
  10410. return aretiny[0];
  10411. };
  10412. return lambda(1, 1L, 1.0f, '1');
  10413. }
  10414. }
  10415. namespace test_binary_literals
  10416. {
  10417. constexpr auto ivii = 0b0000000000101010;
  10418. static_assert(ivii == 42, "wrong value");
  10419. }
  10420. namespace test_generalized_constexpr
  10421. {
  10422. template < typename CharT >
  10423. constexpr unsigned long
  10424. strlen_c(const CharT *const s) noexcept
  10425. {
  10426. auto length = 0UL;
  10427. for (auto p = s; *p; ++p)
  10428. ++length;
  10429. return length;
  10430. }
  10431. static_assert(strlen_c("") == 0UL, "");
  10432. static_assert(strlen_c("x") == 1UL, "");
  10433. static_assert(strlen_c("test") == 4UL, "");
  10434. static_assert(strlen_c("another\0test") == 7UL, "");
  10435. }
  10436. namespace test_lambda_init_capture
  10437. {
  10438. int
  10439. test()
  10440. {
  10441. auto x = 0;
  10442. const auto lambda1 = [a = x](int b){ return a + b; };
  10443. const auto lambda2 = [a = lambda1(x)](){ return a; };
  10444. return lambda2();
  10445. }
  10446. }
  10447. namespace test_digit_separators
  10448. {
  10449. constexpr auto ten_million = 100'000'000;
  10450. static_assert(ten_million == 100000000, "");
  10451. }
  10452. namespace test_return_type_deduction
  10453. {
  10454. auto f(int& x) { return x; }
  10455. decltype(auto) g(int& x) { return x; }
  10456. template < typename T1, typename T2 >
  10457. struct is_same
  10458. {
  10459. static constexpr auto value = false;
  10460. };
  10461. template < typename T >
  10462. struct is_same<T, T>
  10463. {
  10464. static constexpr auto value = true;
  10465. };
  10466. int
  10467. test()
  10468. {
  10469. auto x = 0;
  10470. static_assert(is_same<int, decltype(f(x))>::value, "");
  10471. static_assert(is_same<int&, decltype(g(x))>::value, "");
  10472. return x;
  10473. }
  10474. }
  10475. } // namespace cxx14
  10476. #endif // __cplusplus >= 201402L
  10477. // If the compiler admits that it is not ready for C++17, why torture it?
  10478. // Hopefully, this will speed up the test.
  10479. #ifndef __cplusplus
  10480. #error "This is not a C++ compiler"
  10481. #elif __cplusplus < 201703L
  10482. #error "This is not a C++17 compiler"
  10483. #else
  10484. #include <initializer_list>
  10485. #include <utility>
  10486. #include <type_traits>
  10487. namespace cxx17
  10488. {
  10489. namespace test_constexpr_lambdas
  10490. {
  10491. constexpr int foo = [](){return 42;}();
  10492. }
  10493. namespace test::nested_namespace::definitions
  10494. {
  10495. }
  10496. namespace test_fold_expression
  10497. {
  10498. template<typename... Args>
  10499. int multiply(Args... args)
  10500. {
  10501. return (args * ... * 1);
  10502. }
  10503. template<typename... Args>
  10504. bool all(Args... args)
  10505. {
  10506. return (args && ...);
  10507. }
  10508. }
  10509. namespace test_extended_static_assert
  10510. {
  10511. static_assert (true);
  10512. }
  10513. namespace test_auto_brace_init_list
  10514. {
  10515. auto foo = {5};
  10516. auto bar {5};
  10517. static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
  10518. static_assert(std::is_same<int, decltype(bar)>::value);
  10519. }
  10520. namespace test_typename_in_template_template_parameter
  10521. {
  10522. template<template<typename> typename X> struct D;
  10523. }
  10524. namespace test_fallthrough_nodiscard_maybe_unused_attributes
  10525. {
  10526. int f1()
  10527. {
  10528. return 42;
  10529. }
  10530. [[nodiscard]] int f2()
  10531. {
  10532. [[maybe_unused]] auto unused = f1();
  10533. switch (f1())
  10534. {
  10535. case 17:
  10536. f1();
  10537. [[fallthrough]];
  10538. case 42:
  10539. f1();
  10540. }
  10541. return f1();
  10542. }
  10543. }
  10544. namespace test_extended_aggregate_initialization
  10545. {
  10546. struct base1
  10547. {
  10548. int b1, b2 = 42;
  10549. };
  10550. struct base2
  10551. {
  10552. base2() {
  10553. b3 = 42;
  10554. }
  10555. int b3;
  10556. };
  10557. struct derived : base1, base2
  10558. {
  10559. int d;
  10560. };
  10561. derived d1 {{1, 2}, {}, 4}; // full initialization
  10562. derived d2 {{}, {}, 4}; // value-initialized bases
  10563. }
  10564. namespace test_general_range_based_for_loop
  10565. {
  10566. struct iter
  10567. {
  10568. int i;
  10569. int& operator* ()
  10570. {
  10571. return i;
  10572. }
  10573. const int& operator* () const
  10574. {
  10575. return i;
  10576. }
  10577. iter& operator++()
  10578. {
  10579. ++i;
  10580. return *this;
  10581. }
  10582. };
  10583. struct sentinel
  10584. {
  10585. int i;
  10586. };
  10587. bool operator== (const iter& i, const sentinel& s)
  10588. {
  10589. return i.i == s.i;
  10590. }
  10591. bool operator!= (const iter& i, const sentinel& s)
  10592. {
  10593. return !(i == s);
  10594. }
  10595. struct range
  10596. {
  10597. iter begin() const
  10598. {
  10599. return {0};
  10600. }
  10601. sentinel end() const
  10602. {
  10603. return {5};
  10604. }
  10605. };
  10606. void f()
  10607. {
  10608. range r {};
  10609. for (auto i : r)
  10610. {
  10611. [[maybe_unused]] auto v = i;
  10612. }
  10613. }
  10614. }
  10615. namespace test_lambda_capture_asterisk_this_by_value
  10616. {
  10617. struct t
  10618. {
  10619. int i;
  10620. int foo()
  10621. {
  10622. return [*this]()
  10623. {
  10624. return i;
  10625. }();
  10626. }
  10627. };
  10628. }
  10629. namespace test_enum_class_construction
  10630. {
  10631. enum class byte : unsigned char
  10632. {};
  10633. byte foo {42};
  10634. }
  10635. namespace test_constexpr_if
  10636. {
  10637. template <bool cond>
  10638. int f ()
  10639. {
  10640. if constexpr(cond)
  10641. {
  10642. return 13;
  10643. }
  10644. else
  10645. {
  10646. return 42;
  10647. }
  10648. }
  10649. }
  10650. namespace test_selection_statement_with_initializer
  10651. {
  10652. int f()
  10653. {
  10654. return 13;
  10655. }
  10656. int f2()
  10657. {
  10658. if (auto i = f(); i > 0)
  10659. {
  10660. return 3;
  10661. }
  10662. switch (auto i = f(); i + 4)
  10663. {
  10664. case 17:
  10665. return 2;
  10666. default:
  10667. return 1;
  10668. }
  10669. }
  10670. }
  10671. namespace test_template_argument_deduction_for_class_templates
  10672. {
  10673. template <typename T1, typename T2>
  10674. struct pair
  10675. {
  10676. pair (T1 p1, T2 p2)
  10677. : m1 {p1},
  10678. m2 {p2}
  10679. {}
  10680. T1 m1;
  10681. T2 m2;
  10682. };
  10683. void f()
  10684. {
  10685. [[maybe_unused]] auto p = pair{13, 42u};
  10686. }
  10687. }
  10688. namespace test_non_type_auto_template_parameters
  10689. {
  10690. template <auto n>
  10691. struct B
  10692. {};
  10693. B<5> b1;
  10694. B<'a'> b2;
  10695. }
  10696. namespace test_structured_bindings
  10697. {
  10698. int arr[2] = { 1, 2 };
  10699. std::pair<int, int> pr = { 1, 2 };
  10700. auto f1() -> int(&)[2]
  10701. {
  10702. return arr;
  10703. }
  10704. auto f2() -> std::pair<int, int>&
  10705. {
  10706. return pr;
  10707. }
  10708. struct S
  10709. {
  10710. int x1 : 2;
  10711. volatile double y1;
  10712. };
  10713. S f3()
  10714. {
  10715. return {};
  10716. }
  10717. auto [ x1, y1 ] = f1();
  10718. auto& [ xr1, yr1 ] = f1();
  10719. auto [ x2, y2 ] = f2();
  10720. auto& [ xr2, yr2 ] = f2();
  10721. const auto [ x3, y3 ] = f3();
  10722. }
  10723. namespace test_exception_spec_type_system
  10724. {
  10725. struct Good {};
  10726. struct Bad {};
  10727. void g1() noexcept;
  10728. void g2();
  10729. template<typename T>
  10730. Bad
  10731. f(T*, T*);
  10732. template<typename T1, typename T2>
  10733. Good
  10734. f(T1*, T2*);
  10735. static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
  10736. }
  10737. namespace test_inline_variables
  10738. {
  10739. template<class T> void f(T)
  10740. {}
  10741. template<class T> inline T g(T)
  10742. {
  10743. return T{};
  10744. }
  10745. template<> inline void f<>(int)
  10746. {}
  10747. template<> int g<>(int)
  10748. {
  10749. return 5;
  10750. }
  10751. }
  10752. } // namespace cxx17
  10753. #endif // __cplusplus < 201703L
  10754. _ACEOF
  10755. if ac_fn_cxx_try_compile "$LINENO"; then :
  10756. eval $cachevar=yes
  10757. else
  10758. eval $cachevar=no
  10759. fi
  10760. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  10761. CXX="$ac_save_CXX"
  10762. fi
  10763. eval ac_res=\$$cachevar
  10764. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  10765. $as_echo "$ac_res" >&6; }
  10766. if eval test x\$$cachevar = xyes; then
  10767. CXX="$CXX $switch"
  10768. if test -n "$CXXCPP" ; then
  10769. CXXCPP="$CXXCPP $switch"
  10770. fi
  10771. ac_success=yes
  10772. break
  10773. fi
  10774. done
  10775. if test x$ac_success = xyes; then
  10776. break
  10777. fi
  10778. done
  10779. fi
  10780. ac_ext=cpp
  10781. ac_cpp='$CXXCPP $CPPFLAGS'
  10782. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10783. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10784. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10785. if test x$ax_cxx_compile_cxx17_required = xtrue; then
  10786. if test x$ac_success = xno; then
  10787. as_fn_error $? "*** A compiler with support for C++17 language features is required." "$LINENO" 5
  10788. fi
  10789. fi
  10790. if test x$ac_success = xno; then
  10791. HAVE_CXX17=0
  10792. { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5
  10793. $as_echo "$as_me: No compiler with C++17 support was found" >&6;}
  10794. else
  10795. HAVE_CXX17=1
  10796. $as_echo "#define HAVE_CXX17 1" >>confdefs.h
  10797. fi
  10798. fi
  10799. if test "$HAVE_CXX17" = "1" -a $acsm_found_cxx -eq 0; then :
  10800. # If nothing fails later we're good to go
  10801. have_cxx_all=yes
  10802. # --------------------------------------------------------------
  10803. # Test for mandatory C++11 features, those which libMesh now requires
  10804. # for internal use.
  10805. # --------------------------------------------------------------
  10806. have_cxx11_auto=no
  10807. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 auto keyword support" >&5
  10808. $as_echo_n "checking for C++11 auto keyword support... " >&6; }
  10809. ac_ext=cpp
  10810. ac_cpp='$CXXCPP $CPPFLAGS'
  10811. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10812. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10813. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10814. old_CXXFLAGS="$CXXFLAGS"
  10815. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  10816. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  10817. /* end confdefs.h. */
  10818. int
  10819. main ()
  10820. {
  10821. int x = 5;
  10822. auto y = x;
  10823. ;
  10824. return 0;
  10825. }
  10826. _ACEOF
  10827. if ac_fn_cxx_try_compile "$LINENO"; then :
  10828. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  10829. $as_echo "yes" >&6; }
  10830. $as_echo "#define HAVE_CXX11_AUTO 1" >>confdefs.h
  10831. have_cxx11_auto=yes
  10832. else
  10833. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  10834. $as_echo "no" >&6; }
  10835. fi
  10836. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  10837. # Reset the flags
  10838. CXXFLAGS="$old_CXXFLAGS"
  10839. ac_ext=cpp
  10840. ac_cpp='$CXXCPP $CPPFLAGS'
  10841. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10842. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10843. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10844. if test x$have_cxx11_auto == xyes; then
  10845. HAVE_CXX11_AUTO_TRUE=
  10846. HAVE_CXX11_AUTO_FALSE='#'
  10847. else
  10848. HAVE_CXX11_AUTO_TRUE='#'
  10849. HAVE_CXX11_AUTO_FALSE=
  10850. fi
  10851. if test "x$have_cxx11_auto" != "xyes"; then :
  10852. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 auto variable support" >&5
  10853. $as_echo "$as_me: WARNING: libMesh requires C++11 auto variable support" >&2;}
  10854. have_cxx_all=no
  10855. fi
  10856. have_cxx11_rangefor=no
  10857. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 range-based for loop support" >&5
  10858. $as_echo_n "checking for C++11 range-based for loop support... " >&6; }
  10859. ac_ext=cpp
  10860. ac_cpp='$CXXCPP $CPPFLAGS'
  10861. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10862. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10863. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10864. old_CXXFLAGS="$CXXFLAGS"
  10865. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  10866. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  10867. /* end confdefs.h. */
  10868. #include <iostream>
  10869. #include <vector>
  10870. void print(const std::vector<int> & v)
  10871. {
  10872. for (const int & x : v)
  10873. std::cout << x << ' ';
  10874. std::cout << std::endl;
  10875. }
  10876. int
  10877. main ()
  10878. {
  10879. std::vector<int> v(3);
  10880. print(v);
  10881. ;
  10882. return 0;
  10883. }
  10884. _ACEOF
  10885. if ac_fn_cxx_try_compile "$LINENO"; then :
  10886. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  10887. $as_echo "yes" >&6; }
  10888. $as_echo "#define HAVE_CXX11_RANGEFOR 1" >>confdefs.h
  10889. have_cxx11_rangefor=yes
  10890. else
  10891. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  10892. $as_echo "no" >&6; }
  10893. fi
  10894. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  10895. # Reset the flags
  10896. CXXFLAGS="$old_CXXFLAGS"
  10897. ac_ext=cpp
  10898. ac_cpp='$CXXCPP $CPPFLAGS'
  10899. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10900. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10901. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10902. if test x$have_cxx11_rangefor == xyes; then
  10903. HAVE_CXX11_RANGEFOR_TRUE=
  10904. HAVE_CXX11_RANGEFOR_FALSE='#'
  10905. else
  10906. HAVE_CXX11_RANGEFOR_TRUE='#'
  10907. HAVE_CXX11_RANGEFOR_FALSE=
  10908. fi
  10909. if test "x$have_cxx11_rangefor" != "xyes"; then :
  10910. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 ranged-for loop support" >&5
  10911. $as_echo "$as_me: WARNING: libMesh requires C++11 ranged-for loop support" >&2;}
  10912. have_cxx_all=no
  10913. fi
  10914. # Technically we require uniform initialization, but this is the
  10915. # closest test we have
  10916. have_cxx11_initializer_list=no
  10917. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 initializer list support" >&5
  10918. $as_echo_n "checking for C++11 initializer list support... " >&6; }
  10919. ac_ext=cpp
  10920. ac_cpp='$CXXCPP $CPPFLAGS'
  10921. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10922. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10923. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10924. old_CXXFLAGS="$CXXFLAGS"
  10925. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  10926. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  10927. /* end confdefs.h. */
  10928. #include <vector>
  10929. #include <string>
  10930. #include <initializer_list>
  10931. int
  10932. main ()
  10933. {
  10934. std::vector<std::string> v = { "xyzzy", "plugh", "abracadabra" };
  10935. ;
  10936. return 0;
  10937. }
  10938. _ACEOF
  10939. if ac_fn_cxx_try_compile "$LINENO"; then :
  10940. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  10941. $as_echo "yes" >&6; }
  10942. $as_echo "#define HAVE_CXX11_INITIALIZER_LIST 1" >>confdefs.h
  10943. have_cxx11_initializer_list=yes
  10944. else
  10945. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  10946. $as_echo "no" >&6; }
  10947. fi
  10948. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  10949. # Reset the flags
  10950. CXXFLAGS="$old_CXXFLAGS"
  10951. ac_ext=cpp
  10952. ac_cpp='$CXXCPP $CPPFLAGS'
  10953. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10954. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10955. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10956. if test x$have_cxx11_initializer_list == xyes; then
  10957. HAVE_CXX11_INITIALIZER_LIST_TRUE=
  10958. HAVE_CXX11_INITIALIZER_LIST_FALSE='#'
  10959. else
  10960. HAVE_CXX11_INITIALIZER_LIST_TRUE='#'
  10961. HAVE_CXX11_INITIALIZER_LIST_FALSE=
  10962. fi
  10963. if test "x$have_cxx11_initializer_list" != "xyes"; then :
  10964. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 initializer list support" >&5
  10965. $as_echo "$as_me: WARNING: libMesh requires C++11 initializer list support" >&2;}
  10966. have_cxx_all=no
  10967. fi
  10968. have_cxx11_unique_ptr=no
  10969. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::unique_ptr support" >&5
  10970. $as_echo_n "checking for C++11 std::unique_ptr support... " >&6; }
  10971. ac_ext=cpp
  10972. ac_cpp='$CXXCPP $CPPFLAGS'
  10973. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  10974. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  10975. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  10976. old_CXXFLAGS="$CXXFLAGS"
  10977. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  10978. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  10979. /* end confdefs.h. */
  10980. #include <iostream>
  10981. #include <memory>
  10982. struct Foo
  10983. {
  10984. Foo() { std::cout << "Foo::Foo\n"; }
  10985. ~Foo() { std::cout << "Foo::~Foo\n"; }
  10986. };
  10987. int
  10988. main ()
  10989. {
  10990. {
  10991. // up now owns a Foo
  10992. std::unique_ptr<Foo> up(new Foo);
  10993. } // Foo deleted when up goes out of scope
  10994. ;
  10995. return 0;
  10996. }
  10997. _ACEOF
  10998. if ac_fn_cxx_try_compile "$LINENO"; then :
  10999. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11000. $as_echo "yes" >&6; }
  11001. $as_echo "#define HAVE_CXX11_UNIQUE_PTR 1" >>confdefs.h
  11002. have_cxx11_unique_ptr=yes
  11003. else
  11004. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11005. $as_echo "no" >&6; }
  11006. fi
  11007. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11008. # Reset the flags
  11009. CXXFLAGS="$old_CXXFLAGS"
  11010. ac_ext=cpp
  11011. ac_cpp='$CXXCPP $CPPFLAGS'
  11012. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11013. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11014. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11015. if test x$have_cxx11_unique_ptr == xyes; then
  11016. HAVE_CXX11_UNIQUE_PTR_TRUE=
  11017. HAVE_CXX11_UNIQUE_PTR_FALSE='#'
  11018. else
  11019. HAVE_CXX11_UNIQUE_PTR_TRUE='#'
  11020. HAVE_CXX11_UNIQUE_PTR_FALSE=
  11021. fi
  11022. if test "x$have_cxx11_unique_ptr" != "xyes"; then :
  11023. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::unique_ptr support" >&5
  11024. $as_echo "$as_me: WARNING: libMesh requires C++11 std::unique_ptr support" >&2;}
  11025. have_cxx_all=no
  11026. fi
  11027. have_cxx11_make_unique_workaround=no
  11028. # This is a simple workaround for no std::make_unique in C++11:
  11029. # http://stackoverflow.com/questions/7038357/make-unique-and-perfect-forwarding
  11030. # Requires working rvalue references, std::forward, variadic
  11031. # templates, and std::unique_ptr from C++11.
  11032. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::make_unique workaround support" >&5
  11033. $as_echo_n "checking for C++11 std::make_unique workaround support... " >&6; }
  11034. ac_ext=cpp
  11035. ac_cpp='$CXXCPP $CPPFLAGS'
  11036. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11037. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11038. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11039. old_CXXFLAGS="$CXXFLAGS"
  11040. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11041. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11042. /* end confdefs.h. */
  11043. #include <memory>
  11044. namespace local
  11045. {
  11046. template<typename T, typename... Args>
  11047. std::unique_ptr<T> make_unique(Args&&... args)
  11048. {
  11049. return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
  11050. }
  11051. }
  11052. int
  11053. main ()
  11054. {
  11055. {
  11056. // Normally, you would use "auto" on the LHS here to avoid
  11057. // repeating the type name, but we are not testing auto here.
  11058. std::unique_ptr<int> up = local::make_unique<int>(42);
  11059. } // Foo deleted when up goes out of scope
  11060. ;
  11061. return 0;
  11062. }
  11063. _ACEOF
  11064. if ac_fn_cxx_try_compile "$LINENO"; then :
  11065. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11066. $as_echo "yes" >&6; }
  11067. $as_echo "#define HAVE_CXX11_MAKE_UNIQUE_WORKAROUND 1" >>confdefs.h
  11068. have_cxx11_make_unique_workaround=yes
  11069. else
  11070. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11071. $as_echo "no" >&6; }
  11072. fi
  11073. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11074. # Reset the flags
  11075. CXXFLAGS="$old_CXXFLAGS"
  11076. ac_ext=cpp
  11077. ac_cpp='$CXXCPP $CPPFLAGS'
  11078. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11079. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11080. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11081. if test x$have_cxx11_make_unique_workaround == xyes; then
  11082. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE=
  11083. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE='#'
  11084. else
  11085. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE='#'
  11086. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE=
  11087. fi
  11088. if test "x$have_cxx11_make_unique_workaround" != "xyes"; then :
  11089. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 variadic template support" >&5
  11090. $as_echo "$as_me: WARNING: libMesh requires C++11 variadic template support" >&2;}
  11091. have_cxx_all=no
  11092. fi
  11093. have_cxx11_tuple=no
  11094. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::tuple support" >&5
  11095. $as_echo_n "checking for C++11 std::tuple support... " >&6; }
  11096. ac_ext=cpp
  11097. ac_cpp='$CXXCPP $CPPFLAGS'
  11098. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11099. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11100. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11101. old_CXXFLAGS="$CXXFLAGS"
  11102. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11103. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11104. /* end confdefs.h. */
  11105. #include <tuple>
  11106. #include <map>
  11107. #include <string>
  11108. int
  11109. main ()
  11110. {
  11111. // Test std::make_tuple
  11112. std::map<int, std::tuple<double, char, std::string>> students;
  11113. students[0] = std::make_tuple(3.8, 'A', "Lisa Simpson");
  11114. students[1] = std::make_tuple(2.9, 'C', "Milhouse Van Houten");
  11115. // Test templated std::get() method.
  11116. std::get<0>(students[0]);
  11117. std::get<1>(students[0]);
  11118. std::get<2>(students[0]);
  11119. // Test std::tie and std::ignore which are declared in the <tuple> header.
  11120. double gpa1;
  11121. std::string name1;
  11122. std::tie(gpa1, std::ignore, name1) = students[1];
  11123. // Test std::tuple_cat(), which combines together one or more
  11124. // objects, not necessarily tuples, into a single tuple.
  11125. auto t = std::tuple_cat(students[0], students[1], std::make_pair("foo", 42));
  11126. ;
  11127. return 0;
  11128. }
  11129. _ACEOF
  11130. if ac_fn_cxx_try_compile "$LINENO"; then :
  11131. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11132. $as_echo "yes" >&6; }
  11133. $as_echo "#define HAVE_CXX11_TUPLE 1" >>confdefs.h
  11134. have_cxx11_tuple=yes
  11135. else
  11136. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11137. $as_echo "no" >&6; }
  11138. fi
  11139. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11140. CXXFLAGS="$old_CXXFLAGS"
  11141. ac_ext=cpp
  11142. ac_cpp='$CXXCPP $CPPFLAGS'
  11143. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11144. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11145. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11146. if test x$have_cxx11_tuple == xyes; then
  11147. HAVE_CXX11_TUPLE_TRUE=
  11148. HAVE_CXX11_TUPLE_FALSE='#'
  11149. else
  11150. HAVE_CXX11_TUPLE_TRUE='#'
  11151. HAVE_CXX11_TUPLE_FALSE=
  11152. fi
  11153. if test "x$have_cxx11_tuple" != "xyes"; then :
  11154. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::tuple support" >&5
  11155. $as_echo "$as_me: WARNING: libMesh requires C++11 std::tuple support" >&2;}
  11156. have_cxx_all=no
  11157. fi
  11158. have_cxx11_lambda=no
  11159. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 lambda support" >&5
  11160. $as_echo_n "checking for C++11 lambda support... " >&6; }
  11161. ac_ext=cpp
  11162. ac_cpp='$CXXCPP $CPPFLAGS'
  11163. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11164. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11165. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11166. old_CXXFLAGS="$CXXFLAGS"
  11167. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11168. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11169. /* end confdefs.h. */
  11170. // typedef for a function pointer that takes int and returns bool.
  11171. typedef bool (*FunctionPointer) (int);
  11172. // A function that takes a pointer to a function that takes an int,
  11173. // calls it with the number 4, and returns the result.
  11174. bool f(FunctionPointer g) { return g(4); }
  11175. int
  11176. main ()
  11177. {
  11178. // Call f, passing it a lambda constructed on the fly instead
  11179. // of a standard function pointer. The result should be true.
  11180. f ( [](int x) { return x > 3; } );
  11181. ;
  11182. return 0;
  11183. }
  11184. _ACEOF
  11185. if ac_fn_cxx_try_compile "$LINENO"; then :
  11186. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11187. $as_echo "yes" >&6; }
  11188. $as_echo "#define HAVE_CXX11_LAMBDA 1" >>confdefs.h
  11189. have_cxx11_lambda=yes
  11190. else
  11191. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11192. $as_echo "no" >&6; }
  11193. fi
  11194. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11195. # Reset the flags
  11196. CXXFLAGS="$old_CXXFLAGS"
  11197. ac_ext=cpp
  11198. ac_cpp='$CXXCPP $CPPFLAGS'
  11199. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11200. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11201. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11202. if test x$have_cxx11_lambda == xyes; then
  11203. HAVE_CXX11_LAMBDA_TRUE=
  11204. HAVE_CXX11_LAMBDA_FALSE='#'
  11205. else
  11206. HAVE_CXX11_LAMBDA_TRUE='#'
  11207. HAVE_CXX11_LAMBDA_FALSE=
  11208. fi
  11209. if test "x$have_cxx11_lambda" != "xyes"; then :
  11210. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 lambda support" >&5
  11211. $as_echo "$as_me: WARNING: libMesh requires C++11 lambda support" >&2;}
  11212. have_cxx_all=no
  11213. fi
  11214. have_cxx11_fixed_type_enum=no
  11215. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 fixed type enumeration support" >&5
  11216. $as_echo_n "checking for C++11 fixed type enumeration support... " >&6; }
  11217. ac_ext=cpp
  11218. ac_cpp='$CXXCPP $CPPFLAGS'
  11219. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11220. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11221. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11222. old_CXXFLAGS="$CXXFLAGS"
  11223. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11224. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11225. /* end confdefs.h. */
  11226. enum Fruit : int {APPLE=0, ORANGE=1};
  11227. int
  11228. main ()
  11229. {
  11230. Fruit f = APPLE;
  11231. ;
  11232. return 0;
  11233. }
  11234. _ACEOF
  11235. if ac_fn_cxx_try_compile "$LINENO"; then :
  11236. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11237. $as_echo "yes" >&6; }
  11238. $as_echo "#define HAVE_CXX11_FIXED_TYPE_ENUM 1" >>confdefs.h
  11239. have_cxx11_fixed_type_enum=yes
  11240. else
  11241. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11242. $as_echo "no" >&6; }
  11243. fi
  11244. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11245. CXXFLAGS="$old_CXXFLAGS"
  11246. ac_ext=cpp
  11247. ac_cpp='$CXXCPP $CPPFLAGS'
  11248. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11249. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11250. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11251. if test x$have_cxx11_fixed_type_enum == xyes; then
  11252. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE=
  11253. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE='#'
  11254. else
  11255. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE='#'
  11256. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE=
  11257. fi
  11258. if test "x$have_cxx11_fixed_type_enum" != "xyes"; then :
  11259. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 fixed type enumeration support" >&5
  11260. $as_echo "$as_me: WARNING: libMesh requires C++11 fixed type enumeration support" >&2;}
  11261. have_cxx_all=no
  11262. fi
  11263. have_cxx11_fixed_type_enum_fwd=no
  11264. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 fixed type enumeration forward declaration support" >&5
  11265. $as_echo_n "checking for C++11 fixed type enumeration forward declaration support... " >&6; }
  11266. ac_ext=cpp
  11267. ac_cpp='$CXXCPP $CPPFLAGS'
  11268. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11269. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11270. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11271. old_CXXFLAGS="$CXXFLAGS"
  11272. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11273. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11274. /* end confdefs.h. */
  11275. #include <iostream>
  11276. enum Foo : int;
  11277. void func(Foo f) { std::cout << f << std::endl; }
  11278. enum Foo : int { FOO0 = 0, FOO1 = 1, FOO2 = 2 };
  11279. int
  11280. main ()
  11281. {
  11282. func(FOO0);
  11283. func(FOO1);
  11284. func(FOO2);
  11285. ;
  11286. return 0;
  11287. }
  11288. _ACEOF
  11289. if ac_fn_cxx_try_compile "$LINENO"; then :
  11290. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11291. $as_echo "yes" >&6; }
  11292. $as_echo "#define HAVE_CXX11_FIXED_TYPE_ENUM_FWD 1" >>confdefs.h
  11293. have_cxx11_fixed_type_enum_fwd=yes
  11294. else
  11295. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11296. $as_echo "no" >&6; }
  11297. fi
  11298. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11299. CXXFLAGS="$old_CXXFLAGS"
  11300. ac_ext=cpp
  11301. ac_cpp='$CXXCPP $CPPFLAGS'
  11302. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11303. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11304. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11305. if test x$have_cxx11_fixed_type_enum_fwd == xyes; then
  11306. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE=
  11307. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE='#'
  11308. else
  11309. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE='#'
  11310. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE=
  11311. fi
  11312. if test "x$have_cxx11_fixed_type_enum_fwd" != "xyes"; then :
  11313. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 fixed type enumeration forward declaration support" >&5
  11314. $as_echo "$as_me: WARNING: libMesh requires C++11 fixed type enumeration forward declaration support" >&2;}
  11315. have_cxx_all=no
  11316. fi
  11317. have_cxx11_override=no
  11318. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 override keyword support" >&5
  11319. $as_echo_n "checking for C++11 override keyword support... " >&6; }
  11320. ac_ext=cpp
  11321. ac_cpp='$CXXCPP $CPPFLAGS'
  11322. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11323. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11324. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11325. old_CXXFLAGS="$CXXFLAGS"
  11326. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11327. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11328. /* end confdefs.h. */
  11329. int
  11330. main ()
  11331. {
  11332. struct Base {
  11333. virtual void f() {}
  11334. };
  11335. struct Child : public Base {
  11336. virtual void f() override {}
  11337. };
  11338. ;
  11339. return 0;
  11340. }
  11341. _ACEOF
  11342. if ac_fn_cxx_try_compile "$LINENO"; then :
  11343. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11344. $as_echo "yes" >&6; }
  11345. $as_echo "#define HAVE_CXX11_OVERRIDE 1" >>confdefs.h
  11346. have_cxx11_override=yes
  11347. else
  11348. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11349. $as_echo "no" >&6; }
  11350. fi
  11351. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11352. # Reset the flags
  11353. CXXFLAGS="$old_CXXFLAGS"
  11354. ac_ext=cpp
  11355. ac_cpp='$CXXCPP $CPPFLAGS'
  11356. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11357. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11358. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11359. if test x$have_cxx11_override == xyes; then
  11360. HAVE_CXX11_OVERRIDE_TRUE=
  11361. HAVE_CXX11_OVERRIDE_FALSE='#'
  11362. else
  11363. HAVE_CXX11_OVERRIDE_TRUE='#'
  11364. HAVE_CXX11_OVERRIDE_FALSE=
  11365. fi
  11366. if test "x$have_cxx11_override" != "xyes"; then :
  11367. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 compiler support the override keyword" >&5
  11368. $as_echo "$as_me: WARNING: libMesh requires C++11 compiler support the override keyword" >&2;}
  11369. have_cxx_all=no
  11370. fi
  11371. have_cxx11_move_constructors=no
  11372. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 move constructor support" >&5
  11373. $as_echo_n "checking for C++11 move constructor support... " >&6; }
  11374. ac_ext=cpp
  11375. ac_cpp='$CXXCPP $CPPFLAGS'
  11376. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11377. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11378. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11379. old_CXXFLAGS="$CXXFLAGS"
  11380. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11381. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11382. /* end confdefs.h. */
  11383. #include <utility>
  11384. class move_constructable_base
  11385. {
  11386. public:
  11387. move_constructable_base() {}
  11388. move_constructable_base(move_constructable_base && other) noexcept {}
  11389. };
  11390. class move_constructable : public move_constructable_base
  11391. {
  11392. public:
  11393. move_constructable() {}
  11394. move_constructable(move_constructable && other) noexcept : move_constructable_base(std::move(other)) {}
  11395. };
  11396. int
  11397. main ()
  11398. {
  11399. move_constructable m1;
  11400. move_constructable m2(std::move(m1));
  11401. ;
  11402. return 0;
  11403. }
  11404. _ACEOF
  11405. if ac_fn_cxx_try_compile "$LINENO"; then :
  11406. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11407. $as_echo "yes" >&6; }
  11408. $as_echo "#define HAVE_CXX11_MOVE_CONSTRUCTORS 1" >>confdefs.h
  11409. have_cxx11_move_constructors=yes
  11410. else
  11411. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11412. $as_echo "no" >&6; }
  11413. fi
  11414. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11415. # Reset the flags
  11416. CXXFLAGS="$old_CXXFLAGS"
  11417. ac_ext=cpp
  11418. ac_cpp='$CXXCPP $CPPFLAGS'
  11419. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11420. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11421. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11422. if test x$have_cxx11_move_constructors == xyes; then
  11423. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE=
  11424. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE='#'
  11425. else
  11426. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE='#'
  11427. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE=
  11428. fi
  11429. if test "x$have_cxx11_move_constructors" != "xyes"; then :
  11430. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 move constructor support" >&5
  11431. $as_echo "$as_me: WARNING: libMesh requires C++11 move constructor support" >&2;}
  11432. have_cxx_all=no
  11433. fi
  11434. have_cxx11_deleted_functions=no
  11435. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 deleted functions support" >&5
  11436. $as_echo_n "checking for C++11 deleted functions support... " >&6; }
  11437. ac_ext=cpp
  11438. ac_cpp='$CXXCPP $CPPFLAGS'
  11439. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11440. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11441. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11442. old_CXXFLAGS="$CXXFLAGS"
  11443. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11444. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11445. /* end confdefs.h. */
  11446. class Foo
  11447. {
  11448. Foo(const Foo &) = delete;
  11449. };
  11450. int
  11451. main ()
  11452. {
  11453. ;
  11454. return 0;
  11455. }
  11456. _ACEOF
  11457. if ac_fn_cxx_try_compile "$LINENO"; then :
  11458. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11459. $as_echo "yes" >&6; }
  11460. $as_echo "#define HAVE_CXX11_DELETED_FUNCTIONS 1" >>confdefs.h
  11461. have_cxx11_deleted_functions=yes
  11462. else
  11463. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11464. $as_echo "no" >&6; }
  11465. fi
  11466. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11467. # Reset the flags
  11468. CXXFLAGS="$old_CXXFLAGS"
  11469. ac_ext=cpp
  11470. ac_cpp='$CXXCPP $CPPFLAGS'
  11471. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11472. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11473. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11474. if test x$have_cxx11_deleted_functions == xyes; then
  11475. HAVE_CXX11_DELETED_FUNCTIONS_TRUE=
  11476. HAVE_CXX11_DELETED_FUNCTIONS_FALSE='#'
  11477. else
  11478. HAVE_CXX11_DELETED_FUNCTIONS_TRUE='#'
  11479. HAVE_CXX11_DELETED_FUNCTIONS_FALSE=
  11480. fi
  11481. if test "x$have_cxx11_deleted_functions" != "xyes"; then :
  11482. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 deleted function support" >&5
  11483. $as_echo "$as_me: WARNING: libMesh requires C++11 deleted function support" >&2;}
  11484. have_cxx_all=no
  11485. fi
  11486. have_cxx11_defaulted_functions=no
  11487. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 defaulted functions support" >&5
  11488. $as_echo_n "checking for C++11 defaulted functions support... " >&6; }
  11489. ac_ext=cpp
  11490. ac_cpp='$CXXCPP $CPPFLAGS'
  11491. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11492. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11493. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11494. old_CXXFLAGS="$CXXFLAGS"
  11495. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11496. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11497. /* end confdefs.h. */
  11498. class Foo
  11499. {
  11500. Foo(const Foo &) = default;
  11501. ~Foo();
  11502. };
  11503. Foo::~Foo() = default;
  11504. int
  11505. main ()
  11506. {
  11507. ;
  11508. return 0;
  11509. }
  11510. _ACEOF
  11511. if ac_fn_cxx_try_compile "$LINENO"; then :
  11512. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11513. $as_echo "yes" >&6; }
  11514. $as_echo "#define HAVE_CXX11_DEFAULTED_FUNCTIONS 1" >>confdefs.h
  11515. have_cxx11_defaulted_functions=yes
  11516. else
  11517. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11518. $as_echo "no" >&6; }
  11519. fi
  11520. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11521. # Reset the flags
  11522. CXXFLAGS="$old_CXXFLAGS"
  11523. ac_ext=cpp
  11524. ac_cpp='$CXXCPP $CPPFLAGS'
  11525. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11526. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11527. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11528. if test x$have_cxx11_defaulted_functions == xyes; then
  11529. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE=
  11530. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE='#'
  11531. else
  11532. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE='#'
  11533. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE=
  11534. fi
  11535. if test "x$have_cxx11_defaulted_functions" != "xyes"; then :
  11536. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 defaulted function support" >&5
  11537. $as_echo "$as_me: WARNING: libMesh requires C++11 defaulted function support" >&2;}
  11538. have_cxx_all=no
  11539. fi
  11540. have_cxx11_nullptr=no
  11541. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 nullptr support" >&5
  11542. $as_echo_n "checking for C++11 nullptr support... " >&6; }
  11543. ac_ext=cpp
  11544. ac_cpp='$CXXCPP $CPPFLAGS'
  11545. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11546. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11547. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11548. old_CXXFLAGS="$CXXFLAGS"
  11549. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11550. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11551. /* end confdefs.h. */
  11552. #include <cstddef>
  11553. void f(int * pi) {}
  11554. void f(double * pd) {}
  11555. void f(std::nullptr_t nullp) {}
  11556. int
  11557. main ()
  11558. {
  11559. // would be ambiguous without void f(nullptr_t)
  11560. f(nullptr);
  11561. ;
  11562. return 0;
  11563. }
  11564. _ACEOF
  11565. if ac_fn_cxx_try_compile "$LINENO"; then :
  11566. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11567. $as_echo "yes" >&6; }
  11568. $as_echo "#define HAVE_CXX11_NULLPTR 1" >>confdefs.h
  11569. have_cxx11_nullptr=yes
  11570. else
  11571. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11572. $as_echo "no" >&6; }
  11573. fi
  11574. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11575. # Reset the flags
  11576. CXXFLAGS="$old_CXXFLAGS"
  11577. ac_ext=cpp
  11578. ac_cpp='$CXXCPP $CPPFLAGS'
  11579. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11580. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11581. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11582. if test x$have_cxx11_nullptr == xyes; then
  11583. HAVE_CXX11_NULLPTR_TRUE=
  11584. HAVE_CXX11_NULLPTR_FALSE='#'
  11585. else
  11586. HAVE_CXX11_NULLPTR_TRUE='#'
  11587. HAVE_CXX11_NULLPTR_FALSE=
  11588. fi
  11589. if test "x$have_cxx11_nullptr" != "xyes"; then :
  11590. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 nullptr keyword" >&5
  11591. $as_echo "$as_me: WARNING: libMesh requires the C++11 nullptr keyword" >&2;}
  11592. have_cxx_all=no
  11593. fi
  11594. have_cxx11_final=no
  11595. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 'final' keyword support" >&5
  11596. $as_echo_n "checking for C++11 'final' keyword support... " >&6; }
  11597. ac_ext=cpp
  11598. ac_cpp='$CXXCPP $CPPFLAGS'
  11599. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11600. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11601. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11602. old_CXXFLAGS="$CXXFLAGS"
  11603. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11604. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11605. /* end confdefs.h. */
  11606. // Test that a function can be declared final.
  11607. struct A
  11608. {
  11609. virtual void foo() final;
  11610. };
  11611. // Test that a struct can be declared final.
  11612. struct B final : A
  11613. {
  11614. };
  11615. int
  11616. main ()
  11617. {
  11618. ;
  11619. return 0;
  11620. }
  11621. _ACEOF
  11622. if ac_fn_cxx_try_compile "$LINENO"; then :
  11623. have_cxx11_final=yes
  11624. else
  11625. have_cxx11_final=no
  11626. fi
  11627. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11628. # Confirm that you cannot declare a non-virtual function 'final'.
  11629. if test "x$have_cxx11_final" != "xno"; then :
  11630. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11631. /* end confdefs.h. */
  11632. struct A
  11633. {
  11634. // Error: non-virtual function cannot be final
  11635. void bar() final;
  11636. };
  11637. int
  11638. main ()
  11639. {
  11640. ;
  11641. return 0;
  11642. }
  11643. _ACEOF
  11644. if ac_fn_cxx_try_compile "$LINENO"; then :
  11645. # If this code compiles, 'final' is not working correctly.
  11646. have_cxx11_final=no
  11647. else
  11648. have_cxx11_final=yes
  11649. fi
  11650. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11651. fi
  11652. if test "x$have_cxx11_final" != "xno"; then :
  11653. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11654. /* end confdefs.h. */
  11655. struct A
  11656. {
  11657. virtual void foo() final;
  11658. };
  11659. struct B : A
  11660. {
  11661. // Error: foo cannot be overridden as it's final in A
  11662. void foo();
  11663. };
  11664. int
  11665. main ()
  11666. {
  11667. ;
  11668. return 0;
  11669. }
  11670. _ACEOF
  11671. if ac_fn_cxx_try_compile "$LINENO"; then :
  11672. # If this code compiles, 'final' is not working correctly.
  11673. have_cxx11_final=no
  11674. else
  11675. have_cxx11_final=yes
  11676. fi
  11677. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11678. fi
  11679. if test "x$have_cxx11_final" != "xno"; then :
  11680. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11681. /* end confdefs.h. */
  11682. struct A
  11683. {
  11684. };
  11685. // struct B is final
  11686. struct B final : A
  11687. {
  11688. };
  11689. // Error: B is final
  11690. struct C : B
  11691. {
  11692. };
  11693. int
  11694. main ()
  11695. {
  11696. ;
  11697. return 0;
  11698. }
  11699. _ACEOF
  11700. if ac_fn_cxx_try_compile "$LINENO"; then :
  11701. # If this code compiles, 'final' is not working correctly.
  11702. have_cxx11_final=no
  11703. else
  11704. have_cxx11_final=yes
  11705. fi
  11706. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11707. fi
  11708. # If the flag is still 'yes' after all the tests, set the #define.
  11709. if test "x$have_cxx11_final" = "xyes"; then :
  11710. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11711. $as_echo "yes" >&6; }
  11712. $as_echo "#define HAVE_CXX11_FINAL 1" >>confdefs.h
  11713. else
  11714. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11715. $as_echo "no" >&6; }
  11716. fi
  11717. # Reset the flags
  11718. CXXFLAGS="$old_CXXFLAGS"
  11719. ac_ext=cpp
  11720. ac_cpp='$CXXCPP $CPPFLAGS'
  11721. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11722. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11723. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11724. if test x$have_cxx11_final == xyes; then
  11725. HAVE_CXX11_FINAL_TRUE=
  11726. HAVE_CXX11_FINAL_FALSE='#'
  11727. else
  11728. HAVE_CXX11_FINAL_TRUE='#'
  11729. HAVE_CXX11_FINAL_FALSE=
  11730. fi
  11731. if test "x$have_cxx11_final" != "xyes"; then :
  11732. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 final keyword" >&5
  11733. $as_echo "$as_me: WARNING: libMesh requires the C++11 final keyword" >&2;}
  11734. have_cxx_all=no
  11735. fi
  11736. have_cxx11_decltype=no
  11737. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 decltype support" >&5
  11738. $as_echo_n "checking for C++11 decltype support... " >&6; }
  11739. ac_ext=cpp
  11740. ac_cpp='$CXXCPP $CPPFLAGS'
  11741. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11742. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11743. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11744. old_CXXFLAGS="$CXXFLAGS"
  11745. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11746. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11747. /* end confdefs.h. */
  11748. #include <vector>
  11749. int
  11750. main ()
  11751. {
  11752. int a;
  11753. decltype(a) b;
  11754. std::vector<int> vec(10);
  11755. for (auto i = decltype(vec.size())(0); i < vec.size(); ++i)
  11756. vec[i] += i;
  11757. ;
  11758. return 0;
  11759. }
  11760. _ACEOF
  11761. if ac_fn_cxx_try_compile "$LINENO"; then :
  11762. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11763. $as_echo "yes" >&6; }
  11764. $as_echo "#define HAVE_CXX11_DECLTYPE 1" >>confdefs.h
  11765. have_cxx11_decltype=yes
  11766. else
  11767. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11768. $as_echo "no" >&6; }
  11769. fi
  11770. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11771. # Reset the flags
  11772. CXXFLAGS="$old_CXXFLAGS"
  11773. ac_ext=cpp
  11774. ac_cpp='$CXXCPP $CPPFLAGS'
  11775. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11776. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11777. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11778. if test x$have_cxx11_decltype == xyes; then
  11779. HAVE_CXX11_DECLTYPE_TRUE=
  11780. HAVE_CXX11_DECLTYPE_FALSE='#'
  11781. else
  11782. HAVE_CXX11_DECLTYPE_TRUE='#'
  11783. HAVE_CXX11_DECLTYPE_FALSE=
  11784. fi
  11785. if test "x$have_cxx11_decltype" != "xyes"; then :
  11786. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 decltype keyword" >&5
  11787. $as_echo "$as_me: WARNING: libMesh requires the C++11 decltype keyword" >&2;}
  11788. have_cxx_all=no
  11789. fi
  11790. have_cxx11_begin_end=no
  11791. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::begin/end support for arrays" >&5
  11792. $as_echo_n "checking for C++11 std::begin/end support for arrays... " >&6; }
  11793. ac_ext=cpp
  11794. ac_cpp='$CXXCPP $CPPFLAGS'
  11795. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11796. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11797. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11798. old_CXXFLAGS="$CXXFLAGS"
  11799. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11800. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11801. /* end confdefs.h. */
  11802. #include <iterator>
  11803. #include <algorithm>
  11804. int
  11805. main ()
  11806. {
  11807. int array[5] = {3, 1, 5, 2, 4};
  11808. std::sort(std::begin(array), std::end(array));
  11809. ;
  11810. return 0;
  11811. }
  11812. _ACEOF
  11813. if ac_fn_cxx_try_compile "$LINENO"; then :
  11814. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11815. $as_echo "yes" >&6; }
  11816. have_cxx11_begin_end=yes
  11817. else
  11818. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11819. $as_echo "no" >&6; }
  11820. fi
  11821. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11822. CXXFLAGS="$old_CXXFLAGS"
  11823. ac_ext=cpp
  11824. ac_cpp='$CXXCPP $CPPFLAGS'
  11825. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11826. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11827. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11828. if test "x$have_cxx11_begin_end" != "xyes"; then :
  11829. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::begin/end support" >&5
  11830. $as_echo "$as_me: WARNING: libMesh requires C++11 std::begin/end support" >&2;}
  11831. have_cxx_all=no
  11832. fi
  11833. have_cxx11_container_erase=no
  11834. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std container erase() functions returning iterators" >&5
  11835. $as_echo_n "checking for C++11 std container erase() functions returning iterators... " >&6; }
  11836. ac_ext=cpp
  11837. ac_cpp='$CXXCPP $CPPFLAGS'
  11838. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11839. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11840. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11841. old_CXXFLAGS="$CXXFLAGS"
  11842. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11843. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11844. /* end confdefs.h. */
  11845. #include <map>
  11846. #include <set>
  11847. int
  11848. main ()
  11849. {
  11850. {
  11851. std::map<int, int> m;
  11852. m.insert(std::make_pair(1,2));
  11853. std::map<int, int>::iterator it = m.erase(m.begin());
  11854. }
  11855. {
  11856. std::set<int> s;
  11857. s.insert(1);
  11858. std::set<int>::iterator it = s.erase(s.begin());
  11859. }
  11860. {
  11861. std::multimap<int, int> m;
  11862. m.insert(std::make_pair(1,2));
  11863. std::multimap<int, int>::iterator it = m.erase(m.begin());
  11864. }
  11865. {
  11866. std::multiset<int> s;
  11867. s.insert(1);
  11868. std::multiset<int>::iterator it = s.erase(s.begin());
  11869. }
  11870. ;
  11871. return 0;
  11872. }
  11873. _ACEOF
  11874. if ac_fn_cxx_try_compile "$LINENO"; then :
  11875. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11876. $as_echo "yes" >&6; }
  11877. have_cxx11_container_erase=yes
  11878. else
  11879. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11880. $as_echo "no" >&6; }
  11881. fi
  11882. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11883. CXXFLAGS="$old_CXXFLAGS"
  11884. ac_ext=cpp
  11885. ac_cpp='$CXXCPP $CPPFLAGS'
  11886. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11887. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11888. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11889. if test "x$have_cxx11_container_erase" != "xyes"; then :
  11890. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std container erase() functions returning iterators" >&5
  11891. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std container erase() functions returning iterators" >&2;}
  11892. have_cxx_all=no
  11893. fi
  11894. have_cxx11_container_emplace=no
  11895. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std container emplace() functions" >&5
  11896. $as_echo_n "checking for C++11 std container emplace() functions... " >&6; }
  11897. ac_ext=cpp
  11898. ac_cpp='$CXXCPP $CPPFLAGS'
  11899. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11900. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11901. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11902. old_CXXFLAGS="$CXXFLAGS"
  11903. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11904. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11905. /* end confdefs.h. */
  11906. #include <map>
  11907. #include <set>
  11908. #include <vector>
  11909. int
  11910. main ()
  11911. {
  11912. {
  11913. std::map<int, int> m;
  11914. m.emplace(1,2);
  11915. m.emplace_hint(m.begin(), 0, 3);
  11916. }
  11917. {
  11918. std::set<int> s;
  11919. s.emplace(1);
  11920. s.emplace_hint(s.begin(), 0);
  11921. }
  11922. {
  11923. std::multimap<int, int> m;
  11924. m.emplace(1,2);
  11925. m.emplace_hint(m.begin(), 0, 3);
  11926. }
  11927. {
  11928. std::multiset<int> s;
  11929. s.emplace(1);
  11930. s.emplace_hint(s.begin(), 0);
  11931. }
  11932. {
  11933. std::vector<int> v;
  11934. v.emplace(v.begin(), 0);
  11935. v.emplace_back(1);
  11936. }
  11937. ;
  11938. return 0;
  11939. }
  11940. _ACEOF
  11941. if ac_fn_cxx_try_compile "$LINENO"; then :
  11942. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11943. $as_echo "yes" >&6; }
  11944. have_cxx11_container_emplace=yes
  11945. else
  11946. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11947. $as_echo "no" >&6; }
  11948. fi
  11949. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11950. CXXFLAGS="$old_CXXFLAGS"
  11951. ac_ext=cpp
  11952. ac_cpp='$CXXCPP $CPPFLAGS'
  11953. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11954. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11955. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11956. if test "x$have_cxx11_container_emplace" != "xyes"; then :
  11957. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std container emplace() functions" >&5
  11958. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std container emplace() functions" >&2;}
  11959. have_cxx_all=no
  11960. fi
  11961. have_cxx11_iota=no
  11962. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::iota algorithm" >&5
  11963. $as_echo_n "checking for C++11 std::iota algorithm... " >&6; }
  11964. ac_ext=cpp
  11965. ac_cpp='$CXXCPP $CPPFLAGS'
  11966. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11967. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11968. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11969. old_CXXFLAGS="$CXXFLAGS"
  11970. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  11971. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  11972. /* end confdefs.h. */
  11973. #include <vector>
  11974. #include <numeric>
  11975. int
  11976. main ()
  11977. {
  11978. std::vector<int> v(10);
  11979. std::iota(v.begin(), v.end(), 0);
  11980. ;
  11981. return 0;
  11982. }
  11983. _ACEOF
  11984. if ac_fn_cxx_try_compile "$LINENO"; then :
  11985. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  11986. $as_echo "yes" >&6; }
  11987. have_cxx11_iota=yes
  11988. else
  11989. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  11990. $as_echo "no" >&6; }
  11991. fi
  11992. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  11993. CXXFLAGS="$old_CXXFLAGS"
  11994. ac_ext=cpp
  11995. ac_cpp='$CXXCPP $CPPFLAGS'
  11996. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  11997. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  11998. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  11999. if test "x$have_cxx11_iota" != "xyes"; then :
  12000. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::iota" >&5
  12001. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::iota" >&2;}
  12002. have_cxx_all=no
  12003. fi
  12004. have_cxx11_vector_data=no
  12005. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::vector::data() API" >&5
  12006. $as_echo_n "checking for C++11 std::vector::data() API... " >&6; }
  12007. ac_ext=cpp
  12008. ac_cpp='$CXXCPP $CPPFLAGS'
  12009. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12010. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12011. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12012. old_CXXFLAGS="$CXXFLAGS"
  12013. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12014. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12015. /* end confdefs.h. */
  12016. #include <vector>
  12017. int
  12018. main ()
  12019. {
  12020. std::vector<int> v(10);
  12021. int * begin = v.data();
  12022. ;
  12023. return 0;
  12024. }
  12025. _ACEOF
  12026. if ac_fn_cxx_try_compile "$LINENO"; then :
  12027. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12028. $as_echo "yes" >&6; }
  12029. have_cxx11_vector_data=yes
  12030. else
  12031. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12032. $as_echo "no" >&6; }
  12033. fi
  12034. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12035. CXXFLAGS="$old_CXXFLAGS"
  12036. ac_ext=cpp
  12037. ac_cpp='$CXXCPP $CPPFLAGS'
  12038. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12039. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12040. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12041. if test "x$have_cxx11_vector_data" != "xyes"; then :
  12042. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::vector::data()" >&5
  12043. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::vector::data()" >&2;}
  12044. have_cxx_all=no
  12045. fi
  12046. have_cxx11_shared_ptr=no
  12047. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::shared_ptr support" >&5
  12048. $as_echo_n "checking for C++11 std::shared_ptr support... " >&6; }
  12049. ac_ext=cpp
  12050. ac_cpp='$CXXCPP $CPPFLAGS'
  12051. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12052. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12053. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12054. # Save any original value that CXXFLAGS had
  12055. old_CXXFLAGS="$CXXFLAGS"
  12056. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12057. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12058. /* end confdefs.h. */
  12059. #include <memory>
  12060. int
  12061. main ()
  12062. {
  12063. std::shared_ptr<int> p1;
  12064. std::shared_ptr<int> p2 (new int);
  12065. std::shared_ptr<int> p3 (p2);
  12066. p3.reset(new int);
  12067. p3 = std::make_shared<int>(5);
  12068. ;
  12069. return 0;
  12070. }
  12071. _ACEOF
  12072. if ac_fn_cxx_try_compile "$LINENO"; then :
  12073. have_cxx11_shared_ptr=yes
  12074. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12075. $as_echo "yes" >&6; }
  12076. else
  12077. have_cxx11_shared_ptr=no
  12078. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12079. $as_echo "no" >&6; }
  12080. fi
  12081. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12082. if test "x$have_cxx11_shared_ptr" = "xyes"; then :
  12083. $as_echo "#define HAVE_CXX11_SHARED_PTR 1" >>confdefs.h
  12084. fi
  12085. # Reset the flags
  12086. CXXFLAGS="$old_CXXFLAGS"
  12087. ac_ext=cpp
  12088. ac_cpp='$CXXCPP $CPPFLAGS'
  12089. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12090. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12091. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12092. if test x$have_cxx11_shared_ptr == xyes; then
  12093. HAVE_CXX11_SHARED_PTR_TRUE=
  12094. HAVE_CXX11_SHARED_PTR_FALSE='#'
  12095. else
  12096. HAVE_CXX11_SHARED_PTR_TRUE='#'
  12097. HAVE_CXX11_SHARED_PTR_FALSE=
  12098. fi
  12099. if test "x$have_cxx11_shared_ptr" != "xyes"; then :
  12100. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::shared_ptr" >&5
  12101. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::shared_ptr" >&2;}
  12102. have_cxx_all=no
  12103. fi
  12104. have_cxx11_rvalue_references=no
  12105. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 rvalue references support" >&5
  12106. $as_echo_n "checking for C++11 rvalue references support... " >&6; }
  12107. ac_ext=cpp
  12108. ac_cpp='$CXXCPP $CPPFLAGS'
  12109. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12110. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12111. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12112. old_CXXFLAGS="$CXXFLAGS"
  12113. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12114. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12115. /* end confdefs.h. */
  12116. int foo(int && x) { return x; }
  12117. int bar() { return 4; }
  12118. int
  12119. main ()
  12120. {
  12121. // Call function that takes an rvalue reference.
  12122. foo (bar());
  12123. ;
  12124. return 0;
  12125. }
  12126. _ACEOF
  12127. if ac_fn_cxx_try_compile "$LINENO"; then :
  12128. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12129. $as_echo "yes" >&6; }
  12130. $as_echo "#define HAVE_CXX11_RVALUE_REFERENCES 1" >>confdefs.h
  12131. have_cxx11_rvalue_references=yes
  12132. else
  12133. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12134. $as_echo "no" >&6; }
  12135. fi
  12136. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12137. # Reset the flags
  12138. CXXFLAGS="$old_CXXFLAGS"
  12139. ac_ext=cpp
  12140. ac_cpp='$CXXCPP $CPPFLAGS'
  12141. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12142. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12143. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12144. if test x$have_cxx11_rvalue_references == xyes; then
  12145. HAVE_CXX11_RVALUE_REFERENCES_TRUE=
  12146. HAVE_CXX11_RVALUE_REFERENCES_FALSE='#'
  12147. else
  12148. HAVE_CXX11_RVALUE_REFERENCES_TRUE='#'
  12149. HAVE_CXX11_RVALUE_REFERENCES_FALSE=
  12150. fi
  12151. if test "x$have_cxx11_rvalue_references" != "xyes"; then :
  12152. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for rvalue references" >&5
  12153. $as_echo "$as_me: WARNING: libMesh requires C++11 support for rvalue references" >&2;}
  12154. have_cxx_all=no
  12155. fi
  12156. have_cxx11_to_string=no
  12157. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::to_string() support" >&5
  12158. $as_echo_n "checking for C++11 std::to_string() support... " >&6; }
  12159. ac_ext=cpp
  12160. ac_cpp='$CXXCPP $CPPFLAGS'
  12161. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12162. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12163. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12164. old_CXXFLAGS="$CXXFLAGS"
  12165. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12166. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12167. /* end confdefs.h. */
  12168. #include <string>
  12169. int
  12170. main ()
  12171. {
  12172. // tiny="0.000000". Note: std::to_string(double) is required to produce
  12173. // a std::string with the same contents as std::sprintf(buf, "%f", value)
  12174. // would produce, given a sufficiently large buf. This is *different* from
  12175. // what you get from a std::stringstream using default formatting and
  12176. // precision flags, i.e.
  12177. // std::ostringstream oss;
  12178. // oss << 1.e-40;
  12179. // std::string tiny = oss.str();
  12180. // will produce the string "1e-40".
  12181. std::string tiny = std::to_string(1.e-40);
  12182. ;
  12183. return 0;
  12184. }
  12185. _ACEOF
  12186. if ac_fn_cxx_try_compile "$LINENO"; then :
  12187. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12188. $as_echo "yes" >&6; }
  12189. $as_echo "#define HAVE_CXX11_TO_STRING 1" >>confdefs.h
  12190. have_cxx11_to_string=yes
  12191. else
  12192. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12193. $as_echo "no" >&6; }
  12194. fi
  12195. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12196. # Reset the flags
  12197. CXXFLAGS="$old_CXXFLAGS"
  12198. ac_ext=cpp
  12199. ac_cpp='$CXXCPP $CPPFLAGS'
  12200. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12201. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12202. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12203. if test x$have_cxx11_to_string == xyes; then
  12204. HAVE_CXX11_TO_STRING_TRUE=
  12205. HAVE_CXX11_TO_STRING_FALSE='#'
  12206. else
  12207. HAVE_CXX11_TO_STRING_TRUE='#'
  12208. HAVE_CXX11_TO_STRING_FALSE=
  12209. fi
  12210. if test "x$have_cxx11_to_string" != "xyes"; then :
  12211. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::to_string()" >&5
  12212. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::to_string()" >&2;}
  12213. have_cxx_all=no
  12214. fi
  12215. have_cxx11_constexpr=no
  12216. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 constexpr support" >&5
  12217. $as_echo_n "checking for C++11 constexpr support... " >&6; }
  12218. ac_ext=cpp
  12219. ac_cpp='$CXXCPP $CPPFLAGS'
  12220. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12221. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12222. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12223. old_CXXFLAGS="$CXXFLAGS"
  12224. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12225. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12226. /* end confdefs.h. */
  12227. constexpr int multiply (int x, int y) { return x * y; }
  12228. int
  12229. main ()
  12230. {
  12231. // The compiler should compute "val" at compile time.
  12232. const int val = multiply(10, 10);
  12233. ;
  12234. return 0;
  12235. }
  12236. _ACEOF
  12237. if ac_fn_cxx_try_compile "$LINENO"; then :
  12238. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12239. $as_echo "yes" >&6; }
  12240. $as_echo "#define HAVE_CXX11_CONSTEXPR 1" >>confdefs.h
  12241. have_cxx11_constexpr=yes
  12242. else
  12243. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12244. $as_echo "no" >&6; }
  12245. fi
  12246. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12247. # Reset the flags
  12248. CXXFLAGS="$old_CXXFLAGS"
  12249. ac_ext=cpp
  12250. ac_cpp='$CXXCPP $CPPFLAGS'
  12251. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12252. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12253. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12254. if test x$have_cxx11_constexpr == xyes; then
  12255. HAVE_CXX11_CONSTEXPR_TRUE=
  12256. HAVE_CXX11_CONSTEXPR_FALSE='#'
  12257. else
  12258. HAVE_CXX11_CONSTEXPR_TRUE='#'
  12259. HAVE_CXX11_CONSTEXPR_FALSE=
  12260. fi
  12261. if test "x$have_cxx11_constexpr" != "xyes"; then :
  12262. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for constexpr" >&5
  12263. $as_echo "$as_me: WARNING: libMesh requires C++11 support for constexpr" >&2;}
  12264. have_cxx_all=no
  12265. fi
  12266. have_cxx11_variadic_templates=no
  12267. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 variadic template support" >&5
  12268. $as_echo_n "checking for C++11 variadic template support... " >&6; }
  12269. ac_ext=cpp
  12270. ac_cpp='$CXXCPP $CPPFLAGS'
  12271. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12272. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12273. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12274. old_CXXFLAGS="$CXXFLAGS"
  12275. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12276. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12277. /* end confdefs.h. */
  12278. // Base case
  12279. template <typename T>
  12280. T sum(T t) { return t; }
  12281. // Compute sum of arbitrary number of passed parameters.
  12282. template <typename T, typename ...P>
  12283. T sum(T t, P ...p)
  12284. {
  12285. t += sum(p...);
  12286. return t;
  12287. }
  12288. int
  12289. main ()
  12290. {
  12291. sum(1, 2, 3, 4, 5);
  12292. ;
  12293. return 0;
  12294. }
  12295. _ACEOF
  12296. if ac_fn_cxx_try_compile "$LINENO"; then :
  12297. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12298. $as_echo "yes" >&6; }
  12299. $as_echo "#define HAVE_CXX11_VARIADIC_TEMPLATES 1" >>confdefs.h
  12300. have_cxx11_variadic_templates=yes
  12301. else
  12302. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12303. $as_echo "no" >&6; }
  12304. fi
  12305. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12306. # Reset the flags
  12307. CXXFLAGS="$old_CXXFLAGS"
  12308. ac_ext=cpp
  12309. ac_cpp='$CXXCPP $CPPFLAGS'
  12310. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12311. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12312. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12313. if test x$have_cxx11_variadic_templates == xyes; then
  12314. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE=
  12315. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE='#'
  12316. else
  12317. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE='#'
  12318. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE=
  12319. fi
  12320. if test "x$have_cxx11_variadic_templates" != "xyes"; then :
  12321. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for variadic templates" >&5
  12322. $as_echo "$as_me: WARNING: libMesh requires C++11 support for variadic templates" >&2;}
  12323. have_cxx_all=no
  12324. fi
  12325. have_cxx11_alias_declarations=no
  12326. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 alias declarations support" >&5
  12327. $as_echo_n "checking for C++11 alias declarations support... " >&6; }
  12328. ac_ext=cpp
  12329. ac_cpp='$CXXCPP $CPPFLAGS'
  12330. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12331. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12332. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12333. old_CXXFLAGS="$CXXFLAGS"
  12334. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12335. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12336. /* end confdefs.h. */
  12337. template <typename T>
  12338. struct check
  12339. {
  12340. T t;
  12341. };
  12342. // An alias declaration is like a templated typedef
  12343. template <typename T>
  12344. using MyCheck = check<T>;
  12345. int
  12346. main ()
  12347. {
  12348. MyCheck<int> mc;
  12349. ;
  12350. return 0;
  12351. }
  12352. _ACEOF
  12353. if ac_fn_cxx_try_compile "$LINENO"; then :
  12354. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12355. $as_echo "yes" >&6; }
  12356. $as_echo "#define HAVE_CXX11_ALIAS_DECLARATIONS 1" >>confdefs.h
  12357. have_cxx11_alias_declarations=yes
  12358. else
  12359. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12360. $as_echo "no" >&6; }
  12361. fi
  12362. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12363. # Reset the flags
  12364. CXXFLAGS="$old_CXXFLAGS"
  12365. ac_ext=cpp
  12366. ac_cpp='$CXXCPP $CPPFLAGS'
  12367. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12368. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12369. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12370. if test x$have_cxx11_alias_declarations == xyes; then
  12371. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE=
  12372. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE='#'
  12373. else
  12374. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE='#'
  12375. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE=
  12376. fi
  12377. if test "x$have_cxx11_alias_declarations" != "xyes"; then :
  12378. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for alias declarations" >&5
  12379. $as_echo "$as_me: WARNING: libMesh requires C++11 support for alias declarations" >&2;}
  12380. have_cxx_all=no
  12381. fi
  12382. have_cxx11_array=no
  12383. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::array" >&5
  12384. $as_echo_n "checking for C++11 std::array... " >&6; }
  12385. ac_ext=cpp
  12386. ac_cpp='$CXXCPP $CPPFLAGS'
  12387. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12388. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12389. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12390. old_CXXFLAGS="$CXXFLAGS"
  12391. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12392. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12393. /* end confdefs.h. */
  12394. #include <array>
  12395. int
  12396. main ()
  12397. {
  12398. std::array<double, 4> a;
  12399. a[0] = 42.0;
  12400. double * begin = a.data();
  12401. ;
  12402. return 0;
  12403. }
  12404. _ACEOF
  12405. if ac_fn_cxx_try_compile "$LINENO"; then :
  12406. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12407. $as_echo "yes" >&6; }
  12408. have_cxx11_array=yes
  12409. else
  12410. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12411. $as_echo "no" >&6; }
  12412. fi
  12413. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12414. CXXFLAGS="$old_CXXFLAGS"
  12415. ac_ext=cpp
  12416. ac_cpp='$CXXCPP $CPPFLAGS'
  12417. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12418. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12419. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12420. if test "x$have_cxx11_array" != "xyes"; then :
  12421. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::array" >&5
  12422. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::array" >&2;}
  12423. have_cxx_all=no
  12424. fi
  12425. have_cxx11_isnan=no
  12426. have_cxx11_isinf=no
  12427. ac_ext=cpp
  12428. ac_cpp='$CXXCPP $CPPFLAGS'
  12429. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12430. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12431. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12432. old_CXXFLAGS="$CXXFLAGS"
  12433. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  12434. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::isnan" >&5
  12435. $as_echo_n "checking for C++11 std::isnan... " >&6; }
  12436. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12437. /* end confdefs.h. */
  12438. #include <cmath>
  12439. int
  12440. main ()
  12441. {
  12442. if (std::isnan(0.0))
  12443. return 1;
  12444. ;
  12445. return 0;
  12446. }
  12447. _ACEOF
  12448. if ac_fn_cxx_try_compile "$LINENO"; then :
  12449. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12450. $as_echo "yes" >&6; }
  12451. have_cxx11_isnan=yes
  12452. else
  12453. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12454. $as_echo "no" >&6; }
  12455. fi
  12456. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12457. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::isinf" >&5
  12458. $as_echo_n "checking for C++11 std::isinf... " >&6; }
  12459. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12460. /* end confdefs.h. */
  12461. #include <cmath>
  12462. int
  12463. main ()
  12464. {
  12465. if (std::isinf(0.0))
  12466. return 1;
  12467. ;
  12468. return 0;
  12469. }
  12470. _ACEOF
  12471. if ac_fn_cxx_try_compile "$LINENO"; then :
  12472. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  12473. $as_echo "yes" >&6; }
  12474. have_cxx11_isinf=yes
  12475. else
  12476. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  12477. $as_echo "no" >&6; }
  12478. fi
  12479. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12480. CXXFLAGS="$old_CXXFLAGS"
  12481. ac_ext=cpp
  12482. ac_cpp='$CXXCPP $CPPFLAGS'
  12483. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12484. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12485. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12486. if test "x$have_cxx11_isnan" != "xyes"; then :
  12487. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::isnan" >&5
  12488. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::isnan" >&2;}
  12489. have_cxx_all=no
  12490. fi
  12491. if test "x$have_cxx11_isinf" != "xyes"; then :
  12492. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::isinf" >&5
  12493. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::isinf" >&2;}
  12494. have_cxx_all=no
  12495. fi
  12496. fi
  12497. if test "$HAVE_CXX17" = "1" -a "x$have_cxx_all" = xyes; then :
  12498. { $as_echo "$as_me:${as_lineno-$LINENO}: Found C++17 standard support" >&5
  12499. $as_echo "$as_me: Found C++17 standard support" >&6;}
  12500. if test $acsm_found_cxx -eq 0; then :
  12501. acsm_cxx_version=17
  12502. fi
  12503. acsm_found_cxx=1
  12504. else
  12505. CXX="$acsm_backup_CXX"
  12506. CXXCPP="$acsm_backup_CXXCPP"
  12507. if test "$HAVE_CXX17" = "0"; then :
  12508. { $as_echo "$as_me:${as_lineno-$LINENO}: Did not find C++17 standard support" >&5
  12509. $as_echo "$as_me: Did not find C++17 standard support" >&6;}
  12510. fi
  12511. fi
  12512. fi
  12513. if test 2014 -le "$acsm_CXX_STD_MAX"; then :
  12514. if test 2014 -gt "$acsm_CXX_STD_MIN"; then :
  12515. ax_cxx_compile_alternatives="14 1y" ax_cxx_compile_cxx14_required=false
  12516. ac_ext=cpp
  12517. ac_cpp='$CXXCPP $CPPFLAGS'
  12518. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  12519. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  12520. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  12521. ac_success=no
  12522. cachevar=ax_cv_cxx_compile_cxx14
  12523. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features by default" >&5
  12524. $as_echo_n "checking whether $CXX supports C++14 features by default... " >&6; }
  12525. if eval \${$cachevar+:} false; then :
  12526. $as_echo_n "(cached) " >&6
  12527. else
  12528. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12529. /* end confdefs.h. */
  12530. // If the compiler admits that it is not ready for C++11, why torture it?
  12531. // Hopefully, this will speed up the test.
  12532. #ifndef __cplusplus
  12533. #error "This is not a C++ compiler"
  12534. #elif __cplusplus < 201103L
  12535. #error "This is not a C++11 compiler"
  12536. #else
  12537. namespace cxx11
  12538. {
  12539. namespace test_static_assert
  12540. {
  12541. template <typename T>
  12542. struct check
  12543. {
  12544. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  12545. };
  12546. }
  12547. namespace test_final_override
  12548. {
  12549. struct Base
  12550. {
  12551. virtual ~Base() {}
  12552. virtual void f() {}
  12553. };
  12554. struct Derived : public Base
  12555. {
  12556. virtual ~Derived() override {}
  12557. virtual void f() override {}
  12558. };
  12559. }
  12560. namespace test_double_right_angle_brackets
  12561. {
  12562. template < typename T >
  12563. struct check {};
  12564. typedef check<void> single_type;
  12565. typedef check<check<void>> double_type;
  12566. typedef check<check<check<void>>> triple_type;
  12567. typedef check<check<check<check<void>>>> quadruple_type;
  12568. }
  12569. namespace test_decltype
  12570. {
  12571. int
  12572. f()
  12573. {
  12574. int a = 1;
  12575. decltype(a) b = 2;
  12576. return a + b;
  12577. }
  12578. }
  12579. namespace test_type_deduction
  12580. {
  12581. template < typename T1, typename T2 >
  12582. struct is_same
  12583. {
  12584. static const bool value = false;
  12585. };
  12586. template < typename T >
  12587. struct is_same<T, T>
  12588. {
  12589. static const bool value = true;
  12590. };
  12591. template < typename T1, typename T2 >
  12592. auto
  12593. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  12594. {
  12595. return a1 + a2;
  12596. }
  12597. int
  12598. test(const int c, volatile int v)
  12599. {
  12600. static_assert(is_same<int, decltype(0)>::value == true, "");
  12601. static_assert(is_same<int, decltype(c)>::value == false, "");
  12602. static_assert(is_same<int, decltype(v)>::value == false, "");
  12603. auto ac = c;
  12604. auto av = v;
  12605. auto sumi = ac + av + 'x';
  12606. auto sumf = ac + av + 1.0;
  12607. static_assert(is_same<int, decltype(ac)>::value == true, "");
  12608. static_assert(is_same<int, decltype(av)>::value == true, "");
  12609. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  12610. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  12611. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  12612. return (sumf > 0.0) ? sumi : add(c, v);
  12613. }
  12614. }
  12615. namespace test_noexcept
  12616. {
  12617. int f() { return 0; }
  12618. int g() noexcept { return 0; }
  12619. static_assert(noexcept(f()) == false, "");
  12620. static_assert(noexcept(g()) == true, "");
  12621. }
  12622. namespace test_constexpr
  12623. {
  12624. template < typename CharT >
  12625. unsigned long constexpr
  12626. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  12627. {
  12628. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  12629. }
  12630. template < typename CharT >
  12631. unsigned long constexpr
  12632. strlen_c(const CharT *const s) noexcept
  12633. {
  12634. return strlen_c_r(s, 0UL);
  12635. }
  12636. static_assert(strlen_c("") == 0UL, "");
  12637. static_assert(strlen_c("1") == 1UL, "");
  12638. static_assert(strlen_c("example") == 7UL, "");
  12639. static_assert(strlen_c("another\0example") == 7UL, "");
  12640. }
  12641. namespace test_rvalue_references
  12642. {
  12643. template < int N >
  12644. struct answer
  12645. {
  12646. static constexpr int value = N;
  12647. };
  12648. answer<1> f(int&) { return answer<1>(); }
  12649. answer<2> f(const int&) { return answer<2>(); }
  12650. answer<3> f(int&&) { return answer<3>(); }
  12651. void
  12652. test()
  12653. {
  12654. int i = 0;
  12655. const int c = 0;
  12656. static_assert(decltype(f(i))::value == 1, "");
  12657. static_assert(decltype(f(c))::value == 2, "");
  12658. static_assert(decltype(f(0))::value == 3, "");
  12659. }
  12660. }
  12661. namespace test_uniform_initialization
  12662. {
  12663. struct test
  12664. {
  12665. static const int zero {};
  12666. static const int one {1};
  12667. };
  12668. static_assert(test::zero == 0, "");
  12669. static_assert(test::one == 1, "");
  12670. }
  12671. namespace test_lambdas
  12672. {
  12673. void
  12674. test1()
  12675. {
  12676. auto lambda1 = [](){};
  12677. auto lambda2 = lambda1;
  12678. lambda1();
  12679. lambda2();
  12680. }
  12681. int
  12682. test2()
  12683. {
  12684. auto a = [](int i, int j){ return i + j; }(1, 2);
  12685. auto b = []() -> int { return '0'; }();
  12686. auto c = [=](){ return a + b; }();
  12687. auto d = [&](){ return c; }();
  12688. auto e = [a, &b](int x) mutable {
  12689. const auto identity = [](int y){ return y; };
  12690. for (auto i = 0; i < a; ++i)
  12691. a += b--;
  12692. return x + identity(a + b);
  12693. }(0);
  12694. return a + b + c + d + e;
  12695. }
  12696. int
  12697. test3()
  12698. {
  12699. const auto nullary = [](){ return 0; };
  12700. const auto unary = [](int x){ return x; };
  12701. using nullary_t = decltype(nullary);
  12702. using unary_t = decltype(unary);
  12703. const auto higher1st = [](nullary_t f){ return f(); };
  12704. const auto higher2nd = [unary](nullary_t f1){
  12705. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  12706. };
  12707. return higher1st(nullary) + higher2nd(nullary)(unary);
  12708. }
  12709. }
  12710. namespace test_variadic_templates
  12711. {
  12712. template <int...>
  12713. struct sum;
  12714. template <int N0, int... N1toN>
  12715. struct sum<N0, N1toN...>
  12716. {
  12717. static constexpr auto value = N0 + sum<N1toN...>::value;
  12718. };
  12719. template <>
  12720. struct sum<>
  12721. {
  12722. static constexpr auto value = 0;
  12723. };
  12724. static_assert(sum<>::value == 0, "");
  12725. static_assert(sum<1>::value == 1, "");
  12726. static_assert(sum<23>::value == 23, "");
  12727. static_assert(sum<1, 2>::value == 3, "");
  12728. static_assert(sum<5, 5, 11>::value == 21, "");
  12729. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  12730. }
  12731. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  12732. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  12733. // because of this.
  12734. namespace test_template_alias_sfinae
  12735. {
  12736. struct foo {};
  12737. template<typename T>
  12738. using member = typename T::member_type;
  12739. template<typename T>
  12740. void func(...) {}
  12741. template<typename T>
  12742. void func(member<T>*) {}
  12743. void test();
  12744. void test() { func<foo>(0); }
  12745. }
  12746. } // namespace cxx11
  12747. #endif // __cplusplus >= 201103L
  12748. // If the compiler admits that it is not ready for C++14, why torture it?
  12749. // Hopefully, this will speed up the test.
  12750. #ifndef __cplusplus
  12751. #error "This is not a C++ compiler"
  12752. #elif __cplusplus < 201402L
  12753. #error "This is not a C++14 compiler"
  12754. #else
  12755. namespace cxx14
  12756. {
  12757. namespace test_polymorphic_lambdas
  12758. {
  12759. int
  12760. test()
  12761. {
  12762. const auto lambda = [](auto&&... args){
  12763. const auto istiny = [](auto x){
  12764. return (sizeof(x) == 1UL) ? 1 : 0;
  12765. };
  12766. const int aretiny[] = { istiny(args)... };
  12767. return aretiny[0];
  12768. };
  12769. return lambda(1, 1L, 1.0f, '1');
  12770. }
  12771. }
  12772. namespace test_binary_literals
  12773. {
  12774. constexpr auto ivii = 0b0000000000101010;
  12775. static_assert(ivii == 42, "wrong value");
  12776. }
  12777. namespace test_generalized_constexpr
  12778. {
  12779. template < typename CharT >
  12780. constexpr unsigned long
  12781. strlen_c(const CharT *const s) noexcept
  12782. {
  12783. auto length = 0UL;
  12784. for (auto p = s; *p; ++p)
  12785. ++length;
  12786. return length;
  12787. }
  12788. static_assert(strlen_c("") == 0UL, "");
  12789. static_assert(strlen_c("x") == 1UL, "");
  12790. static_assert(strlen_c("test") == 4UL, "");
  12791. static_assert(strlen_c("another\0test") == 7UL, "");
  12792. }
  12793. namespace test_lambda_init_capture
  12794. {
  12795. int
  12796. test()
  12797. {
  12798. auto x = 0;
  12799. const auto lambda1 = [a = x](int b){ return a + b; };
  12800. const auto lambda2 = [a = lambda1(x)](){ return a; };
  12801. return lambda2();
  12802. }
  12803. }
  12804. namespace test_digit_separators
  12805. {
  12806. constexpr auto ten_million = 100'000'000;
  12807. static_assert(ten_million == 100000000, "");
  12808. }
  12809. namespace test_return_type_deduction
  12810. {
  12811. auto f(int& x) { return x; }
  12812. decltype(auto) g(int& x) { return x; }
  12813. template < typename T1, typename T2 >
  12814. struct is_same
  12815. {
  12816. static constexpr auto value = false;
  12817. };
  12818. template < typename T >
  12819. struct is_same<T, T>
  12820. {
  12821. static constexpr auto value = true;
  12822. };
  12823. int
  12824. test()
  12825. {
  12826. auto x = 0;
  12827. static_assert(is_same<int, decltype(f(x))>::value, "");
  12828. static_assert(is_same<int&, decltype(g(x))>::value, "");
  12829. return x;
  12830. }
  12831. }
  12832. } // namespace cxx14
  12833. #endif // __cplusplus >= 201402L
  12834. _ACEOF
  12835. if ac_fn_cxx_try_compile "$LINENO"; then :
  12836. eval $cachevar=yes
  12837. else
  12838. eval $cachevar=no
  12839. fi
  12840. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  12841. fi
  12842. eval ac_res=\$$cachevar
  12843. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  12844. $as_echo "$ac_res" >&6; }
  12845. if eval test x\$$cachevar = xyes; then :
  12846. ac_success=yes
  12847. fi
  12848. if test x$ac_success = xno; then
  12849. for alternative in ${ax_cxx_compile_alternatives}; do
  12850. switch="-std=gnu++${alternative}"
  12851. cachevar=`$as_echo "ax_cv_cxx_compile_cxx14_$switch" | $as_tr_sh`
  12852. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features with $switch" >&5
  12853. $as_echo_n "checking whether $CXX supports C++14 features with $switch... " >&6; }
  12854. if eval \${$cachevar+:} false; then :
  12855. $as_echo_n "(cached) " >&6
  12856. else
  12857. ac_save_CXX="$CXX"
  12858. CXX="$CXX $switch"
  12859. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  12860. /* end confdefs.h. */
  12861. // If the compiler admits that it is not ready for C++11, why torture it?
  12862. // Hopefully, this will speed up the test.
  12863. #ifndef __cplusplus
  12864. #error "This is not a C++ compiler"
  12865. #elif __cplusplus < 201103L
  12866. #error "This is not a C++11 compiler"
  12867. #else
  12868. namespace cxx11
  12869. {
  12870. namespace test_static_assert
  12871. {
  12872. template <typename T>
  12873. struct check
  12874. {
  12875. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  12876. };
  12877. }
  12878. namespace test_final_override
  12879. {
  12880. struct Base
  12881. {
  12882. virtual ~Base() {}
  12883. virtual void f() {}
  12884. };
  12885. struct Derived : public Base
  12886. {
  12887. virtual ~Derived() override {}
  12888. virtual void f() override {}
  12889. };
  12890. }
  12891. namespace test_double_right_angle_brackets
  12892. {
  12893. template < typename T >
  12894. struct check {};
  12895. typedef check<void> single_type;
  12896. typedef check<check<void>> double_type;
  12897. typedef check<check<check<void>>> triple_type;
  12898. typedef check<check<check<check<void>>>> quadruple_type;
  12899. }
  12900. namespace test_decltype
  12901. {
  12902. int
  12903. f()
  12904. {
  12905. int a = 1;
  12906. decltype(a) b = 2;
  12907. return a + b;
  12908. }
  12909. }
  12910. namespace test_type_deduction
  12911. {
  12912. template < typename T1, typename T2 >
  12913. struct is_same
  12914. {
  12915. static const bool value = false;
  12916. };
  12917. template < typename T >
  12918. struct is_same<T, T>
  12919. {
  12920. static const bool value = true;
  12921. };
  12922. template < typename T1, typename T2 >
  12923. auto
  12924. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  12925. {
  12926. return a1 + a2;
  12927. }
  12928. int
  12929. test(const int c, volatile int v)
  12930. {
  12931. static_assert(is_same<int, decltype(0)>::value == true, "");
  12932. static_assert(is_same<int, decltype(c)>::value == false, "");
  12933. static_assert(is_same<int, decltype(v)>::value == false, "");
  12934. auto ac = c;
  12935. auto av = v;
  12936. auto sumi = ac + av + 'x';
  12937. auto sumf = ac + av + 1.0;
  12938. static_assert(is_same<int, decltype(ac)>::value == true, "");
  12939. static_assert(is_same<int, decltype(av)>::value == true, "");
  12940. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  12941. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  12942. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  12943. return (sumf > 0.0) ? sumi : add(c, v);
  12944. }
  12945. }
  12946. namespace test_noexcept
  12947. {
  12948. int f() { return 0; }
  12949. int g() noexcept { return 0; }
  12950. static_assert(noexcept(f()) == false, "");
  12951. static_assert(noexcept(g()) == true, "");
  12952. }
  12953. namespace test_constexpr
  12954. {
  12955. template < typename CharT >
  12956. unsigned long constexpr
  12957. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  12958. {
  12959. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  12960. }
  12961. template < typename CharT >
  12962. unsigned long constexpr
  12963. strlen_c(const CharT *const s) noexcept
  12964. {
  12965. return strlen_c_r(s, 0UL);
  12966. }
  12967. static_assert(strlen_c("") == 0UL, "");
  12968. static_assert(strlen_c("1") == 1UL, "");
  12969. static_assert(strlen_c("example") == 7UL, "");
  12970. static_assert(strlen_c("another\0example") == 7UL, "");
  12971. }
  12972. namespace test_rvalue_references
  12973. {
  12974. template < int N >
  12975. struct answer
  12976. {
  12977. static constexpr int value = N;
  12978. };
  12979. answer<1> f(int&) { return answer<1>(); }
  12980. answer<2> f(const int&) { return answer<2>(); }
  12981. answer<3> f(int&&) { return answer<3>(); }
  12982. void
  12983. test()
  12984. {
  12985. int i = 0;
  12986. const int c = 0;
  12987. static_assert(decltype(f(i))::value == 1, "");
  12988. static_assert(decltype(f(c))::value == 2, "");
  12989. static_assert(decltype(f(0))::value == 3, "");
  12990. }
  12991. }
  12992. namespace test_uniform_initialization
  12993. {
  12994. struct test
  12995. {
  12996. static const int zero {};
  12997. static const int one {1};
  12998. };
  12999. static_assert(test::zero == 0, "");
  13000. static_assert(test::one == 1, "");
  13001. }
  13002. namespace test_lambdas
  13003. {
  13004. void
  13005. test1()
  13006. {
  13007. auto lambda1 = [](){};
  13008. auto lambda2 = lambda1;
  13009. lambda1();
  13010. lambda2();
  13011. }
  13012. int
  13013. test2()
  13014. {
  13015. auto a = [](int i, int j){ return i + j; }(1, 2);
  13016. auto b = []() -> int { return '0'; }();
  13017. auto c = [=](){ return a + b; }();
  13018. auto d = [&](){ return c; }();
  13019. auto e = [a, &b](int x) mutable {
  13020. const auto identity = [](int y){ return y; };
  13021. for (auto i = 0; i < a; ++i)
  13022. a += b--;
  13023. return x + identity(a + b);
  13024. }(0);
  13025. return a + b + c + d + e;
  13026. }
  13027. int
  13028. test3()
  13029. {
  13030. const auto nullary = [](){ return 0; };
  13031. const auto unary = [](int x){ return x; };
  13032. using nullary_t = decltype(nullary);
  13033. using unary_t = decltype(unary);
  13034. const auto higher1st = [](nullary_t f){ return f(); };
  13035. const auto higher2nd = [unary](nullary_t f1){
  13036. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  13037. };
  13038. return higher1st(nullary) + higher2nd(nullary)(unary);
  13039. }
  13040. }
  13041. namespace test_variadic_templates
  13042. {
  13043. template <int...>
  13044. struct sum;
  13045. template <int N0, int... N1toN>
  13046. struct sum<N0, N1toN...>
  13047. {
  13048. static constexpr auto value = N0 + sum<N1toN...>::value;
  13049. };
  13050. template <>
  13051. struct sum<>
  13052. {
  13053. static constexpr auto value = 0;
  13054. };
  13055. static_assert(sum<>::value == 0, "");
  13056. static_assert(sum<1>::value == 1, "");
  13057. static_assert(sum<23>::value == 23, "");
  13058. static_assert(sum<1, 2>::value == 3, "");
  13059. static_assert(sum<5, 5, 11>::value == 21, "");
  13060. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  13061. }
  13062. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  13063. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  13064. // because of this.
  13065. namespace test_template_alias_sfinae
  13066. {
  13067. struct foo {};
  13068. template<typename T>
  13069. using member = typename T::member_type;
  13070. template<typename T>
  13071. void func(...) {}
  13072. template<typename T>
  13073. void func(member<T>*) {}
  13074. void test();
  13075. void test() { func<foo>(0); }
  13076. }
  13077. } // namespace cxx11
  13078. #endif // __cplusplus >= 201103L
  13079. // If the compiler admits that it is not ready for C++14, why torture it?
  13080. // Hopefully, this will speed up the test.
  13081. #ifndef __cplusplus
  13082. #error "This is not a C++ compiler"
  13083. #elif __cplusplus < 201402L
  13084. #error "This is not a C++14 compiler"
  13085. #else
  13086. namespace cxx14
  13087. {
  13088. namespace test_polymorphic_lambdas
  13089. {
  13090. int
  13091. test()
  13092. {
  13093. const auto lambda = [](auto&&... args){
  13094. const auto istiny = [](auto x){
  13095. return (sizeof(x) == 1UL) ? 1 : 0;
  13096. };
  13097. const int aretiny[] = { istiny(args)... };
  13098. return aretiny[0];
  13099. };
  13100. return lambda(1, 1L, 1.0f, '1');
  13101. }
  13102. }
  13103. namespace test_binary_literals
  13104. {
  13105. constexpr auto ivii = 0b0000000000101010;
  13106. static_assert(ivii == 42, "wrong value");
  13107. }
  13108. namespace test_generalized_constexpr
  13109. {
  13110. template < typename CharT >
  13111. constexpr unsigned long
  13112. strlen_c(const CharT *const s) noexcept
  13113. {
  13114. auto length = 0UL;
  13115. for (auto p = s; *p; ++p)
  13116. ++length;
  13117. return length;
  13118. }
  13119. static_assert(strlen_c("") == 0UL, "");
  13120. static_assert(strlen_c("x") == 1UL, "");
  13121. static_assert(strlen_c("test") == 4UL, "");
  13122. static_assert(strlen_c("another\0test") == 7UL, "");
  13123. }
  13124. namespace test_lambda_init_capture
  13125. {
  13126. int
  13127. test()
  13128. {
  13129. auto x = 0;
  13130. const auto lambda1 = [a = x](int b){ return a + b; };
  13131. const auto lambda2 = [a = lambda1(x)](){ return a; };
  13132. return lambda2();
  13133. }
  13134. }
  13135. namespace test_digit_separators
  13136. {
  13137. constexpr auto ten_million = 100'000'000;
  13138. static_assert(ten_million == 100000000, "");
  13139. }
  13140. namespace test_return_type_deduction
  13141. {
  13142. auto f(int& x) { return x; }
  13143. decltype(auto) g(int& x) { return x; }
  13144. template < typename T1, typename T2 >
  13145. struct is_same
  13146. {
  13147. static constexpr auto value = false;
  13148. };
  13149. template < typename T >
  13150. struct is_same<T, T>
  13151. {
  13152. static constexpr auto value = true;
  13153. };
  13154. int
  13155. test()
  13156. {
  13157. auto x = 0;
  13158. static_assert(is_same<int, decltype(f(x))>::value, "");
  13159. static_assert(is_same<int&, decltype(g(x))>::value, "");
  13160. return x;
  13161. }
  13162. }
  13163. } // namespace cxx14
  13164. #endif // __cplusplus >= 201402L
  13165. _ACEOF
  13166. if ac_fn_cxx_try_compile "$LINENO"; then :
  13167. eval $cachevar=yes
  13168. else
  13169. eval $cachevar=no
  13170. fi
  13171. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  13172. CXX="$ac_save_CXX"
  13173. fi
  13174. eval ac_res=\$$cachevar
  13175. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  13176. $as_echo "$ac_res" >&6; }
  13177. if eval test x\$$cachevar = xyes; then
  13178. CXX="$CXX $switch"
  13179. if test -n "$CXXCPP" ; then
  13180. CXXCPP="$CXXCPP $switch"
  13181. fi
  13182. ac_success=yes
  13183. break
  13184. fi
  13185. done
  13186. fi
  13187. if test x$ac_success = xno; then
  13188. for alternative in ${ax_cxx_compile_alternatives}; do
  13189. for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
  13190. cachevar=`$as_echo "ax_cv_cxx_compile_cxx14_$switch" | $as_tr_sh`
  13191. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features with $switch" >&5
  13192. $as_echo_n "checking whether $CXX supports C++14 features with $switch... " >&6; }
  13193. if eval \${$cachevar+:} false; then :
  13194. $as_echo_n "(cached) " >&6
  13195. else
  13196. ac_save_CXX="$CXX"
  13197. CXX="$CXX $switch"
  13198. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  13199. /* end confdefs.h. */
  13200. // If the compiler admits that it is not ready for C++11, why torture it?
  13201. // Hopefully, this will speed up the test.
  13202. #ifndef __cplusplus
  13203. #error "This is not a C++ compiler"
  13204. #elif __cplusplus < 201103L
  13205. #error "This is not a C++11 compiler"
  13206. #else
  13207. namespace cxx11
  13208. {
  13209. namespace test_static_assert
  13210. {
  13211. template <typename T>
  13212. struct check
  13213. {
  13214. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  13215. };
  13216. }
  13217. namespace test_final_override
  13218. {
  13219. struct Base
  13220. {
  13221. virtual ~Base() {}
  13222. virtual void f() {}
  13223. };
  13224. struct Derived : public Base
  13225. {
  13226. virtual ~Derived() override {}
  13227. virtual void f() override {}
  13228. };
  13229. }
  13230. namespace test_double_right_angle_brackets
  13231. {
  13232. template < typename T >
  13233. struct check {};
  13234. typedef check<void> single_type;
  13235. typedef check<check<void>> double_type;
  13236. typedef check<check<check<void>>> triple_type;
  13237. typedef check<check<check<check<void>>>> quadruple_type;
  13238. }
  13239. namespace test_decltype
  13240. {
  13241. int
  13242. f()
  13243. {
  13244. int a = 1;
  13245. decltype(a) b = 2;
  13246. return a + b;
  13247. }
  13248. }
  13249. namespace test_type_deduction
  13250. {
  13251. template < typename T1, typename T2 >
  13252. struct is_same
  13253. {
  13254. static const bool value = false;
  13255. };
  13256. template < typename T >
  13257. struct is_same<T, T>
  13258. {
  13259. static const bool value = true;
  13260. };
  13261. template < typename T1, typename T2 >
  13262. auto
  13263. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  13264. {
  13265. return a1 + a2;
  13266. }
  13267. int
  13268. test(const int c, volatile int v)
  13269. {
  13270. static_assert(is_same<int, decltype(0)>::value == true, "");
  13271. static_assert(is_same<int, decltype(c)>::value == false, "");
  13272. static_assert(is_same<int, decltype(v)>::value == false, "");
  13273. auto ac = c;
  13274. auto av = v;
  13275. auto sumi = ac + av + 'x';
  13276. auto sumf = ac + av + 1.0;
  13277. static_assert(is_same<int, decltype(ac)>::value == true, "");
  13278. static_assert(is_same<int, decltype(av)>::value == true, "");
  13279. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  13280. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  13281. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  13282. return (sumf > 0.0) ? sumi : add(c, v);
  13283. }
  13284. }
  13285. namespace test_noexcept
  13286. {
  13287. int f() { return 0; }
  13288. int g() noexcept { return 0; }
  13289. static_assert(noexcept(f()) == false, "");
  13290. static_assert(noexcept(g()) == true, "");
  13291. }
  13292. namespace test_constexpr
  13293. {
  13294. template < typename CharT >
  13295. unsigned long constexpr
  13296. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  13297. {
  13298. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  13299. }
  13300. template < typename CharT >
  13301. unsigned long constexpr
  13302. strlen_c(const CharT *const s) noexcept
  13303. {
  13304. return strlen_c_r(s, 0UL);
  13305. }
  13306. static_assert(strlen_c("") == 0UL, "");
  13307. static_assert(strlen_c("1") == 1UL, "");
  13308. static_assert(strlen_c("example") == 7UL, "");
  13309. static_assert(strlen_c("another\0example") == 7UL, "");
  13310. }
  13311. namespace test_rvalue_references
  13312. {
  13313. template < int N >
  13314. struct answer
  13315. {
  13316. static constexpr int value = N;
  13317. };
  13318. answer<1> f(int&) { return answer<1>(); }
  13319. answer<2> f(const int&) { return answer<2>(); }
  13320. answer<3> f(int&&) { return answer<3>(); }
  13321. void
  13322. test()
  13323. {
  13324. int i = 0;
  13325. const int c = 0;
  13326. static_assert(decltype(f(i))::value == 1, "");
  13327. static_assert(decltype(f(c))::value == 2, "");
  13328. static_assert(decltype(f(0))::value == 3, "");
  13329. }
  13330. }
  13331. namespace test_uniform_initialization
  13332. {
  13333. struct test
  13334. {
  13335. static const int zero {};
  13336. static const int one {1};
  13337. };
  13338. static_assert(test::zero == 0, "");
  13339. static_assert(test::one == 1, "");
  13340. }
  13341. namespace test_lambdas
  13342. {
  13343. void
  13344. test1()
  13345. {
  13346. auto lambda1 = [](){};
  13347. auto lambda2 = lambda1;
  13348. lambda1();
  13349. lambda2();
  13350. }
  13351. int
  13352. test2()
  13353. {
  13354. auto a = [](int i, int j){ return i + j; }(1, 2);
  13355. auto b = []() -> int { return '0'; }();
  13356. auto c = [=](){ return a + b; }();
  13357. auto d = [&](){ return c; }();
  13358. auto e = [a, &b](int x) mutable {
  13359. const auto identity = [](int y){ return y; };
  13360. for (auto i = 0; i < a; ++i)
  13361. a += b--;
  13362. return x + identity(a + b);
  13363. }(0);
  13364. return a + b + c + d + e;
  13365. }
  13366. int
  13367. test3()
  13368. {
  13369. const auto nullary = [](){ return 0; };
  13370. const auto unary = [](int x){ return x; };
  13371. using nullary_t = decltype(nullary);
  13372. using unary_t = decltype(unary);
  13373. const auto higher1st = [](nullary_t f){ return f(); };
  13374. const auto higher2nd = [unary](nullary_t f1){
  13375. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  13376. };
  13377. return higher1st(nullary) + higher2nd(nullary)(unary);
  13378. }
  13379. }
  13380. namespace test_variadic_templates
  13381. {
  13382. template <int...>
  13383. struct sum;
  13384. template <int N0, int... N1toN>
  13385. struct sum<N0, N1toN...>
  13386. {
  13387. static constexpr auto value = N0 + sum<N1toN...>::value;
  13388. };
  13389. template <>
  13390. struct sum<>
  13391. {
  13392. static constexpr auto value = 0;
  13393. };
  13394. static_assert(sum<>::value == 0, "");
  13395. static_assert(sum<1>::value == 1, "");
  13396. static_assert(sum<23>::value == 23, "");
  13397. static_assert(sum<1, 2>::value == 3, "");
  13398. static_assert(sum<5, 5, 11>::value == 21, "");
  13399. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  13400. }
  13401. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  13402. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  13403. // because of this.
  13404. namespace test_template_alias_sfinae
  13405. {
  13406. struct foo {};
  13407. template<typename T>
  13408. using member = typename T::member_type;
  13409. template<typename T>
  13410. void func(...) {}
  13411. template<typename T>
  13412. void func(member<T>*) {}
  13413. void test();
  13414. void test() { func<foo>(0); }
  13415. }
  13416. } // namespace cxx11
  13417. #endif // __cplusplus >= 201103L
  13418. // If the compiler admits that it is not ready for C++14, why torture it?
  13419. // Hopefully, this will speed up the test.
  13420. #ifndef __cplusplus
  13421. #error "This is not a C++ compiler"
  13422. #elif __cplusplus < 201402L
  13423. #error "This is not a C++14 compiler"
  13424. #else
  13425. namespace cxx14
  13426. {
  13427. namespace test_polymorphic_lambdas
  13428. {
  13429. int
  13430. test()
  13431. {
  13432. const auto lambda = [](auto&&... args){
  13433. const auto istiny = [](auto x){
  13434. return (sizeof(x) == 1UL) ? 1 : 0;
  13435. };
  13436. const int aretiny[] = { istiny(args)... };
  13437. return aretiny[0];
  13438. };
  13439. return lambda(1, 1L, 1.0f, '1');
  13440. }
  13441. }
  13442. namespace test_binary_literals
  13443. {
  13444. constexpr auto ivii = 0b0000000000101010;
  13445. static_assert(ivii == 42, "wrong value");
  13446. }
  13447. namespace test_generalized_constexpr
  13448. {
  13449. template < typename CharT >
  13450. constexpr unsigned long
  13451. strlen_c(const CharT *const s) noexcept
  13452. {
  13453. auto length = 0UL;
  13454. for (auto p = s; *p; ++p)
  13455. ++length;
  13456. return length;
  13457. }
  13458. static_assert(strlen_c("") == 0UL, "");
  13459. static_assert(strlen_c("x") == 1UL, "");
  13460. static_assert(strlen_c("test") == 4UL, "");
  13461. static_assert(strlen_c("another\0test") == 7UL, "");
  13462. }
  13463. namespace test_lambda_init_capture
  13464. {
  13465. int
  13466. test()
  13467. {
  13468. auto x = 0;
  13469. const auto lambda1 = [a = x](int b){ return a + b; };
  13470. const auto lambda2 = [a = lambda1(x)](){ return a; };
  13471. return lambda2();
  13472. }
  13473. }
  13474. namespace test_digit_separators
  13475. {
  13476. constexpr auto ten_million = 100'000'000;
  13477. static_assert(ten_million == 100000000, "");
  13478. }
  13479. namespace test_return_type_deduction
  13480. {
  13481. auto f(int& x) { return x; }
  13482. decltype(auto) g(int& x) { return x; }
  13483. template < typename T1, typename T2 >
  13484. struct is_same
  13485. {
  13486. static constexpr auto value = false;
  13487. };
  13488. template < typename T >
  13489. struct is_same<T, T>
  13490. {
  13491. static constexpr auto value = true;
  13492. };
  13493. int
  13494. test()
  13495. {
  13496. auto x = 0;
  13497. static_assert(is_same<int, decltype(f(x))>::value, "");
  13498. static_assert(is_same<int&, decltype(g(x))>::value, "");
  13499. return x;
  13500. }
  13501. }
  13502. } // namespace cxx14
  13503. #endif // __cplusplus >= 201402L
  13504. _ACEOF
  13505. if ac_fn_cxx_try_compile "$LINENO"; then :
  13506. eval $cachevar=yes
  13507. else
  13508. eval $cachevar=no
  13509. fi
  13510. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  13511. CXX="$ac_save_CXX"
  13512. fi
  13513. eval ac_res=\$$cachevar
  13514. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  13515. $as_echo "$ac_res" >&6; }
  13516. if eval test x\$$cachevar = xyes; then
  13517. CXX="$CXX $switch"
  13518. if test -n "$CXXCPP" ; then
  13519. CXXCPP="$CXXCPP $switch"
  13520. fi
  13521. ac_success=yes
  13522. break
  13523. fi
  13524. done
  13525. if test x$ac_success = xyes; then
  13526. break
  13527. fi
  13528. done
  13529. fi
  13530. ac_ext=cpp
  13531. ac_cpp='$CXXCPP $CPPFLAGS'
  13532. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  13533. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  13534. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  13535. if test x$ax_cxx_compile_cxx14_required = xtrue; then
  13536. if test x$ac_success = xno; then
  13537. as_fn_error $? "*** A compiler with support for C++14 language features is required." "$LINENO" 5
  13538. fi
  13539. fi
  13540. if test x$ac_success = xno; then
  13541. HAVE_CXX14=0
  13542. { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++14 support was found" >&5
  13543. $as_echo "$as_me: No compiler with C++14 support was found" >&6;}
  13544. else
  13545. HAVE_CXX14=1
  13546. $as_echo "#define HAVE_CXX14 1" >>confdefs.h
  13547. fi
  13548. else
  13549. ax_cxx_compile_alternatives="14 1y" ax_cxx_compile_cxx14_required=true
  13550. ac_ext=cpp
  13551. ac_cpp='$CXXCPP $CPPFLAGS'
  13552. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  13553. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  13554. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  13555. ac_success=no
  13556. cachevar=ax_cv_cxx_compile_cxx14
  13557. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features by default" >&5
  13558. $as_echo_n "checking whether $CXX supports C++14 features by default... " >&6; }
  13559. if eval \${$cachevar+:} false; then :
  13560. $as_echo_n "(cached) " >&6
  13561. else
  13562. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  13563. /* end confdefs.h. */
  13564. // If the compiler admits that it is not ready for C++11, why torture it?
  13565. // Hopefully, this will speed up the test.
  13566. #ifndef __cplusplus
  13567. #error "This is not a C++ compiler"
  13568. #elif __cplusplus < 201103L
  13569. #error "This is not a C++11 compiler"
  13570. #else
  13571. namespace cxx11
  13572. {
  13573. namespace test_static_assert
  13574. {
  13575. template <typename T>
  13576. struct check
  13577. {
  13578. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  13579. };
  13580. }
  13581. namespace test_final_override
  13582. {
  13583. struct Base
  13584. {
  13585. virtual ~Base() {}
  13586. virtual void f() {}
  13587. };
  13588. struct Derived : public Base
  13589. {
  13590. virtual ~Derived() override {}
  13591. virtual void f() override {}
  13592. };
  13593. }
  13594. namespace test_double_right_angle_brackets
  13595. {
  13596. template < typename T >
  13597. struct check {};
  13598. typedef check<void> single_type;
  13599. typedef check<check<void>> double_type;
  13600. typedef check<check<check<void>>> triple_type;
  13601. typedef check<check<check<check<void>>>> quadruple_type;
  13602. }
  13603. namespace test_decltype
  13604. {
  13605. int
  13606. f()
  13607. {
  13608. int a = 1;
  13609. decltype(a) b = 2;
  13610. return a + b;
  13611. }
  13612. }
  13613. namespace test_type_deduction
  13614. {
  13615. template < typename T1, typename T2 >
  13616. struct is_same
  13617. {
  13618. static const bool value = false;
  13619. };
  13620. template < typename T >
  13621. struct is_same<T, T>
  13622. {
  13623. static const bool value = true;
  13624. };
  13625. template < typename T1, typename T2 >
  13626. auto
  13627. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  13628. {
  13629. return a1 + a2;
  13630. }
  13631. int
  13632. test(const int c, volatile int v)
  13633. {
  13634. static_assert(is_same<int, decltype(0)>::value == true, "");
  13635. static_assert(is_same<int, decltype(c)>::value == false, "");
  13636. static_assert(is_same<int, decltype(v)>::value == false, "");
  13637. auto ac = c;
  13638. auto av = v;
  13639. auto sumi = ac + av + 'x';
  13640. auto sumf = ac + av + 1.0;
  13641. static_assert(is_same<int, decltype(ac)>::value == true, "");
  13642. static_assert(is_same<int, decltype(av)>::value == true, "");
  13643. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  13644. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  13645. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  13646. return (sumf > 0.0) ? sumi : add(c, v);
  13647. }
  13648. }
  13649. namespace test_noexcept
  13650. {
  13651. int f() { return 0; }
  13652. int g() noexcept { return 0; }
  13653. static_assert(noexcept(f()) == false, "");
  13654. static_assert(noexcept(g()) == true, "");
  13655. }
  13656. namespace test_constexpr
  13657. {
  13658. template < typename CharT >
  13659. unsigned long constexpr
  13660. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  13661. {
  13662. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  13663. }
  13664. template < typename CharT >
  13665. unsigned long constexpr
  13666. strlen_c(const CharT *const s) noexcept
  13667. {
  13668. return strlen_c_r(s, 0UL);
  13669. }
  13670. static_assert(strlen_c("") == 0UL, "");
  13671. static_assert(strlen_c("1") == 1UL, "");
  13672. static_assert(strlen_c("example") == 7UL, "");
  13673. static_assert(strlen_c("another\0example") == 7UL, "");
  13674. }
  13675. namespace test_rvalue_references
  13676. {
  13677. template < int N >
  13678. struct answer
  13679. {
  13680. static constexpr int value = N;
  13681. };
  13682. answer<1> f(int&) { return answer<1>(); }
  13683. answer<2> f(const int&) { return answer<2>(); }
  13684. answer<3> f(int&&) { return answer<3>(); }
  13685. void
  13686. test()
  13687. {
  13688. int i = 0;
  13689. const int c = 0;
  13690. static_assert(decltype(f(i))::value == 1, "");
  13691. static_assert(decltype(f(c))::value == 2, "");
  13692. static_assert(decltype(f(0))::value == 3, "");
  13693. }
  13694. }
  13695. namespace test_uniform_initialization
  13696. {
  13697. struct test
  13698. {
  13699. static const int zero {};
  13700. static const int one {1};
  13701. };
  13702. static_assert(test::zero == 0, "");
  13703. static_assert(test::one == 1, "");
  13704. }
  13705. namespace test_lambdas
  13706. {
  13707. void
  13708. test1()
  13709. {
  13710. auto lambda1 = [](){};
  13711. auto lambda2 = lambda1;
  13712. lambda1();
  13713. lambda2();
  13714. }
  13715. int
  13716. test2()
  13717. {
  13718. auto a = [](int i, int j){ return i + j; }(1, 2);
  13719. auto b = []() -> int { return '0'; }();
  13720. auto c = [=](){ return a + b; }();
  13721. auto d = [&](){ return c; }();
  13722. auto e = [a, &b](int x) mutable {
  13723. const auto identity = [](int y){ return y; };
  13724. for (auto i = 0; i < a; ++i)
  13725. a += b--;
  13726. return x + identity(a + b);
  13727. }(0);
  13728. return a + b + c + d + e;
  13729. }
  13730. int
  13731. test3()
  13732. {
  13733. const auto nullary = [](){ return 0; };
  13734. const auto unary = [](int x){ return x; };
  13735. using nullary_t = decltype(nullary);
  13736. using unary_t = decltype(unary);
  13737. const auto higher1st = [](nullary_t f){ return f(); };
  13738. const auto higher2nd = [unary](nullary_t f1){
  13739. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  13740. };
  13741. return higher1st(nullary) + higher2nd(nullary)(unary);
  13742. }
  13743. }
  13744. namespace test_variadic_templates
  13745. {
  13746. template <int...>
  13747. struct sum;
  13748. template <int N0, int... N1toN>
  13749. struct sum<N0, N1toN...>
  13750. {
  13751. static constexpr auto value = N0 + sum<N1toN...>::value;
  13752. };
  13753. template <>
  13754. struct sum<>
  13755. {
  13756. static constexpr auto value = 0;
  13757. };
  13758. static_assert(sum<>::value == 0, "");
  13759. static_assert(sum<1>::value == 1, "");
  13760. static_assert(sum<23>::value == 23, "");
  13761. static_assert(sum<1, 2>::value == 3, "");
  13762. static_assert(sum<5, 5, 11>::value == 21, "");
  13763. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  13764. }
  13765. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  13766. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  13767. // because of this.
  13768. namespace test_template_alias_sfinae
  13769. {
  13770. struct foo {};
  13771. template<typename T>
  13772. using member = typename T::member_type;
  13773. template<typename T>
  13774. void func(...) {}
  13775. template<typename T>
  13776. void func(member<T>*) {}
  13777. void test();
  13778. void test() { func<foo>(0); }
  13779. }
  13780. } // namespace cxx11
  13781. #endif // __cplusplus >= 201103L
  13782. // If the compiler admits that it is not ready for C++14, why torture it?
  13783. // Hopefully, this will speed up the test.
  13784. #ifndef __cplusplus
  13785. #error "This is not a C++ compiler"
  13786. #elif __cplusplus < 201402L
  13787. #error "This is not a C++14 compiler"
  13788. #else
  13789. namespace cxx14
  13790. {
  13791. namespace test_polymorphic_lambdas
  13792. {
  13793. int
  13794. test()
  13795. {
  13796. const auto lambda = [](auto&&... args){
  13797. const auto istiny = [](auto x){
  13798. return (sizeof(x) == 1UL) ? 1 : 0;
  13799. };
  13800. const int aretiny[] = { istiny(args)... };
  13801. return aretiny[0];
  13802. };
  13803. return lambda(1, 1L, 1.0f, '1');
  13804. }
  13805. }
  13806. namespace test_binary_literals
  13807. {
  13808. constexpr auto ivii = 0b0000000000101010;
  13809. static_assert(ivii == 42, "wrong value");
  13810. }
  13811. namespace test_generalized_constexpr
  13812. {
  13813. template < typename CharT >
  13814. constexpr unsigned long
  13815. strlen_c(const CharT *const s) noexcept
  13816. {
  13817. auto length = 0UL;
  13818. for (auto p = s; *p; ++p)
  13819. ++length;
  13820. return length;
  13821. }
  13822. static_assert(strlen_c("") == 0UL, "");
  13823. static_assert(strlen_c("x") == 1UL, "");
  13824. static_assert(strlen_c("test") == 4UL, "");
  13825. static_assert(strlen_c("another\0test") == 7UL, "");
  13826. }
  13827. namespace test_lambda_init_capture
  13828. {
  13829. int
  13830. test()
  13831. {
  13832. auto x = 0;
  13833. const auto lambda1 = [a = x](int b){ return a + b; };
  13834. const auto lambda2 = [a = lambda1(x)](){ return a; };
  13835. return lambda2();
  13836. }
  13837. }
  13838. namespace test_digit_separators
  13839. {
  13840. constexpr auto ten_million = 100'000'000;
  13841. static_assert(ten_million == 100000000, "");
  13842. }
  13843. namespace test_return_type_deduction
  13844. {
  13845. auto f(int& x) { return x; }
  13846. decltype(auto) g(int& x) { return x; }
  13847. template < typename T1, typename T2 >
  13848. struct is_same
  13849. {
  13850. static constexpr auto value = false;
  13851. };
  13852. template < typename T >
  13853. struct is_same<T, T>
  13854. {
  13855. static constexpr auto value = true;
  13856. };
  13857. int
  13858. test()
  13859. {
  13860. auto x = 0;
  13861. static_assert(is_same<int, decltype(f(x))>::value, "");
  13862. static_assert(is_same<int&, decltype(g(x))>::value, "");
  13863. return x;
  13864. }
  13865. }
  13866. } // namespace cxx14
  13867. #endif // __cplusplus >= 201402L
  13868. _ACEOF
  13869. if ac_fn_cxx_try_compile "$LINENO"; then :
  13870. eval $cachevar=yes
  13871. else
  13872. eval $cachevar=no
  13873. fi
  13874. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  13875. fi
  13876. eval ac_res=\$$cachevar
  13877. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  13878. $as_echo "$ac_res" >&6; }
  13879. if eval test x\$$cachevar = xyes; then :
  13880. ac_success=yes
  13881. fi
  13882. if test x$ac_success = xno; then
  13883. for alternative in ${ax_cxx_compile_alternatives}; do
  13884. switch="-std=gnu++${alternative}"
  13885. cachevar=`$as_echo "ax_cv_cxx_compile_cxx14_$switch" | $as_tr_sh`
  13886. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features with $switch" >&5
  13887. $as_echo_n "checking whether $CXX supports C++14 features with $switch... " >&6; }
  13888. if eval \${$cachevar+:} false; then :
  13889. $as_echo_n "(cached) " >&6
  13890. else
  13891. ac_save_CXX="$CXX"
  13892. CXX="$CXX $switch"
  13893. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  13894. /* end confdefs.h. */
  13895. // If the compiler admits that it is not ready for C++11, why torture it?
  13896. // Hopefully, this will speed up the test.
  13897. #ifndef __cplusplus
  13898. #error "This is not a C++ compiler"
  13899. #elif __cplusplus < 201103L
  13900. #error "This is not a C++11 compiler"
  13901. #else
  13902. namespace cxx11
  13903. {
  13904. namespace test_static_assert
  13905. {
  13906. template <typename T>
  13907. struct check
  13908. {
  13909. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  13910. };
  13911. }
  13912. namespace test_final_override
  13913. {
  13914. struct Base
  13915. {
  13916. virtual ~Base() {}
  13917. virtual void f() {}
  13918. };
  13919. struct Derived : public Base
  13920. {
  13921. virtual ~Derived() override {}
  13922. virtual void f() override {}
  13923. };
  13924. }
  13925. namespace test_double_right_angle_brackets
  13926. {
  13927. template < typename T >
  13928. struct check {};
  13929. typedef check<void> single_type;
  13930. typedef check<check<void>> double_type;
  13931. typedef check<check<check<void>>> triple_type;
  13932. typedef check<check<check<check<void>>>> quadruple_type;
  13933. }
  13934. namespace test_decltype
  13935. {
  13936. int
  13937. f()
  13938. {
  13939. int a = 1;
  13940. decltype(a) b = 2;
  13941. return a + b;
  13942. }
  13943. }
  13944. namespace test_type_deduction
  13945. {
  13946. template < typename T1, typename T2 >
  13947. struct is_same
  13948. {
  13949. static const bool value = false;
  13950. };
  13951. template < typename T >
  13952. struct is_same<T, T>
  13953. {
  13954. static const bool value = true;
  13955. };
  13956. template < typename T1, typename T2 >
  13957. auto
  13958. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  13959. {
  13960. return a1 + a2;
  13961. }
  13962. int
  13963. test(const int c, volatile int v)
  13964. {
  13965. static_assert(is_same<int, decltype(0)>::value == true, "");
  13966. static_assert(is_same<int, decltype(c)>::value == false, "");
  13967. static_assert(is_same<int, decltype(v)>::value == false, "");
  13968. auto ac = c;
  13969. auto av = v;
  13970. auto sumi = ac + av + 'x';
  13971. auto sumf = ac + av + 1.0;
  13972. static_assert(is_same<int, decltype(ac)>::value == true, "");
  13973. static_assert(is_same<int, decltype(av)>::value == true, "");
  13974. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  13975. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  13976. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  13977. return (sumf > 0.0) ? sumi : add(c, v);
  13978. }
  13979. }
  13980. namespace test_noexcept
  13981. {
  13982. int f() { return 0; }
  13983. int g() noexcept { return 0; }
  13984. static_assert(noexcept(f()) == false, "");
  13985. static_assert(noexcept(g()) == true, "");
  13986. }
  13987. namespace test_constexpr
  13988. {
  13989. template < typename CharT >
  13990. unsigned long constexpr
  13991. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  13992. {
  13993. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  13994. }
  13995. template < typename CharT >
  13996. unsigned long constexpr
  13997. strlen_c(const CharT *const s) noexcept
  13998. {
  13999. return strlen_c_r(s, 0UL);
  14000. }
  14001. static_assert(strlen_c("") == 0UL, "");
  14002. static_assert(strlen_c("1") == 1UL, "");
  14003. static_assert(strlen_c("example") == 7UL, "");
  14004. static_assert(strlen_c("another\0example") == 7UL, "");
  14005. }
  14006. namespace test_rvalue_references
  14007. {
  14008. template < int N >
  14009. struct answer
  14010. {
  14011. static constexpr int value = N;
  14012. };
  14013. answer<1> f(int&) { return answer<1>(); }
  14014. answer<2> f(const int&) { return answer<2>(); }
  14015. answer<3> f(int&&) { return answer<3>(); }
  14016. void
  14017. test()
  14018. {
  14019. int i = 0;
  14020. const int c = 0;
  14021. static_assert(decltype(f(i))::value == 1, "");
  14022. static_assert(decltype(f(c))::value == 2, "");
  14023. static_assert(decltype(f(0))::value == 3, "");
  14024. }
  14025. }
  14026. namespace test_uniform_initialization
  14027. {
  14028. struct test
  14029. {
  14030. static const int zero {};
  14031. static const int one {1};
  14032. };
  14033. static_assert(test::zero == 0, "");
  14034. static_assert(test::one == 1, "");
  14035. }
  14036. namespace test_lambdas
  14037. {
  14038. void
  14039. test1()
  14040. {
  14041. auto lambda1 = [](){};
  14042. auto lambda2 = lambda1;
  14043. lambda1();
  14044. lambda2();
  14045. }
  14046. int
  14047. test2()
  14048. {
  14049. auto a = [](int i, int j){ return i + j; }(1, 2);
  14050. auto b = []() -> int { return '0'; }();
  14051. auto c = [=](){ return a + b; }();
  14052. auto d = [&](){ return c; }();
  14053. auto e = [a, &b](int x) mutable {
  14054. const auto identity = [](int y){ return y; };
  14055. for (auto i = 0; i < a; ++i)
  14056. a += b--;
  14057. return x + identity(a + b);
  14058. }(0);
  14059. return a + b + c + d + e;
  14060. }
  14061. int
  14062. test3()
  14063. {
  14064. const auto nullary = [](){ return 0; };
  14065. const auto unary = [](int x){ return x; };
  14066. using nullary_t = decltype(nullary);
  14067. using unary_t = decltype(unary);
  14068. const auto higher1st = [](nullary_t f){ return f(); };
  14069. const auto higher2nd = [unary](nullary_t f1){
  14070. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  14071. };
  14072. return higher1st(nullary) + higher2nd(nullary)(unary);
  14073. }
  14074. }
  14075. namespace test_variadic_templates
  14076. {
  14077. template <int...>
  14078. struct sum;
  14079. template <int N0, int... N1toN>
  14080. struct sum<N0, N1toN...>
  14081. {
  14082. static constexpr auto value = N0 + sum<N1toN...>::value;
  14083. };
  14084. template <>
  14085. struct sum<>
  14086. {
  14087. static constexpr auto value = 0;
  14088. };
  14089. static_assert(sum<>::value == 0, "");
  14090. static_assert(sum<1>::value == 1, "");
  14091. static_assert(sum<23>::value == 23, "");
  14092. static_assert(sum<1, 2>::value == 3, "");
  14093. static_assert(sum<5, 5, 11>::value == 21, "");
  14094. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  14095. }
  14096. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  14097. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  14098. // because of this.
  14099. namespace test_template_alias_sfinae
  14100. {
  14101. struct foo {};
  14102. template<typename T>
  14103. using member = typename T::member_type;
  14104. template<typename T>
  14105. void func(...) {}
  14106. template<typename T>
  14107. void func(member<T>*) {}
  14108. void test();
  14109. void test() { func<foo>(0); }
  14110. }
  14111. } // namespace cxx11
  14112. #endif // __cplusplus >= 201103L
  14113. // If the compiler admits that it is not ready for C++14, why torture it?
  14114. // Hopefully, this will speed up the test.
  14115. #ifndef __cplusplus
  14116. #error "This is not a C++ compiler"
  14117. #elif __cplusplus < 201402L
  14118. #error "This is not a C++14 compiler"
  14119. #else
  14120. namespace cxx14
  14121. {
  14122. namespace test_polymorphic_lambdas
  14123. {
  14124. int
  14125. test()
  14126. {
  14127. const auto lambda = [](auto&&... args){
  14128. const auto istiny = [](auto x){
  14129. return (sizeof(x) == 1UL) ? 1 : 0;
  14130. };
  14131. const int aretiny[] = { istiny(args)... };
  14132. return aretiny[0];
  14133. };
  14134. return lambda(1, 1L, 1.0f, '1');
  14135. }
  14136. }
  14137. namespace test_binary_literals
  14138. {
  14139. constexpr auto ivii = 0b0000000000101010;
  14140. static_assert(ivii == 42, "wrong value");
  14141. }
  14142. namespace test_generalized_constexpr
  14143. {
  14144. template < typename CharT >
  14145. constexpr unsigned long
  14146. strlen_c(const CharT *const s) noexcept
  14147. {
  14148. auto length = 0UL;
  14149. for (auto p = s; *p; ++p)
  14150. ++length;
  14151. return length;
  14152. }
  14153. static_assert(strlen_c("") == 0UL, "");
  14154. static_assert(strlen_c("x") == 1UL, "");
  14155. static_assert(strlen_c("test") == 4UL, "");
  14156. static_assert(strlen_c("another\0test") == 7UL, "");
  14157. }
  14158. namespace test_lambda_init_capture
  14159. {
  14160. int
  14161. test()
  14162. {
  14163. auto x = 0;
  14164. const auto lambda1 = [a = x](int b){ return a + b; };
  14165. const auto lambda2 = [a = lambda1(x)](){ return a; };
  14166. return lambda2();
  14167. }
  14168. }
  14169. namespace test_digit_separators
  14170. {
  14171. constexpr auto ten_million = 100'000'000;
  14172. static_assert(ten_million == 100000000, "");
  14173. }
  14174. namespace test_return_type_deduction
  14175. {
  14176. auto f(int& x) { return x; }
  14177. decltype(auto) g(int& x) { return x; }
  14178. template < typename T1, typename T2 >
  14179. struct is_same
  14180. {
  14181. static constexpr auto value = false;
  14182. };
  14183. template < typename T >
  14184. struct is_same<T, T>
  14185. {
  14186. static constexpr auto value = true;
  14187. };
  14188. int
  14189. test()
  14190. {
  14191. auto x = 0;
  14192. static_assert(is_same<int, decltype(f(x))>::value, "");
  14193. static_assert(is_same<int&, decltype(g(x))>::value, "");
  14194. return x;
  14195. }
  14196. }
  14197. } // namespace cxx14
  14198. #endif // __cplusplus >= 201402L
  14199. _ACEOF
  14200. if ac_fn_cxx_try_compile "$LINENO"; then :
  14201. eval $cachevar=yes
  14202. else
  14203. eval $cachevar=no
  14204. fi
  14205. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14206. CXX="$ac_save_CXX"
  14207. fi
  14208. eval ac_res=\$$cachevar
  14209. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  14210. $as_echo "$ac_res" >&6; }
  14211. if eval test x\$$cachevar = xyes; then
  14212. CXX="$CXX $switch"
  14213. if test -n "$CXXCPP" ; then
  14214. CXXCPP="$CXXCPP $switch"
  14215. fi
  14216. ac_success=yes
  14217. break
  14218. fi
  14219. done
  14220. fi
  14221. if test x$ac_success = xno; then
  14222. for alternative in ${ax_cxx_compile_alternatives}; do
  14223. for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
  14224. cachevar=`$as_echo "ax_cv_cxx_compile_cxx14_$switch" | $as_tr_sh`
  14225. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features with $switch" >&5
  14226. $as_echo_n "checking whether $CXX supports C++14 features with $switch... " >&6; }
  14227. if eval \${$cachevar+:} false; then :
  14228. $as_echo_n "(cached) " >&6
  14229. else
  14230. ac_save_CXX="$CXX"
  14231. CXX="$CXX $switch"
  14232. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14233. /* end confdefs.h. */
  14234. // If the compiler admits that it is not ready for C++11, why torture it?
  14235. // Hopefully, this will speed up the test.
  14236. #ifndef __cplusplus
  14237. #error "This is not a C++ compiler"
  14238. #elif __cplusplus < 201103L
  14239. #error "This is not a C++11 compiler"
  14240. #else
  14241. namespace cxx11
  14242. {
  14243. namespace test_static_assert
  14244. {
  14245. template <typename T>
  14246. struct check
  14247. {
  14248. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  14249. };
  14250. }
  14251. namespace test_final_override
  14252. {
  14253. struct Base
  14254. {
  14255. virtual ~Base() {}
  14256. virtual void f() {}
  14257. };
  14258. struct Derived : public Base
  14259. {
  14260. virtual ~Derived() override {}
  14261. virtual void f() override {}
  14262. };
  14263. }
  14264. namespace test_double_right_angle_brackets
  14265. {
  14266. template < typename T >
  14267. struct check {};
  14268. typedef check<void> single_type;
  14269. typedef check<check<void>> double_type;
  14270. typedef check<check<check<void>>> triple_type;
  14271. typedef check<check<check<check<void>>>> quadruple_type;
  14272. }
  14273. namespace test_decltype
  14274. {
  14275. int
  14276. f()
  14277. {
  14278. int a = 1;
  14279. decltype(a) b = 2;
  14280. return a + b;
  14281. }
  14282. }
  14283. namespace test_type_deduction
  14284. {
  14285. template < typename T1, typename T2 >
  14286. struct is_same
  14287. {
  14288. static const bool value = false;
  14289. };
  14290. template < typename T >
  14291. struct is_same<T, T>
  14292. {
  14293. static const bool value = true;
  14294. };
  14295. template < typename T1, typename T2 >
  14296. auto
  14297. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  14298. {
  14299. return a1 + a2;
  14300. }
  14301. int
  14302. test(const int c, volatile int v)
  14303. {
  14304. static_assert(is_same<int, decltype(0)>::value == true, "");
  14305. static_assert(is_same<int, decltype(c)>::value == false, "");
  14306. static_assert(is_same<int, decltype(v)>::value == false, "");
  14307. auto ac = c;
  14308. auto av = v;
  14309. auto sumi = ac + av + 'x';
  14310. auto sumf = ac + av + 1.0;
  14311. static_assert(is_same<int, decltype(ac)>::value == true, "");
  14312. static_assert(is_same<int, decltype(av)>::value == true, "");
  14313. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  14314. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  14315. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  14316. return (sumf > 0.0) ? sumi : add(c, v);
  14317. }
  14318. }
  14319. namespace test_noexcept
  14320. {
  14321. int f() { return 0; }
  14322. int g() noexcept { return 0; }
  14323. static_assert(noexcept(f()) == false, "");
  14324. static_assert(noexcept(g()) == true, "");
  14325. }
  14326. namespace test_constexpr
  14327. {
  14328. template < typename CharT >
  14329. unsigned long constexpr
  14330. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  14331. {
  14332. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  14333. }
  14334. template < typename CharT >
  14335. unsigned long constexpr
  14336. strlen_c(const CharT *const s) noexcept
  14337. {
  14338. return strlen_c_r(s, 0UL);
  14339. }
  14340. static_assert(strlen_c("") == 0UL, "");
  14341. static_assert(strlen_c("1") == 1UL, "");
  14342. static_assert(strlen_c("example") == 7UL, "");
  14343. static_assert(strlen_c("another\0example") == 7UL, "");
  14344. }
  14345. namespace test_rvalue_references
  14346. {
  14347. template < int N >
  14348. struct answer
  14349. {
  14350. static constexpr int value = N;
  14351. };
  14352. answer<1> f(int&) { return answer<1>(); }
  14353. answer<2> f(const int&) { return answer<2>(); }
  14354. answer<3> f(int&&) { return answer<3>(); }
  14355. void
  14356. test()
  14357. {
  14358. int i = 0;
  14359. const int c = 0;
  14360. static_assert(decltype(f(i))::value == 1, "");
  14361. static_assert(decltype(f(c))::value == 2, "");
  14362. static_assert(decltype(f(0))::value == 3, "");
  14363. }
  14364. }
  14365. namespace test_uniform_initialization
  14366. {
  14367. struct test
  14368. {
  14369. static const int zero {};
  14370. static const int one {1};
  14371. };
  14372. static_assert(test::zero == 0, "");
  14373. static_assert(test::one == 1, "");
  14374. }
  14375. namespace test_lambdas
  14376. {
  14377. void
  14378. test1()
  14379. {
  14380. auto lambda1 = [](){};
  14381. auto lambda2 = lambda1;
  14382. lambda1();
  14383. lambda2();
  14384. }
  14385. int
  14386. test2()
  14387. {
  14388. auto a = [](int i, int j){ return i + j; }(1, 2);
  14389. auto b = []() -> int { return '0'; }();
  14390. auto c = [=](){ return a + b; }();
  14391. auto d = [&](){ return c; }();
  14392. auto e = [a, &b](int x) mutable {
  14393. const auto identity = [](int y){ return y; };
  14394. for (auto i = 0; i < a; ++i)
  14395. a += b--;
  14396. return x + identity(a + b);
  14397. }(0);
  14398. return a + b + c + d + e;
  14399. }
  14400. int
  14401. test3()
  14402. {
  14403. const auto nullary = [](){ return 0; };
  14404. const auto unary = [](int x){ return x; };
  14405. using nullary_t = decltype(nullary);
  14406. using unary_t = decltype(unary);
  14407. const auto higher1st = [](nullary_t f){ return f(); };
  14408. const auto higher2nd = [unary](nullary_t f1){
  14409. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  14410. };
  14411. return higher1st(nullary) + higher2nd(nullary)(unary);
  14412. }
  14413. }
  14414. namespace test_variadic_templates
  14415. {
  14416. template <int...>
  14417. struct sum;
  14418. template <int N0, int... N1toN>
  14419. struct sum<N0, N1toN...>
  14420. {
  14421. static constexpr auto value = N0 + sum<N1toN...>::value;
  14422. };
  14423. template <>
  14424. struct sum<>
  14425. {
  14426. static constexpr auto value = 0;
  14427. };
  14428. static_assert(sum<>::value == 0, "");
  14429. static_assert(sum<1>::value == 1, "");
  14430. static_assert(sum<23>::value == 23, "");
  14431. static_assert(sum<1, 2>::value == 3, "");
  14432. static_assert(sum<5, 5, 11>::value == 21, "");
  14433. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  14434. }
  14435. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  14436. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  14437. // because of this.
  14438. namespace test_template_alias_sfinae
  14439. {
  14440. struct foo {};
  14441. template<typename T>
  14442. using member = typename T::member_type;
  14443. template<typename T>
  14444. void func(...) {}
  14445. template<typename T>
  14446. void func(member<T>*) {}
  14447. void test();
  14448. void test() { func<foo>(0); }
  14449. }
  14450. } // namespace cxx11
  14451. #endif // __cplusplus >= 201103L
  14452. // If the compiler admits that it is not ready for C++14, why torture it?
  14453. // Hopefully, this will speed up the test.
  14454. #ifndef __cplusplus
  14455. #error "This is not a C++ compiler"
  14456. #elif __cplusplus < 201402L
  14457. #error "This is not a C++14 compiler"
  14458. #else
  14459. namespace cxx14
  14460. {
  14461. namespace test_polymorphic_lambdas
  14462. {
  14463. int
  14464. test()
  14465. {
  14466. const auto lambda = [](auto&&... args){
  14467. const auto istiny = [](auto x){
  14468. return (sizeof(x) == 1UL) ? 1 : 0;
  14469. };
  14470. const int aretiny[] = { istiny(args)... };
  14471. return aretiny[0];
  14472. };
  14473. return lambda(1, 1L, 1.0f, '1');
  14474. }
  14475. }
  14476. namespace test_binary_literals
  14477. {
  14478. constexpr auto ivii = 0b0000000000101010;
  14479. static_assert(ivii == 42, "wrong value");
  14480. }
  14481. namespace test_generalized_constexpr
  14482. {
  14483. template < typename CharT >
  14484. constexpr unsigned long
  14485. strlen_c(const CharT *const s) noexcept
  14486. {
  14487. auto length = 0UL;
  14488. for (auto p = s; *p; ++p)
  14489. ++length;
  14490. return length;
  14491. }
  14492. static_assert(strlen_c("") == 0UL, "");
  14493. static_assert(strlen_c("x") == 1UL, "");
  14494. static_assert(strlen_c("test") == 4UL, "");
  14495. static_assert(strlen_c("another\0test") == 7UL, "");
  14496. }
  14497. namespace test_lambda_init_capture
  14498. {
  14499. int
  14500. test()
  14501. {
  14502. auto x = 0;
  14503. const auto lambda1 = [a = x](int b){ return a + b; };
  14504. const auto lambda2 = [a = lambda1(x)](){ return a; };
  14505. return lambda2();
  14506. }
  14507. }
  14508. namespace test_digit_separators
  14509. {
  14510. constexpr auto ten_million = 100'000'000;
  14511. static_assert(ten_million == 100000000, "");
  14512. }
  14513. namespace test_return_type_deduction
  14514. {
  14515. auto f(int& x) { return x; }
  14516. decltype(auto) g(int& x) { return x; }
  14517. template < typename T1, typename T2 >
  14518. struct is_same
  14519. {
  14520. static constexpr auto value = false;
  14521. };
  14522. template < typename T >
  14523. struct is_same<T, T>
  14524. {
  14525. static constexpr auto value = true;
  14526. };
  14527. int
  14528. test()
  14529. {
  14530. auto x = 0;
  14531. static_assert(is_same<int, decltype(f(x))>::value, "");
  14532. static_assert(is_same<int&, decltype(g(x))>::value, "");
  14533. return x;
  14534. }
  14535. }
  14536. } // namespace cxx14
  14537. #endif // __cplusplus >= 201402L
  14538. _ACEOF
  14539. if ac_fn_cxx_try_compile "$LINENO"; then :
  14540. eval $cachevar=yes
  14541. else
  14542. eval $cachevar=no
  14543. fi
  14544. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14545. CXX="$ac_save_CXX"
  14546. fi
  14547. eval ac_res=\$$cachevar
  14548. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  14549. $as_echo "$ac_res" >&6; }
  14550. if eval test x\$$cachevar = xyes; then
  14551. CXX="$CXX $switch"
  14552. if test -n "$CXXCPP" ; then
  14553. CXXCPP="$CXXCPP $switch"
  14554. fi
  14555. ac_success=yes
  14556. break
  14557. fi
  14558. done
  14559. if test x$ac_success = xyes; then
  14560. break
  14561. fi
  14562. done
  14563. fi
  14564. ac_ext=cpp
  14565. ac_cpp='$CXXCPP $CPPFLAGS'
  14566. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14567. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14568. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14569. if test x$ax_cxx_compile_cxx14_required = xtrue; then
  14570. if test x$ac_success = xno; then
  14571. as_fn_error $? "*** A compiler with support for C++14 language features is required." "$LINENO" 5
  14572. fi
  14573. fi
  14574. if test x$ac_success = xno; then
  14575. HAVE_CXX14=0
  14576. { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++14 support was found" >&5
  14577. $as_echo "$as_me: No compiler with C++14 support was found" >&6;}
  14578. else
  14579. HAVE_CXX14=1
  14580. $as_echo "#define HAVE_CXX14 1" >>confdefs.h
  14581. fi
  14582. fi
  14583. if test "$HAVE_CXX14" = "1" -a $acsm_found_cxx -eq 0; then :
  14584. # If nothing fails later we're good to go
  14585. have_cxx_all=yes
  14586. # --------------------------------------------------------------
  14587. # Test for mandatory C++11 features, those which libMesh now requires
  14588. # for internal use.
  14589. # --------------------------------------------------------------
  14590. have_cxx11_auto=no
  14591. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 auto keyword support" >&5
  14592. $as_echo_n "checking for C++11 auto keyword support... " >&6; }
  14593. ac_ext=cpp
  14594. ac_cpp='$CXXCPP $CPPFLAGS'
  14595. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14596. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14597. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14598. old_CXXFLAGS="$CXXFLAGS"
  14599. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14600. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14601. /* end confdefs.h. */
  14602. int
  14603. main ()
  14604. {
  14605. int x = 5;
  14606. auto y = x;
  14607. ;
  14608. return 0;
  14609. }
  14610. _ACEOF
  14611. if ac_fn_cxx_try_compile "$LINENO"; then :
  14612. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14613. $as_echo "yes" >&6; }
  14614. $as_echo "#define HAVE_CXX11_AUTO 1" >>confdefs.h
  14615. have_cxx11_auto=yes
  14616. else
  14617. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14618. $as_echo "no" >&6; }
  14619. fi
  14620. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14621. # Reset the flags
  14622. CXXFLAGS="$old_CXXFLAGS"
  14623. ac_ext=cpp
  14624. ac_cpp='$CXXCPP $CPPFLAGS'
  14625. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14626. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14627. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14628. if test x$have_cxx11_auto == xyes; then
  14629. HAVE_CXX11_AUTO_TRUE=
  14630. HAVE_CXX11_AUTO_FALSE='#'
  14631. else
  14632. HAVE_CXX11_AUTO_TRUE='#'
  14633. HAVE_CXX11_AUTO_FALSE=
  14634. fi
  14635. if test "x$have_cxx11_auto" != "xyes"; then :
  14636. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 auto variable support" >&5
  14637. $as_echo "$as_me: WARNING: libMesh requires C++11 auto variable support" >&2;}
  14638. have_cxx_all=no
  14639. fi
  14640. have_cxx11_rangefor=no
  14641. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 range-based for loop support" >&5
  14642. $as_echo_n "checking for C++11 range-based for loop support... " >&6; }
  14643. ac_ext=cpp
  14644. ac_cpp='$CXXCPP $CPPFLAGS'
  14645. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14646. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14647. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14648. old_CXXFLAGS="$CXXFLAGS"
  14649. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14650. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14651. /* end confdefs.h. */
  14652. #include <iostream>
  14653. #include <vector>
  14654. void print(const std::vector<int> & v)
  14655. {
  14656. for (const int & x : v)
  14657. std::cout << x << ' ';
  14658. std::cout << std::endl;
  14659. }
  14660. int
  14661. main ()
  14662. {
  14663. std::vector<int> v(3);
  14664. print(v);
  14665. ;
  14666. return 0;
  14667. }
  14668. _ACEOF
  14669. if ac_fn_cxx_try_compile "$LINENO"; then :
  14670. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14671. $as_echo "yes" >&6; }
  14672. $as_echo "#define HAVE_CXX11_RANGEFOR 1" >>confdefs.h
  14673. have_cxx11_rangefor=yes
  14674. else
  14675. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14676. $as_echo "no" >&6; }
  14677. fi
  14678. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14679. # Reset the flags
  14680. CXXFLAGS="$old_CXXFLAGS"
  14681. ac_ext=cpp
  14682. ac_cpp='$CXXCPP $CPPFLAGS'
  14683. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14684. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14685. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14686. if test x$have_cxx11_rangefor == xyes; then
  14687. HAVE_CXX11_RANGEFOR_TRUE=
  14688. HAVE_CXX11_RANGEFOR_FALSE='#'
  14689. else
  14690. HAVE_CXX11_RANGEFOR_TRUE='#'
  14691. HAVE_CXX11_RANGEFOR_FALSE=
  14692. fi
  14693. if test "x$have_cxx11_rangefor" != "xyes"; then :
  14694. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 ranged-for loop support" >&5
  14695. $as_echo "$as_me: WARNING: libMesh requires C++11 ranged-for loop support" >&2;}
  14696. have_cxx_all=no
  14697. fi
  14698. # Technically we require uniform initialization, but this is the
  14699. # closest test we have
  14700. have_cxx11_initializer_list=no
  14701. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 initializer list support" >&5
  14702. $as_echo_n "checking for C++11 initializer list support... " >&6; }
  14703. ac_ext=cpp
  14704. ac_cpp='$CXXCPP $CPPFLAGS'
  14705. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14706. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14707. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14708. old_CXXFLAGS="$CXXFLAGS"
  14709. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14710. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14711. /* end confdefs.h. */
  14712. #include <vector>
  14713. #include <string>
  14714. #include <initializer_list>
  14715. int
  14716. main ()
  14717. {
  14718. std::vector<std::string> v = { "xyzzy", "plugh", "abracadabra" };
  14719. ;
  14720. return 0;
  14721. }
  14722. _ACEOF
  14723. if ac_fn_cxx_try_compile "$LINENO"; then :
  14724. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14725. $as_echo "yes" >&6; }
  14726. $as_echo "#define HAVE_CXX11_INITIALIZER_LIST 1" >>confdefs.h
  14727. have_cxx11_initializer_list=yes
  14728. else
  14729. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14730. $as_echo "no" >&6; }
  14731. fi
  14732. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14733. # Reset the flags
  14734. CXXFLAGS="$old_CXXFLAGS"
  14735. ac_ext=cpp
  14736. ac_cpp='$CXXCPP $CPPFLAGS'
  14737. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14738. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14739. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14740. if test x$have_cxx11_initializer_list == xyes; then
  14741. HAVE_CXX11_INITIALIZER_LIST_TRUE=
  14742. HAVE_CXX11_INITIALIZER_LIST_FALSE='#'
  14743. else
  14744. HAVE_CXX11_INITIALIZER_LIST_TRUE='#'
  14745. HAVE_CXX11_INITIALIZER_LIST_FALSE=
  14746. fi
  14747. if test "x$have_cxx11_initializer_list" != "xyes"; then :
  14748. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 initializer list support" >&5
  14749. $as_echo "$as_me: WARNING: libMesh requires C++11 initializer list support" >&2;}
  14750. have_cxx_all=no
  14751. fi
  14752. have_cxx11_unique_ptr=no
  14753. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::unique_ptr support" >&5
  14754. $as_echo_n "checking for C++11 std::unique_ptr support... " >&6; }
  14755. ac_ext=cpp
  14756. ac_cpp='$CXXCPP $CPPFLAGS'
  14757. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14758. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14759. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14760. old_CXXFLAGS="$CXXFLAGS"
  14761. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14762. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14763. /* end confdefs.h. */
  14764. #include <iostream>
  14765. #include <memory>
  14766. struct Foo
  14767. {
  14768. Foo() { std::cout << "Foo::Foo\n"; }
  14769. ~Foo() { std::cout << "Foo::~Foo\n"; }
  14770. };
  14771. int
  14772. main ()
  14773. {
  14774. {
  14775. // up now owns a Foo
  14776. std::unique_ptr<Foo> up(new Foo);
  14777. } // Foo deleted when up goes out of scope
  14778. ;
  14779. return 0;
  14780. }
  14781. _ACEOF
  14782. if ac_fn_cxx_try_compile "$LINENO"; then :
  14783. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14784. $as_echo "yes" >&6; }
  14785. $as_echo "#define HAVE_CXX11_UNIQUE_PTR 1" >>confdefs.h
  14786. have_cxx11_unique_ptr=yes
  14787. else
  14788. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14789. $as_echo "no" >&6; }
  14790. fi
  14791. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14792. # Reset the flags
  14793. CXXFLAGS="$old_CXXFLAGS"
  14794. ac_ext=cpp
  14795. ac_cpp='$CXXCPP $CPPFLAGS'
  14796. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14797. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14798. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14799. if test x$have_cxx11_unique_ptr == xyes; then
  14800. HAVE_CXX11_UNIQUE_PTR_TRUE=
  14801. HAVE_CXX11_UNIQUE_PTR_FALSE='#'
  14802. else
  14803. HAVE_CXX11_UNIQUE_PTR_TRUE='#'
  14804. HAVE_CXX11_UNIQUE_PTR_FALSE=
  14805. fi
  14806. if test "x$have_cxx11_unique_ptr" != "xyes"; then :
  14807. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::unique_ptr support" >&5
  14808. $as_echo "$as_me: WARNING: libMesh requires C++11 std::unique_ptr support" >&2;}
  14809. have_cxx_all=no
  14810. fi
  14811. have_cxx11_make_unique_workaround=no
  14812. # This is a simple workaround for no std::make_unique in C++11:
  14813. # http://stackoverflow.com/questions/7038357/make-unique-and-perfect-forwarding
  14814. # Requires working rvalue references, std::forward, variadic
  14815. # templates, and std::unique_ptr from C++11.
  14816. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::make_unique workaround support" >&5
  14817. $as_echo_n "checking for C++11 std::make_unique workaround support... " >&6; }
  14818. ac_ext=cpp
  14819. ac_cpp='$CXXCPP $CPPFLAGS'
  14820. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14821. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14822. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14823. old_CXXFLAGS="$CXXFLAGS"
  14824. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14825. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14826. /* end confdefs.h. */
  14827. #include <memory>
  14828. namespace local
  14829. {
  14830. template<typename T, typename... Args>
  14831. std::unique_ptr<T> make_unique(Args&&... args)
  14832. {
  14833. return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
  14834. }
  14835. }
  14836. int
  14837. main ()
  14838. {
  14839. {
  14840. // Normally, you would use "auto" on the LHS here to avoid
  14841. // repeating the type name, but we are not testing auto here.
  14842. std::unique_ptr<int> up = local::make_unique<int>(42);
  14843. } // Foo deleted when up goes out of scope
  14844. ;
  14845. return 0;
  14846. }
  14847. _ACEOF
  14848. if ac_fn_cxx_try_compile "$LINENO"; then :
  14849. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14850. $as_echo "yes" >&6; }
  14851. $as_echo "#define HAVE_CXX11_MAKE_UNIQUE_WORKAROUND 1" >>confdefs.h
  14852. have_cxx11_make_unique_workaround=yes
  14853. else
  14854. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14855. $as_echo "no" >&6; }
  14856. fi
  14857. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14858. # Reset the flags
  14859. CXXFLAGS="$old_CXXFLAGS"
  14860. ac_ext=cpp
  14861. ac_cpp='$CXXCPP $CPPFLAGS'
  14862. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14863. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14864. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14865. if test x$have_cxx11_make_unique_workaround == xyes; then
  14866. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE=
  14867. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE='#'
  14868. else
  14869. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE='#'
  14870. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE=
  14871. fi
  14872. if test "x$have_cxx11_make_unique_workaround" != "xyes"; then :
  14873. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 variadic template support" >&5
  14874. $as_echo "$as_me: WARNING: libMesh requires C++11 variadic template support" >&2;}
  14875. have_cxx_all=no
  14876. fi
  14877. have_cxx11_tuple=no
  14878. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::tuple support" >&5
  14879. $as_echo_n "checking for C++11 std::tuple support... " >&6; }
  14880. ac_ext=cpp
  14881. ac_cpp='$CXXCPP $CPPFLAGS'
  14882. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14883. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14884. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14885. old_CXXFLAGS="$CXXFLAGS"
  14886. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14887. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14888. /* end confdefs.h. */
  14889. #include <tuple>
  14890. #include <map>
  14891. #include <string>
  14892. int
  14893. main ()
  14894. {
  14895. // Test std::make_tuple
  14896. std::map<int, std::tuple<double, char, std::string>> students;
  14897. students[0] = std::make_tuple(3.8, 'A', "Lisa Simpson");
  14898. students[1] = std::make_tuple(2.9, 'C', "Milhouse Van Houten");
  14899. // Test templated std::get() method.
  14900. std::get<0>(students[0]);
  14901. std::get<1>(students[0]);
  14902. std::get<2>(students[0]);
  14903. // Test std::tie and std::ignore which are declared in the <tuple> header.
  14904. double gpa1;
  14905. std::string name1;
  14906. std::tie(gpa1, std::ignore, name1) = students[1];
  14907. // Test std::tuple_cat(), which combines together one or more
  14908. // objects, not necessarily tuples, into a single tuple.
  14909. auto t = std::tuple_cat(students[0], students[1], std::make_pair("foo", 42));
  14910. ;
  14911. return 0;
  14912. }
  14913. _ACEOF
  14914. if ac_fn_cxx_try_compile "$LINENO"; then :
  14915. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14916. $as_echo "yes" >&6; }
  14917. $as_echo "#define HAVE_CXX11_TUPLE 1" >>confdefs.h
  14918. have_cxx11_tuple=yes
  14919. else
  14920. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14921. $as_echo "no" >&6; }
  14922. fi
  14923. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14924. CXXFLAGS="$old_CXXFLAGS"
  14925. ac_ext=cpp
  14926. ac_cpp='$CXXCPP $CPPFLAGS'
  14927. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14928. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14929. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14930. if test x$have_cxx11_tuple == xyes; then
  14931. HAVE_CXX11_TUPLE_TRUE=
  14932. HAVE_CXX11_TUPLE_FALSE='#'
  14933. else
  14934. HAVE_CXX11_TUPLE_TRUE='#'
  14935. HAVE_CXX11_TUPLE_FALSE=
  14936. fi
  14937. if test "x$have_cxx11_tuple" != "xyes"; then :
  14938. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::tuple support" >&5
  14939. $as_echo "$as_me: WARNING: libMesh requires C++11 std::tuple support" >&2;}
  14940. have_cxx_all=no
  14941. fi
  14942. have_cxx11_lambda=no
  14943. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 lambda support" >&5
  14944. $as_echo_n "checking for C++11 lambda support... " >&6; }
  14945. ac_ext=cpp
  14946. ac_cpp='$CXXCPP $CPPFLAGS'
  14947. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14948. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14949. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14950. old_CXXFLAGS="$CXXFLAGS"
  14951. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  14952. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  14953. /* end confdefs.h. */
  14954. // typedef for a function pointer that takes int and returns bool.
  14955. typedef bool (*FunctionPointer) (int);
  14956. // A function that takes a pointer to a function that takes an int,
  14957. // calls it with the number 4, and returns the result.
  14958. bool f(FunctionPointer g) { return g(4); }
  14959. int
  14960. main ()
  14961. {
  14962. // Call f, passing it a lambda constructed on the fly instead
  14963. // of a standard function pointer. The result should be true.
  14964. f ( [](int x) { return x > 3; } );
  14965. ;
  14966. return 0;
  14967. }
  14968. _ACEOF
  14969. if ac_fn_cxx_try_compile "$LINENO"; then :
  14970. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  14971. $as_echo "yes" >&6; }
  14972. $as_echo "#define HAVE_CXX11_LAMBDA 1" >>confdefs.h
  14973. have_cxx11_lambda=yes
  14974. else
  14975. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  14976. $as_echo "no" >&6; }
  14977. fi
  14978. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  14979. # Reset the flags
  14980. CXXFLAGS="$old_CXXFLAGS"
  14981. ac_ext=cpp
  14982. ac_cpp='$CXXCPP $CPPFLAGS'
  14983. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  14984. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  14985. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  14986. if test x$have_cxx11_lambda == xyes; then
  14987. HAVE_CXX11_LAMBDA_TRUE=
  14988. HAVE_CXX11_LAMBDA_FALSE='#'
  14989. else
  14990. HAVE_CXX11_LAMBDA_TRUE='#'
  14991. HAVE_CXX11_LAMBDA_FALSE=
  14992. fi
  14993. if test "x$have_cxx11_lambda" != "xyes"; then :
  14994. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 lambda support" >&5
  14995. $as_echo "$as_me: WARNING: libMesh requires C++11 lambda support" >&2;}
  14996. have_cxx_all=no
  14997. fi
  14998. have_cxx11_fixed_type_enum=no
  14999. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 fixed type enumeration support" >&5
  15000. $as_echo_n "checking for C++11 fixed type enumeration support... " >&6; }
  15001. ac_ext=cpp
  15002. ac_cpp='$CXXCPP $CPPFLAGS'
  15003. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15004. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15005. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15006. old_CXXFLAGS="$CXXFLAGS"
  15007. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15008. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15009. /* end confdefs.h. */
  15010. enum Fruit : int {APPLE=0, ORANGE=1};
  15011. int
  15012. main ()
  15013. {
  15014. Fruit f = APPLE;
  15015. ;
  15016. return 0;
  15017. }
  15018. _ACEOF
  15019. if ac_fn_cxx_try_compile "$LINENO"; then :
  15020. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15021. $as_echo "yes" >&6; }
  15022. $as_echo "#define HAVE_CXX11_FIXED_TYPE_ENUM 1" >>confdefs.h
  15023. have_cxx11_fixed_type_enum=yes
  15024. else
  15025. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15026. $as_echo "no" >&6; }
  15027. fi
  15028. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15029. CXXFLAGS="$old_CXXFLAGS"
  15030. ac_ext=cpp
  15031. ac_cpp='$CXXCPP $CPPFLAGS'
  15032. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15033. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15034. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15035. if test x$have_cxx11_fixed_type_enum == xyes; then
  15036. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE=
  15037. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE='#'
  15038. else
  15039. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE='#'
  15040. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE=
  15041. fi
  15042. if test "x$have_cxx11_fixed_type_enum" != "xyes"; then :
  15043. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 fixed type enumeration support" >&5
  15044. $as_echo "$as_me: WARNING: libMesh requires C++11 fixed type enumeration support" >&2;}
  15045. have_cxx_all=no
  15046. fi
  15047. have_cxx11_fixed_type_enum_fwd=no
  15048. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 fixed type enumeration forward declaration support" >&5
  15049. $as_echo_n "checking for C++11 fixed type enumeration forward declaration support... " >&6; }
  15050. ac_ext=cpp
  15051. ac_cpp='$CXXCPP $CPPFLAGS'
  15052. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15053. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15054. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15055. old_CXXFLAGS="$CXXFLAGS"
  15056. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15057. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15058. /* end confdefs.h. */
  15059. #include <iostream>
  15060. enum Foo : int;
  15061. void func(Foo f) { std::cout << f << std::endl; }
  15062. enum Foo : int { FOO0 = 0, FOO1 = 1, FOO2 = 2 };
  15063. int
  15064. main ()
  15065. {
  15066. func(FOO0);
  15067. func(FOO1);
  15068. func(FOO2);
  15069. ;
  15070. return 0;
  15071. }
  15072. _ACEOF
  15073. if ac_fn_cxx_try_compile "$LINENO"; then :
  15074. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15075. $as_echo "yes" >&6; }
  15076. $as_echo "#define HAVE_CXX11_FIXED_TYPE_ENUM_FWD 1" >>confdefs.h
  15077. have_cxx11_fixed_type_enum_fwd=yes
  15078. else
  15079. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15080. $as_echo "no" >&6; }
  15081. fi
  15082. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15083. CXXFLAGS="$old_CXXFLAGS"
  15084. ac_ext=cpp
  15085. ac_cpp='$CXXCPP $CPPFLAGS'
  15086. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15087. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15088. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15089. if test x$have_cxx11_fixed_type_enum_fwd == xyes; then
  15090. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE=
  15091. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE='#'
  15092. else
  15093. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE='#'
  15094. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE=
  15095. fi
  15096. if test "x$have_cxx11_fixed_type_enum_fwd" != "xyes"; then :
  15097. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 fixed type enumeration forward declaration support" >&5
  15098. $as_echo "$as_me: WARNING: libMesh requires C++11 fixed type enumeration forward declaration support" >&2;}
  15099. have_cxx_all=no
  15100. fi
  15101. have_cxx11_override=no
  15102. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 override keyword support" >&5
  15103. $as_echo_n "checking for C++11 override keyword support... " >&6; }
  15104. ac_ext=cpp
  15105. ac_cpp='$CXXCPP $CPPFLAGS'
  15106. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15107. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15108. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15109. old_CXXFLAGS="$CXXFLAGS"
  15110. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15111. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15112. /* end confdefs.h. */
  15113. int
  15114. main ()
  15115. {
  15116. struct Base {
  15117. virtual void f() {}
  15118. };
  15119. struct Child : public Base {
  15120. virtual void f() override {}
  15121. };
  15122. ;
  15123. return 0;
  15124. }
  15125. _ACEOF
  15126. if ac_fn_cxx_try_compile "$LINENO"; then :
  15127. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15128. $as_echo "yes" >&6; }
  15129. $as_echo "#define HAVE_CXX11_OVERRIDE 1" >>confdefs.h
  15130. have_cxx11_override=yes
  15131. else
  15132. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15133. $as_echo "no" >&6; }
  15134. fi
  15135. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15136. # Reset the flags
  15137. CXXFLAGS="$old_CXXFLAGS"
  15138. ac_ext=cpp
  15139. ac_cpp='$CXXCPP $CPPFLAGS'
  15140. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15141. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15142. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15143. if test x$have_cxx11_override == xyes; then
  15144. HAVE_CXX11_OVERRIDE_TRUE=
  15145. HAVE_CXX11_OVERRIDE_FALSE='#'
  15146. else
  15147. HAVE_CXX11_OVERRIDE_TRUE='#'
  15148. HAVE_CXX11_OVERRIDE_FALSE=
  15149. fi
  15150. if test "x$have_cxx11_override" != "xyes"; then :
  15151. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 compiler support the override keyword" >&5
  15152. $as_echo "$as_me: WARNING: libMesh requires C++11 compiler support the override keyword" >&2;}
  15153. have_cxx_all=no
  15154. fi
  15155. have_cxx11_move_constructors=no
  15156. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 move constructor support" >&5
  15157. $as_echo_n "checking for C++11 move constructor support... " >&6; }
  15158. ac_ext=cpp
  15159. ac_cpp='$CXXCPP $CPPFLAGS'
  15160. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15161. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15162. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15163. old_CXXFLAGS="$CXXFLAGS"
  15164. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15165. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15166. /* end confdefs.h. */
  15167. #include <utility>
  15168. class move_constructable_base
  15169. {
  15170. public:
  15171. move_constructable_base() {}
  15172. move_constructable_base(move_constructable_base && other) noexcept {}
  15173. };
  15174. class move_constructable : public move_constructable_base
  15175. {
  15176. public:
  15177. move_constructable() {}
  15178. move_constructable(move_constructable && other) noexcept : move_constructable_base(std::move(other)) {}
  15179. };
  15180. int
  15181. main ()
  15182. {
  15183. move_constructable m1;
  15184. move_constructable m2(std::move(m1));
  15185. ;
  15186. return 0;
  15187. }
  15188. _ACEOF
  15189. if ac_fn_cxx_try_compile "$LINENO"; then :
  15190. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15191. $as_echo "yes" >&6; }
  15192. $as_echo "#define HAVE_CXX11_MOVE_CONSTRUCTORS 1" >>confdefs.h
  15193. have_cxx11_move_constructors=yes
  15194. else
  15195. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15196. $as_echo "no" >&6; }
  15197. fi
  15198. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15199. # Reset the flags
  15200. CXXFLAGS="$old_CXXFLAGS"
  15201. ac_ext=cpp
  15202. ac_cpp='$CXXCPP $CPPFLAGS'
  15203. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15204. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15205. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15206. if test x$have_cxx11_move_constructors == xyes; then
  15207. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE=
  15208. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE='#'
  15209. else
  15210. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE='#'
  15211. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE=
  15212. fi
  15213. if test "x$have_cxx11_move_constructors" != "xyes"; then :
  15214. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 move constructor support" >&5
  15215. $as_echo "$as_me: WARNING: libMesh requires C++11 move constructor support" >&2;}
  15216. have_cxx_all=no
  15217. fi
  15218. have_cxx11_deleted_functions=no
  15219. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 deleted functions support" >&5
  15220. $as_echo_n "checking for C++11 deleted functions support... " >&6; }
  15221. ac_ext=cpp
  15222. ac_cpp='$CXXCPP $CPPFLAGS'
  15223. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15224. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15225. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15226. old_CXXFLAGS="$CXXFLAGS"
  15227. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15228. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15229. /* end confdefs.h. */
  15230. class Foo
  15231. {
  15232. Foo(const Foo &) = delete;
  15233. };
  15234. int
  15235. main ()
  15236. {
  15237. ;
  15238. return 0;
  15239. }
  15240. _ACEOF
  15241. if ac_fn_cxx_try_compile "$LINENO"; then :
  15242. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15243. $as_echo "yes" >&6; }
  15244. $as_echo "#define HAVE_CXX11_DELETED_FUNCTIONS 1" >>confdefs.h
  15245. have_cxx11_deleted_functions=yes
  15246. else
  15247. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15248. $as_echo "no" >&6; }
  15249. fi
  15250. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15251. # Reset the flags
  15252. CXXFLAGS="$old_CXXFLAGS"
  15253. ac_ext=cpp
  15254. ac_cpp='$CXXCPP $CPPFLAGS'
  15255. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15256. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15257. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15258. if test x$have_cxx11_deleted_functions == xyes; then
  15259. HAVE_CXX11_DELETED_FUNCTIONS_TRUE=
  15260. HAVE_CXX11_DELETED_FUNCTIONS_FALSE='#'
  15261. else
  15262. HAVE_CXX11_DELETED_FUNCTIONS_TRUE='#'
  15263. HAVE_CXX11_DELETED_FUNCTIONS_FALSE=
  15264. fi
  15265. if test "x$have_cxx11_deleted_functions" != "xyes"; then :
  15266. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 deleted function support" >&5
  15267. $as_echo "$as_me: WARNING: libMesh requires C++11 deleted function support" >&2;}
  15268. have_cxx_all=no
  15269. fi
  15270. have_cxx11_defaulted_functions=no
  15271. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 defaulted functions support" >&5
  15272. $as_echo_n "checking for C++11 defaulted functions support... " >&6; }
  15273. ac_ext=cpp
  15274. ac_cpp='$CXXCPP $CPPFLAGS'
  15275. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15276. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15277. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15278. old_CXXFLAGS="$CXXFLAGS"
  15279. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15280. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15281. /* end confdefs.h. */
  15282. class Foo
  15283. {
  15284. Foo(const Foo &) = default;
  15285. ~Foo();
  15286. };
  15287. Foo::~Foo() = default;
  15288. int
  15289. main ()
  15290. {
  15291. ;
  15292. return 0;
  15293. }
  15294. _ACEOF
  15295. if ac_fn_cxx_try_compile "$LINENO"; then :
  15296. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15297. $as_echo "yes" >&6; }
  15298. $as_echo "#define HAVE_CXX11_DEFAULTED_FUNCTIONS 1" >>confdefs.h
  15299. have_cxx11_defaulted_functions=yes
  15300. else
  15301. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15302. $as_echo "no" >&6; }
  15303. fi
  15304. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15305. # Reset the flags
  15306. CXXFLAGS="$old_CXXFLAGS"
  15307. ac_ext=cpp
  15308. ac_cpp='$CXXCPP $CPPFLAGS'
  15309. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15310. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15311. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15312. if test x$have_cxx11_defaulted_functions == xyes; then
  15313. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE=
  15314. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE='#'
  15315. else
  15316. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE='#'
  15317. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE=
  15318. fi
  15319. if test "x$have_cxx11_defaulted_functions" != "xyes"; then :
  15320. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 defaulted function support" >&5
  15321. $as_echo "$as_me: WARNING: libMesh requires C++11 defaulted function support" >&2;}
  15322. have_cxx_all=no
  15323. fi
  15324. have_cxx11_nullptr=no
  15325. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 nullptr support" >&5
  15326. $as_echo_n "checking for C++11 nullptr support... " >&6; }
  15327. ac_ext=cpp
  15328. ac_cpp='$CXXCPP $CPPFLAGS'
  15329. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15330. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15331. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15332. old_CXXFLAGS="$CXXFLAGS"
  15333. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15334. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15335. /* end confdefs.h. */
  15336. #include <cstddef>
  15337. void f(int * pi) {}
  15338. void f(double * pd) {}
  15339. void f(std::nullptr_t nullp) {}
  15340. int
  15341. main ()
  15342. {
  15343. // would be ambiguous without void f(nullptr_t)
  15344. f(nullptr);
  15345. ;
  15346. return 0;
  15347. }
  15348. _ACEOF
  15349. if ac_fn_cxx_try_compile "$LINENO"; then :
  15350. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15351. $as_echo "yes" >&6; }
  15352. $as_echo "#define HAVE_CXX11_NULLPTR 1" >>confdefs.h
  15353. have_cxx11_nullptr=yes
  15354. else
  15355. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15356. $as_echo "no" >&6; }
  15357. fi
  15358. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15359. # Reset the flags
  15360. CXXFLAGS="$old_CXXFLAGS"
  15361. ac_ext=cpp
  15362. ac_cpp='$CXXCPP $CPPFLAGS'
  15363. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15364. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15365. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15366. if test x$have_cxx11_nullptr == xyes; then
  15367. HAVE_CXX11_NULLPTR_TRUE=
  15368. HAVE_CXX11_NULLPTR_FALSE='#'
  15369. else
  15370. HAVE_CXX11_NULLPTR_TRUE='#'
  15371. HAVE_CXX11_NULLPTR_FALSE=
  15372. fi
  15373. if test "x$have_cxx11_nullptr" != "xyes"; then :
  15374. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 nullptr keyword" >&5
  15375. $as_echo "$as_me: WARNING: libMesh requires the C++11 nullptr keyword" >&2;}
  15376. have_cxx_all=no
  15377. fi
  15378. have_cxx11_final=no
  15379. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 'final' keyword support" >&5
  15380. $as_echo_n "checking for C++11 'final' keyword support... " >&6; }
  15381. ac_ext=cpp
  15382. ac_cpp='$CXXCPP $CPPFLAGS'
  15383. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15384. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15385. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15386. old_CXXFLAGS="$CXXFLAGS"
  15387. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15388. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15389. /* end confdefs.h. */
  15390. // Test that a function can be declared final.
  15391. struct A
  15392. {
  15393. virtual void foo() final;
  15394. };
  15395. // Test that a struct can be declared final.
  15396. struct B final : A
  15397. {
  15398. };
  15399. int
  15400. main ()
  15401. {
  15402. ;
  15403. return 0;
  15404. }
  15405. _ACEOF
  15406. if ac_fn_cxx_try_compile "$LINENO"; then :
  15407. have_cxx11_final=yes
  15408. else
  15409. have_cxx11_final=no
  15410. fi
  15411. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15412. # Confirm that you cannot declare a non-virtual function 'final'.
  15413. if test "x$have_cxx11_final" != "xno"; then :
  15414. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15415. /* end confdefs.h. */
  15416. struct A
  15417. {
  15418. // Error: non-virtual function cannot be final
  15419. void bar() final;
  15420. };
  15421. int
  15422. main ()
  15423. {
  15424. ;
  15425. return 0;
  15426. }
  15427. _ACEOF
  15428. if ac_fn_cxx_try_compile "$LINENO"; then :
  15429. # If this code compiles, 'final' is not working correctly.
  15430. have_cxx11_final=no
  15431. else
  15432. have_cxx11_final=yes
  15433. fi
  15434. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15435. fi
  15436. if test "x$have_cxx11_final" != "xno"; then :
  15437. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15438. /* end confdefs.h. */
  15439. struct A
  15440. {
  15441. virtual void foo() final;
  15442. };
  15443. struct B : A
  15444. {
  15445. // Error: foo cannot be overridden as it's final in A
  15446. void foo();
  15447. };
  15448. int
  15449. main ()
  15450. {
  15451. ;
  15452. return 0;
  15453. }
  15454. _ACEOF
  15455. if ac_fn_cxx_try_compile "$LINENO"; then :
  15456. # If this code compiles, 'final' is not working correctly.
  15457. have_cxx11_final=no
  15458. else
  15459. have_cxx11_final=yes
  15460. fi
  15461. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15462. fi
  15463. if test "x$have_cxx11_final" != "xno"; then :
  15464. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15465. /* end confdefs.h. */
  15466. struct A
  15467. {
  15468. };
  15469. // struct B is final
  15470. struct B final : A
  15471. {
  15472. };
  15473. // Error: B is final
  15474. struct C : B
  15475. {
  15476. };
  15477. int
  15478. main ()
  15479. {
  15480. ;
  15481. return 0;
  15482. }
  15483. _ACEOF
  15484. if ac_fn_cxx_try_compile "$LINENO"; then :
  15485. # If this code compiles, 'final' is not working correctly.
  15486. have_cxx11_final=no
  15487. else
  15488. have_cxx11_final=yes
  15489. fi
  15490. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15491. fi
  15492. # If the flag is still 'yes' after all the tests, set the #define.
  15493. if test "x$have_cxx11_final" = "xyes"; then :
  15494. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15495. $as_echo "yes" >&6; }
  15496. $as_echo "#define HAVE_CXX11_FINAL 1" >>confdefs.h
  15497. else
  15498. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15499. $as_echo "no" >&6; }
  15500. fi
  15501. # Reset the flags
  15502. CXXFLAGS="$old_CXXFLAGS"
  15503. ac_ext=cpp
  15504. ac_cpp='$CXXCPP $CPPFLAGS'
  15505. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15506. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15507. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15508. if test x$have_cxx11_final == xyes; then
  15509. HAVE_CXX11_FINAL_TRUE=
  15510. HAVE_CXX11_FINAL_FALSE='#'
  15511. else
  15512. HAVE_CXX11_FINAL_TRUE='#'
  15513. HAVE_CXX11_FINAL_FALSE=
  15514. fi
  15515. if test "x$have_cxx11_final" != "xyes"; then :
  15516. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 final keyword" >&5
  15517. $as_echo "$as_me: WARNING: libMesh requires the C++11 final keyword" >&2;}
  15518. have_cxx_all=no
  15519. fi
  15520. have_cxx11_decltype=no
  15521. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 decltype support" >&5
  15522. $as_echo_n "checking for C++11 decltype support... " >&6; }
  15523. ac_ext=cpp
  15524. ac_cpp='$CXXCPP $CPPFLAGS'
  15525. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15526. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15527. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15528. old_CXXFLAGS="$CXXFLAGS"
  15529. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15530. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15531. /* end confdefs.h. */
  15532. #include <vector>
  15533. int
  15534. main ()
  15535. {
  15536. int a;
  15537. decltype(a) b;
  15538. std::vector<int> vec(10);
  15539. for (auto i = decltype(vec.size())(0); i < vec.size(); ++i)
  15540. vec[i] += i;
  15541. ;
  15542. return 0;
  15543. }
  15544. _ACEOF
  15545. if ac_fn_cxx_try_compile "$LINENO"; then :
  15546. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15547. $as_echo "yes" >&6; }
  15548. $as_echo "#define HAVE_CXX11_DECLTYPE 1" >>confdefs.h
  15549. have_cxx11_decltype=yes
  15550. else
  15551. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15552. $as_echo "no" >&6; }
  15553. fi
  15554. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15555. # Reset the flags
  15556. CXXFLAGS="$old_CXXFLAGS"
  15557. ac_ext=cpp
  15558. ac_cpp='$CXXCPP $CPPFLAGS'
  15559. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15560. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15561. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15562. if test x$have_cxx11_decltype == xyes; then
  15563. HAVE_CXX11_DECLTYPE_TRUE=
  15564. HAVE_CXX11_DECLTYPE_FALSE='#'
  15565. else
  15566. HAVE_CXX11_DECLTYPE_TRUE='#'
  15567. HAVE_CXX11_DECLTYPE_FALSE=
  15568. fi
  15569. if test "x$have_cxx11_decltype" != "xyes"; then :
  15570. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 decltype keyword" >&5
  15571. $as_echo "$as_me: WARNING: libMesh requires the C++11 decltype keyword" >&2;}
  15572. have_cxx_all=no
  15573. fi
  15574. have_cxx11_begin_end=no
  15575. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::begin/end support for arrays" >&5
  15576. $as_echo_n "checking for C++11 std::begin/end support for arrays... " >&6; }
  15577. ac_ext=cpp
  15578. ac_cpp='$CXXCPP $CPPFLAGS'
  15579. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15580. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15581. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15582. old_CXXFLAGS="$CXXFLAGS"
  15583. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15584. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15585. /* end confdefs.h. */
  15586. #include <iterator>
  15587. #include <algorithm>
  15588. int
  15589. main ()
  15590. {
  15591. int array[5] = {3, 1, 5, 2, 4};
  15592. std::sort(std::begin(array), std::end(array));
  15593. ;
  15594. return 0;
  15595. }
  15596. _ACEOF
  15597. if ac_fn_cxx_try_compile "$LINENO"; then :
  15598. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15599. $as_echo "yes" >&6; }
  15600. have_cxx11_begin_end=yes
  15601. else
  15602. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15603. $as_echo "no" >&6; }
  15604. fi
  15605. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15606. CXXFLAGS="$old_CXXFLAGS"
  15607. ac_ext=cpp
  15608. ac_cpp='$CXXCPP $CPPFLAGS'
  15609. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15610. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15611. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15612. if test "x$have_cxx11_begin_end" != "xyes"; then :
  15613. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::begin/end support" >&5
  15614. $as_echo "$as_me: WARNING: libMesh requires C++11 std::begin/end support" >&2;}
  15615. have_cxx_all=no
  15616. fi
  15617. have_cxx11_container_erase=no
  15618. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std container erase() functions returning iterators" >&5
  15619. $as_echo_n "checking for C++11 std container erase() functions returning iterators... " >&6; }
  15620. ac_ext=cpp
  15621. ac_cpp='$CXXCPP $CPPFLAGS'
  15622. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15623. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15624. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15625. old_CXXFLAGS="$CXXFLAGS"
  15626. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15627. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15628. /* end confdefs.h. */
  15629. #include <map>
  15630. #include <set>
  15631. int
  15632. main ()
  15633. {
  15634. {
  15635. std::map<int, int> m;
  15636. m.insert(std::make_pair(1,2));
  15637. std::map<int, int>::iterator it = m.erase(m.begin());
  15638. }
  15639. {
  15640. std::set<int> s;
  15641. s.insert(1);
  15642. std::set<int>::iterator it = s.erase(s.begin());
  15643. }
  15644. {
  15645. std::multimap<int, int> m;
  15646. m.insert(std::make_pair(1,2));
  15647. std::multimap<int, int>::iterator it = m.erase(m.begin());
  15648. }
  15649. {
  15650. std::multiset<int> s;
  15651. s.insert(1);
  15652. std::multiset<int>::iterator it = s.erase(s.begin());
  15653. }
  15654. ;
  15655. return 0;
  15656. }
  15657. _ACEOF
  15658. if ac_fn_cxx_try_compile "$LINENO"; then :
  15659. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15660. $as_echo "yes" >&6; }
  15661. have_cxx11_container_erase=yes
  15662. else
  15663. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15664. $as_echo "no" >&6; }
  15665. fi
  15666. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15667. CXXFLAGS="$old_CXXFLAGS"
  15668. ac_ext=cpp
  15669. ac_cpp='$CXXCPP $CPPFLAGS'
  15670. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15671. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15672. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15673. if test "x$have_cxx11_container_erase" != "xyes"; then :
  15674. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std container erase() functions returning iterators" >&5
  15675. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std container erase() functions returning iterators" >&2;}
  15676. have_cxx_all=no
  15677. fi
  15678. have_cxx11_container_emplace=no
  15679. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std container emplace() functions" >&5
  15680. $as_echo_n "checking for C++11 std container emplace() functions... " >&6; }
  15681. ac_ext=cpp
  15682. ac_cpp='$CXXCPP $CPPFLAGS'
  15683. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15684. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15685. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15686. old_CXXFLAGS="$CXXFLAGS"
  15687. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15688. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15689. /* end confdefs.h. */
  15690. #include <map>
  15691. #include <set>
  15692. #include <vector>
  15693. int
  15694. main ()
  15695. {
  15696. {
  15697. std::map<int, int> m;
  15698. m.emplace(1,2);
  15699. m.emplace_hint(m.begin(), 0, 3);
  15700. }
  15701. {
  15702. std::set<int> s;
  15703. s.emplace(1);
  15704. s.emplace_hint(s.begin(), 0);
  15705. }
  15706. {
  15707. std::multimap<int, int> m;
  15708. m.emplace(1,2);
  15709. m.emplace_hint(m.begin(), 0, 3);
  15710. }
  15711. {
  15712. std::multiset<int> s;
  15713. s.emplace(1);
  15714. s.emplace_hint(s.begin(), 0);
  15715. }
  15716. {
  15717. std::vector<int> v;
  15718. v.emplace(v.begin(), 0);
  15719. v.emplace_back(1);
  15720. }
  15721. ;
  15722. return 0;
  15723. }
  15724. _ACEOF
  15725. if ac_fn_cxx_try_compile "$LINENO"; then :
  15726. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15727. $as_echo "yes" >&6; }
  15728. have_cxx11_container_emplace=yes
  15729. else
  15730. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15731. $as_echo "no" >&6; }
  15732. fi
  15733. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15734. CXXFLAGS="$old_CXXFLAGS"
  15735. ac_ext=cpp
  15736. ac_cpp='$CXXCPP $CPPFLAGS'
  15737. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15738. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15739. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15740. if test "x$have_cxx11_container_emplace" != "xyes"; then :
  15741. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std container emplace() functions" >&5
  15742. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std container emplace() functions" >&2;}
  15743. have_cxx_all=no
  15744. fi
  15745. have_cxx11_iota=no
  15746. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::iota algorithm" >&5
  15747. $as_echo_n "checking for C++11 std::iota algorithm... " >&6; }
  15748. ac_ext=cpp
  15749. ac_cpp='$CXXCPP $CPPFLAGS'
  15750. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15751. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15752. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15753. old_CXXFLAGS="$CXXFLAGS"
  15754. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15755. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15756. /* end confdefs.h. */
  15757. #include <vector>
  15758. #include <numeric>
  15759. int
  15760. main ()
  15761. {
  15762. std::vector<int> v(10);
  15763. std::iota(v.begin(), v.end(), 0);
  15764. ;
  15765. return 0;
  15766. }
  15767. _ACEOF
  15768. if ac_fn_cxx_try_compile "$LINENO"; then :
  15769. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15770. $as_echo "yes" >&6; }
  15771. have_cxx11_iota=yes
  15772. else
  15773. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15774. $as_echo "no" >&6; }
  15775. fi
  15776. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15777. CXXFLAGS="$old_CXXFLAGS"
  15778. ac_ext=cpp
  15779. ac_cpp='$CXXCPP $CPPFLAGS'
  15780. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15781. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15782. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15783. if test "x$have_cxx11_iota" != "xyes"; then :
  15784. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::iota" >&5
  15785. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::iota" >&2;}
  15786. have_cxx_all=no
  15787. fi
  15788. have_cxx11_vector_data=no
  15789. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::vector::data() API" >&5
  15790. $as_echo_n "checking for C++11 std::vector::data() API... " >&6; }
  15791. ac_ext=cpp
  15792. ac_cpp='$CXXCPP $CPPFLAGS'
  15793. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15794. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15795. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15796. old_CXXFLAGS="$CXXFLAGS"
  15797. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15798. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15799. /* end confdefs.h. */
  15800. #include <vector>
  15801. int
  15802. main ()
  15803. {
  15804. std::vector<int> v(10);
  15805. int * begin = v.data();
  15806. ;
  15807. return 0;
  15808. }
  15809. _ACEOF
  15810. if ac_fn_cxx_try_compile "$LINENO"; then :
  15811. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15812. $as_echo "yes" >&6; }
  15813. have_cxx11_vector_data=yes
  15814. else
  15815. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15816. $as_echo "no" >&6; }
  15817. fi
  15818. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15819. CXXFLAGS="$old_CXXFLAGS"
  15820. ac_ext=cpp
  15821. ac_cpp='$CXXCPP $CPPFLAGS'
  15822. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15823. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15824. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15825. if test "x$have_cxx11_vector_data" != "xyes"; then :
  15826. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::vector::data()" >&5
  15827. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::vector::data()" >&2;}
  15828. have_cxx_all=no
  15829. fi
  15830. have_cxx11_shared_ptr=no
  15831. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::shared_ptr support" >&5
  15832. $as_echo_n "checking for C++11 std::shared_ptr support... " >&6; }
  15833. ac_ext=cpp
  15834. ac_cpp='$CXXCPP $CPPFLAGS'
  15835. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15836. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15837. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15838. # Save any original value that CXXFLAGS had
  15839. old_CXXFLAGS="$CXXFLAGS"
  15840. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15841. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15842. /* end confdefs.h. */
  15843. #include <memory>
  15844. int
  15845. main ()
  15846. {
  15847. std::shared_ptr<int> p1;
  15848. std::shared_ptr<int> p2 (new int);
  15849. std::shared_ptr<int> p3 (p2);
  15850. p3.reset(new int);
  15851. p3 = std::make_shared<int>(5);
  15852. ;
  15853. return 0;
  15854. }
  15855. _ACEOF
  15856. if ac_fn_cxx_try_compile "$LINENO"; then :
  15857. have_cxx11_shared_ptr=yes
  15858. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15859. $as_echo "yes" >&6; }
  15860. else
  15861. have_cxx11_shared_ptr=no
  15862. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15863. $as_echo "no" >&6; }
  15864. fi
  15865. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15866. if test "x$have_cxx11_shared_ptr" = "xyes"; then :
  15867. $as_echo "#define HAVE_CXX11_SHARED_PTR 1" >>confdefs.h
  15868. fi
  15869. # Reset the flags
  15870. CXXFLAGS="$old_CXXFLAGS"
  15871. ac_ext=cpp
  15872. ac_cpp='$CXXCPP $CPPFLAGS'
  15873. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15874. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15875. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15876. if test x$have_cxx11_shared_ptr == xyes; then
  15877. HAVE_CXX11_SHARED_PTR_TRUE=
  15878. HAVE_CXX11_SHARED_PTR_FALSE='#'
  15879. else
  15880. HAVE_CXX11_SHARED_PTR_TRUE='#'
  15881. HAVE_CXX11_SHARED_PTR_FALSE=
  15882. fi
  15883. if test "x$have_cxx11_shared_ptr" != "xyes"; then :
  15884. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::shared_ptr" >&5
  15885. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::shared_ptr" >&2;}
  15886. have_cxx_all=no
  15887. fi
  15888. have_cxx11_rvalue_references=no
  15889. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 rvalue references support" >&5
  15890. $as_echo_n "checking for C++11 rvalue references support... " >&6; }
  15891. ac_ext=cpp
  15892. ac_cpp='$CXXCPP $CPPFLAGS'
  15893. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15894. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15895. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15896. old_CXXFLAGS="$CXXFLAGS"
  15897. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15898. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15899. /* end confdefs.h. */
  15900. int foo(int && x) { return x; }
  15901. int bar() { return 4; }
  15902. int
  15903. main ()
  15904. {
  15905. // Call function that takes an rvalue reference.
  15906. foo (bar());
  15907. ;
  15908. return 0;
  15909. }
  15910. _ACEOF
  15911. if ac_fn_cxx_try_compile "$LINENO"; then :
  15912. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15913. $as_echo "yes" >&6; }
  15914. $as_echo "#define HAVE_CXX11_RVALUE_REFERENCES 1" >>confdefs.h
  15915. have_cxx11_rvalue_references=yes
  15916. else
  15917. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15918. $as_echo "no" >&6; }
  15919. fi
  15920. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15921. # Reset the flags
  15922. CXXFLAGS="$old_CXXFLAGS"
  15923. ac_ext=cpp
  15924. ac_cpp='$CXXCPP $CPPFLAGS'
  15925. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15926. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15927. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15928. if test x$have_cxx11_rvalue_references == xyes; then
  15929. HAVE_CXX11_RVALUE_REFERENCES_TRUE=
  15930. HAVE_CXX11_RVALUE_REFERENCES_FALSE='#'
  15931. else
  15932. HAVE_CXX11_RVALUE_REFERENCES_TRUE='#'
  15933. HAVE_CXX11_RVALUE_REFERENCES_FALSE=
  15934. fi
  15935. if test "x$have_cxx11_rvalue_references" != "xyes"; then :
  15936. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for rvalue references" >&5
  15937. $as_echo "$as_me: WARNING: libMesh requires C++11 support for rvalue references" >&2;}
  15938. have_cxx_all=no
  15939. fi
  15940. have_cxx11_to_string=no
  15941. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::to_string() support" >&5
  15942. $as_echo_n "checking for C++11 std::to_string() support... " >&6; }
  15943. ac_ext=cpp
  15944. ac_cpp='$CXXCPP $CPPFLAGS'
  15945. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15946. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15947. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15948. old_CXXFLAGS="$CXXFLAGS"
  15949. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  15950. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15951. /* end confdefs.h. */
  15952. #include <string>
  15953. int
  15954. main ()
  15955. {
  15956. // tiny="0.000000". Note: std::to_string(double) is required to produce
  15957. // a std::string with the same contents as std::sprintf(buf, "%f", value)
  15958. // would produce, given a sufficiently large buf. This is *different* from
  15959. // what you get from a std::stringstream using default formatting and
  15960. // precision flags, i.e.
  15961. // std::ostringstream oss;
  15962. // oss << 1.e-40;
  15963. // std::string tiny = oss.str();
  15964. // will produce the string "1e-40".
  15965. std::string tiny = std::to_string(1.e-40);
  15966. ;
  15967. return 0;
  15968. }
  15969. _ACEOF
  15970. if ac_fn_cxx_try_compile "$LINENO"; then :
  15971. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  15972. $as_echo "yes" >&6; }
  15973. $as_echo "#define HAVE_CXX11_TO_STRING 1" >>confdefs.h
  15974. have_cxx11_to_string=yes
  15975. else
  15976. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  15977. $as_echo "no" >&6; }
  15978. fi
  15979. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15980. # Reset the flags
  15981. CXXFLAGS="$old_CXXFLAGS"
  15982. ac_ext=cpp
  15983. ac_cpp='$CXXCPP $CPPFLAGS'
  15984. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  15985. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  15986. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  15987. if test x$have_cxx11_to_string == xyes; then
  15988. HAVE_CXX11_TO_STRING_TRUE=
  15989. HAVE_CXX11_TO_STRING_FALSE='#'
  15990. else
  15991. HAVE_CXX11_TO_STRING_TRUE='#'
  15992. HAVE_CXX11_TO_STRING_FALSE=
  15993. fi
  15994. if test "x$have_cxx11_to_string" != "xyes"; then :
  15995. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::to_string()" >&5
  15996. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::to_string()" >&2;}
  15997. have_cxx_all=no
  15998. fi
  15999. have_cxx11_constexpr=no
  16000. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 constexpr support" >&5
  16001. $as_echo_n "checking for C++11 constexpr support... " >&6; }
  16002. ac_ext=cpp
  16003. ac_cpp='$CXXCPP $CPPFLAGS'
  16004. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16005. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16006. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16007. old_CXXFLAGS="$CXXFLAGS"
  16008. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  16009. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16010. /* end confdefs.h. */
  16011. constexpr int multiply (int x, int y) { return x * y; }
  16012. int
  16013. main ()
  16014. {
  16015. // The compiler should compute "val" at compile time.
  16016. const int val = multiply(10, 10);
  16017. ;
  16018. return 0;
  16019. }
  16020. _ACEOF
  16021. if ac_fn_cxx_try_compile "$LINENO"; then :
  16022. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  16023. $as_echo "yes" >&6; }
  16024. $as_echo "#define HAVE_CXX11_CONSTEXPR 1" >>confdefs.h
  16025. have_cxx11_constexpr=yes
  16026. else
  16027. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  16028. $as_echo "no" >&6; }
  16029. fi
  16030. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16031. # Reset the flags
  16032. CXXFLAGS="$old_CXXFLAGS"
  16033. ac_ext=cpp
  16034. ac_cpp='$CXXCPP $CPPFLAGS'
  16035. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16036. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16037. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16038. if test x$have_cxx11_constexpr == xyes; then
  16039. HAVE_CXX11_CONSTEXPR_TRUE=
  16040. HAVE_CXX11_CONSTEXPR_FALSE='#'
  16041. else
  16042. HAVE_CXX11_CONSTEXPR_TRUE='#'
  16043. HAVE_CXX11_CONSTEXPR_FALSE=
  16044. fi
  16045. if test "x$have_cxx11_constexpr" != "xyes"; then :
  16046. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for constexpr" >&5
  16047. $as_echo "$as_me: WARNING: libMesh requires C++11 support for constexpr" >&2;}
  16048. have_cxx_all=no
  16049. fi
  16050. have_cxx11_variadic_templates=no
  16051. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 variadic template support" >&5
  16052. $as_echo_n "checking for C++11 variadic template support... " >&6; }
  16053. ac_ext=cpp
  16054. ac_cpp='$CXXCPP $CPPFLAGS'
  16055. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16056. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16057. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16058. old_CXXFLAGS="$CXXFLAGS"
  16059. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  16060. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16061. /* end confdefs.h. */
  16062. // Base case
  16063. template <typename T>
  16064. T sum(T t) { return t; }
  16065. // Compute sum of arbitrary number of passed parameters.
  16066. template <typename T, typename ...P>
  16067. T sum(T t, P ...p)
  16068. {
  16069. t += sum(p...);
  16070. return t;
  16071. }
  16072. int
  16073. main ()
  16074. {
  16075. sum(1, 2, 3, 4, 5);
  16076. ;
  16077. return 0;
  16078. }
  16079. _ACEOF
  16080. if ac_fn_cxx_try_compile "$LINENO"; then :
  16081. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  16082. $as_echo "yes" >&6; }
  16083. $as_echo "#define HAVE_CXX11_VARIADIC_TEMPLATES 1" >>confdefs.h
  16084. have_cxx11_variadic_templates=yes
  16085. else
  16086. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  16087. $as_echo "no" >&6; }
  16088. fi
  16089. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16090. # Reset the flags
  16091. CXXFLAGS="$old_CXXFLAGS"
  16092. ac_ext=cpp
  16093. ac_cpp='$CXXCPP $CPPFLAGS'
  16094. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16095. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16096. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16097. if test x$have_cxx11_variadic_templates == xyes; then
  16098. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE=
  16099. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE='#'
  16100. else
  16101. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE='#'
  16102. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE=
  16103. fi
  16104. if test "x$have_cxx11_variadic_templates" != "xyes"; then :
  16105. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for variadic templates" >&5
  16106. $as_echo "$as_me: WARNING: libMesh requires C++11 support for variadic templates" >&2;}
  16107. have_cxx_all=no
  16108. fi
  16109. have_cxx11_alias_declarations=no
  16110. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 alias declarations support" >&5
  16111. $as_echo_n "checking for C++11 alias declarations support... " >&6; }
  16112. ac_ext=cpp
  16113. ac_cpp='$CXXCPP $CPPFLAGS'
  16114. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16115. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16116. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16117. old_CXXFLAGS="$CXXFLAGS"
  16118. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  16119. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16120. /* end confdefs.h. */
  16121. template <typename T>
  16122. struct check
  16123. {
  16124. T t;
  16125. };
  16126. // An alias declaration is like a templated typedef
  16127. template <typename T>
  16128. using MyCheck = check<T>;
  16129. int
  16130. main ()
  16131. {
  16132. MyCheck<int> mc;
  16133. ;
  16134. return 0;
  16135. }
  16136. _ACEOF
  16137. if ac_fn_cxx_try_compile "$LINENO"; then :
  16138. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  16139. $as_echo "yes" >&6; }
  16140. $as_echo "#define HAVE_CXX11_ALIAS_DECLARATIONS 1" >>confdefs.h
  16141. have_cxx11_alias_declarations=yes
  16142. else
  16143. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  16144. $as_echo "no" >&6; }
  16145. fi
  16146. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16147. # Reset the flags
  16148. CXXFLAGS="$old_CXXFLAGS"
  16149. ac_ext=cpp
  16150. ac_cpp='$CXXCPP $CPPFLAGS'
  16151. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16152. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16153. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16154. if test x$have_cxx11_alias_declarations == xyes; then
  16155. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE=
  16156. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE='#'
  16157. else
  16158. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE='#'
  16159. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE=
  16160. fi
  16161. if test "x$have_cxx11_alias_declarations" != "xyes"; then :
  16162. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for alias declarations" >&5
  16163. $as_echo "$as_me: WARNING: libMesh requires C++11 support for alias declarations" >&2;}
  16164. have_cxx_all=no
  16165. fi
  16166. have_cxx11_array=no
  16167. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::array" >&5
  16168. $as_echo_n "checking for C++11 std::array... " >&6; }
  16169. ac_ext=cpp
  16170. ac_cpp='$CXXCPP $CPPFLAGS'
  16171. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16172. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16173. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16174. old_CXXFLAGS="$CXXFLAGS"
  16175. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  16176. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16177. /* end confdefs.h. */
  16178. #include <array>
  16179. int
  16180. main ()
  16181. {
  16182. std::array<double, 4> a;
  16183. a[0] = 42.0;
  16184. double * begin = a.data();
  16185. ;
  16186. return 0;
  16187. }
  16188. _ACEOF
  16189. if ac_fn_cxx_try_compile "$LINENO"; then :
  16190. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  16191. $as_echo "yes" >&6; }
  16192. have_cxx11_array=yes
  16193. else
  16194. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  16195. $as_echo "no" >&6; }
  16196. fi
  16197. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16198. CXXFLAGS="$old_CXXFLAGS"
  16199. ac_ext=cpp
  16200. ac_cpp='$CXXCPP $CPPFLAGS'
  16201. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16202. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16203. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16204. if test "x$have_cxx11_array" != "xyes"; then :
  16205. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::array" >&5
  16206. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::array" >&2;}
  16207. have_cxx_all=no
  16208. fi
  16209. have_cxx11_isnan=no
  16210. have_cxx11_isinf=no
  16211. ac_ext=cpp
  16212. ac_cpp='$CXXCPP $CPPFLAGS'
  16213. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16214. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16215. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16216. old_CXXFLAGS="$CXXFLAGS"
  16217. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  16218. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::isnan" >&5
  16219. $as_echo_n "checking for C++11 std::isnan... " >&6; }
  16220. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16221. /* end confdefs.h. */
  16222. #include <cmath>
  16223. int
  16224. main ()
  16225. {
  16226. if (std::isnan(0.0))
  16227. return 1;
  16228. ;
  16229. return 0;
  16230. }
  16231. _ACEOF
  16232. if ac_fn_cxx_try_compile "$LINENO"; then :
  16233. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  16234. $as_echo "yes" >&6; }
  16235. have_cxx11_isnan=yes
  16236. else
  16237. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  16238. $as_echo "no" >&6; }
  16239. fi
  16240. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16241. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::isinf" >&5
  16242. $as_echo_n "checking for C++11 std::isinf... " >&6; }
  16243. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16244. /* end confdefs.h. */
  16245. #include <cmath>
  16246. int
  16247. main ()
  16248. {
  16249. if (std::isinf(0.0))
  16250. return 1;
  16251. ;
  16252. return 0;
  16253. }
  16254. _ACEOF
  16255. if ac_fn_cxx_try_compile "$LINENO"; then :
  16256. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  16257. $as_echo "yes" >&6; }
  16258. have_cxx11_isinf=yes
  16259. else
  16260. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  16261. $as_echo "no" >&6; }
  16262. fi
  16263. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16264. CXXFLAGS="$old_CXXFLAGS"
  16265. ac_ext=cpp
  16266. ac_cpp='$CXXCPP $CPPFLAGS'
  16267. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16268. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16269. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16270. if test "x$have_cxx11_isnan" != "xyes"; then :
  16271. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::isnan" >&5
  16272. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::isnan" >&2;}
  16273. have_cxx_all=no
  16274. fi
  16275. if test "x$have_cxx11_isinf" != "xyes"; then :
  16276. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::isinf" >&5
  16277. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::isinf" >&2;}
  16278. have_cxx_all=no
  16279. fi
  16280. fi
  16281. if test "$HAVE_CXX14" = "1" -a "x$have_cxx_all" = xyes; then :
  16282. { $as_echo "$as_me:${as_lineno-$LINENO}: Found C++14 standard support" >&5
  16283. $as_echo "$as_me: Found C++14 standard support" >&6;}
  16284. if test $acsm_found_cxx -eq 0; then :
  16285. acsm_cxx_version=14
  16286. fi
  16287. acsm_found_cxx=1
  16288. else
  16289. CXX="$acsm_backup_CXX"
  16290. CXXCPP="$acsm_backup_CXXCPP"
  16291. if test "$HAVE_CXX14" = "0"; then :
  16292. { $as_echo "$as_me:${as_lineno-$LINENO}: Did not find C++14 standard support" >&5
  16293. $as_echo "$as_me: Did not find C++14 standard support" >&6;}
  16294. fi
  16295. fi
  16296. fi
  16297. if test 2011 -le "$acsm_CXX_STD_MAX"; then :
  16298. if test 2011 -gt "$acsm_CXX_STD_MIN"; then :
  16299. ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=false
  16300. ac_ext=cpp
  16301. ac_cpp='$CXXCPP $CPPFLAGS'
  16302. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  16303. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  16304. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  16305. ac_success=no
  16306. cachevar=ax_cv_cxx_compile_cxx11
  16307. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
  16308. $as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
  16309. if eval \${$cachevar+:} false; then :
  16310. $as_echo_n "(cached) " >&6
  16311. else
  16312. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16313. /* end confdefs.h. */
  16314. // If the compiler admits that it is not ready for C++11, why torture it?
  16315. // Hopefully, this will speed up the test.
  16316. #ifndef __cplusplus
  16317. #error "This is not a C++ compiler"
  16318. #elif __cplusplus < 201103L
  16319. #error "This is not a C++11 compiler"
  16320. #else
  16321. namespace cxx11
  16322. {
  16323. namespace test_static_assert
  16324. {
  16325. template <typename T>
  16326. struct check
  16327. {
  16328. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  16329. };
  16330. }
  16331. namespace test_final_override
  16332. {
  16333. struct Base
  16334. {
  16335. virtual ~Base() {}
  16336. virtual void f() {}
  16337. };
  16338. struct Derived : public Base
  16339. {
  16340. virtual ~Derived() override {}
  16341. virtual void f() override {}
  16342. };
  16343. }
  16344. namespace test_double_right_angle_brackets
  16345. {
  16346. template < typename T >
  16347. struct check {};
  16348. typedef check<void> single_type;
  16349. typedef check<check<void>> double_type;
  16350. typedef check<check<check<void>>> triple_type;
  16351. typedef check<check<check<check<void>>>> quadruple_type;
  16352. }
  16353. namespace test_decltype
  16354. {
  16355. int
  16356. f()
  16357. {
  16358. int a = 1;
  16359. decltype(a) b = 2;
  16360. return a + b;
  16361. }
  16362. }
  16363. namespace test_type_deduction
  16364. {
  16365. template < typename T1, typename T2 >
  16366. struct is_same
  16367. {
  16368. static const bool value = false;
  16369. };
  16370. template < typename T >
  16371. struct is_same<T, T>
  16372. {
  16373. static const bool value = true;
  16374. };
  16375. template < typename T1, typename T2 >
  16376. auto
  16377. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  16378. {
  16379. return a1 + a2;
  16380. }
  16381. int
  16382. test(const int c, volatile int v)
  16383. {
  16384. static_assert(is_same<int, decltype(0)>::value == true, "");
  16385. static_assert(is_same<int, decltype(c)>::value == false, "");
  16386. static_assert(is_same<int, decltype(v)>::value == false, "");
  16387. auto ac = c;
  16388. auto av = v;
  16389. auto sumi = ac + av + 'x';
  16390. auto sumf = ac + av + 1.0;
  16391. static_assert(is_same<int, decltype(ac)>::value == true, "");
  16392. static_assert(is_same<int, decltype(av)>::value == true, "");
  16393. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  16394. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  16395. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  16396. return (sumf > 0.0) ? sumi : add(c, v);
  16397. }
  16398. }
  16399. namespace test_noexcept
  16400. {
  16401. int f() { return 0; }
  16402. int g() noexcept { return 0; }
  16403. static_assert(noexcept(f()) == false, "");
  16404. static_assert(noexcept(g()) == true, "");
  16405. }
  16406. namespace test_constexpr
  16407. {
  16408. template < typename CharT >
  16409. unsigned long constexpr
  16410. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  16411. {
  16412. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  16413. }
  16414. template < typename CharT >
  16415. unsigned long constexpr
  16416. strlen_c(const CharT *const s) noexcept
  16417. {
  16418. return strlen_c_r(s, 0UL);
  16419. }
  16420. static_assert(strlen_c("") == 0UL, "");
  16421. static_assert(strlen_c("1") == 1UL, "");
  16422. static_assert(strlen_c("example") == 7UL, "");
  16423. static_assert(strlen_c("another\0example") == 7UL, "");
  16424. }
  16425. namespace test_rvalue_references
  16426. {
  16427. template < int N >
  16428. struct answer
  16429. {
  16430. static constexpr int value = N;
  16431. };
  16432. answer<1> f(int&) { return answer<1>(); }
  16433. answer<2> f(const int&) { return answer<2>(); }
  16434. answer<3> f(int&&) { return answer<3>(); }
  16435. void
  16436. test()
  16437. {
  16438. int i = 0;
  16439. const int c = 0;
  16440. static_assert(decltype(f(i))::value == 1, "");
  16441. static_assert(decltype(f(c))::value == 2, "");
  16442. static_assert(decltype(f(0))::value == 3, "");
  16443. }
  16444. }
  16445. namespace test_uniform_initialization
  16446. {
  16447. struct test
  16448. {
  16449. static const int zero {};
  16450. static const int one {1};
  16451. };
  16452. static_assert(test::zero == 0, "");
  16453. static_assert(test::one == 1, "");
  16454. }
  16455. namespace test_lambdas
  16456. {
  16457. void
  16458. test1()
  16459. {
  16460. auto lambda1 = [](){};
  16461. auto lambda2 = lambda1;
  16462. lambda1();
  16463. lambda2();
  16464. }
  16465. int
  16466. test2()
  16467. {
  16468. auto a = [](int i, int j){ return i + j; }(1, 2);
  16469. auto b = []() -> int { return '0'; }();
  16470. auto c = [=](){ return a + b; }();
  16471. auto d = [&](){ return c; }();
  16472. auto e = [a, &b](int x) mutable {
  16473. const auto identity = [](int y){ return y; };
  16474. for (auto i = 0; i < a; ++i)
  16475. a += b--;
  16476. return x + identity(a + b);
  16477. }(0);
  16478. return a + b + c + d + e;
  16479. }
  16480. int
  16481. test3()
  16482. {
  16483. const auto nullary = [](){ return 0; };
  16484. const auto unary = [](int x){ return x; };
  16485. using nullary_t = decltype(nullary);
  16486. using unary_t = decltype(unary);
  16487. const auto higher1st = [](nullary_t f){ return f(); };
  16488. const auto higher2nd = [unary](nullary_t f1){
  16489. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  16490. };
  16491. return higher1st(nullary) + higher2nd(nullary)(unary);
  16492. }
  16493. }
  16494. namespace test_variadic_templates
  16495. {
  16496. template <int...>
  16497. struct sum;
  16498. template <int N0, int... N1toN>
  16499. struct sum<N0, N1toN...>
  16500. {
  16501. static constexpr auto value = N0 + sum<N1toN...>::value;
  16502. };
  16503. template <>
  16504. struct sum<>
  16505. {
  16506. static constexpr auto value = 0;
  16507. };
  16508. static_assert(sum<>::value == 0, "");
  16509. static_assert(sum<1>::value == 1, "");
  16510. static_assert(sum<23>::value == 23, "");
  16511. static_assert(sum<1, 2>::value == 3, "");
  16512. static_assert(sum<5, 5, 11>::value == 21, "");
  16513. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  16514. }
  16515. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  16516. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  16517. // because of this.
  16518. namespace test_template_alias_sfinae
  16519. {
  16520. struct foo {};
  16521. template<typename T>
  16522. using member = typename T::member_type;
  16523. template<typename T>
  16524. void func(...) {}
  16525. template<typename T>
  16526. void func(member<T>*) {}
  16527. void test();
  16528. void test() { func<foo>(0); }
  16529. }
  16530. } // namespace cxx11
  16531. #endif // __cplusplus >= 201103L
  16532. _ACEOF
  16533. if ac_fn_cxx_try_compile "$LINENO"; then :
  16534. eval $cachevar=yes
  16535. else
  16536. eval $cachevar=no
  16537. fi
  16538. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16539. fi
  16540. eval ac_res=\$$cachevar
  16541. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  16542. $as_echo "$ac_res" >&6; }
  16543. if eval test x\$$cachevar = xyes; then :
  16544. ac_success=yes
  16545. fi
  16546. if test x$ac_success = xno; then
  16547. for alternative in ${ax_cxx_compile_alternatives}; do
  16548. switch="-std=gnu++${alternative}"
  16549. cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
  16550. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
  16551. $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
  16552. if eval \${$cachevar+:} false; then :
  16553. $as_echo_n "(cached) " >&6
  16554. else
  16555. ac_save_CXX="$CXX"
  16556. CXX="$CXX $switch"
  16557. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16558. /* end confdefs.h. */
  16559. // If the compiler admits that it is not ready for C++11, why torture it?
  16560. // Hopefully, this will speed up the test.
  16561. #ifndef __cplusplus
  16562. #error "This is not a C++ compiler"
  16563. #elif __cplusplus < 201103L
  16564. #error "This is not a C++11 compiler"
  16565. #else
  16566. namespace cxx11
  16567. {
  16568. namespace test_static_assert
  16569. {
  16570. template <typename T>
  16571. struct check
  16572. {
  16573. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  16574. };
  16575. }
  16576. namespace test_final_override
  16577. {
  16578. struct Base
  16579. {
  16580. virtual ~Base() {}
  16581. virtual void f() {}
  16582. };
  16583. struct Derived : public Base
  16584. {
  16585. virtual ~Derived() override {}
  16586. virtual void f() override {}
  16587. };
  16588. }
  16589. namespace test_double_right_angle_brackets
  16590. {
  16591. template < typename T >
  16592. struct check {};
  16593. typedef check<void> single_type;
  16594. typedef check<check<void>> double_type;
  16595. typedef check<check<check<void>>> triple_type;
  16596. typedef check<check<check<check<void>>>> quadruple_type;
  16597. }
  16598. namespace test_decltype
  16599. {
  16600. int
  16601. f()
  16602. {
  16603. int a = 1;
  16604. decltype(a) b = 2;
  16605. return a + b;
  16606. }
  16607. }
  16608. namespace test_type_deduction
  16609. {
  16610. template < typename T1, typename T2 >
  16611. struct is_same
  16612. {
  16613. static const bool value = false;
  16614. };
  16615. template < typename T >
  16616. struct is_same<T, T>
  16617. {
  16618. static const bool value = true;
  16619. };
  16620. template < typename T1, typename T2 >
  16621. auto
  16622. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  16623. {
  16624. return a1 + a2;
  16625. }
  16626. int
  16627. test(const int c, volatile int v)
  16628. {
  16629. static_assert(is_same<int, decltype(0)>::value == true, "");
  16630. static_assert(is_same<int, decltype(c)>::value == false, "");
  16631. static_assert(is_same<int, decltype(v)>::value == false, "");
  16632. auto ac = c;
  16633. auto av = v;
  16634. auto sumi = ac + av + 'x';
  16635. auto sumf = ac + av + 1.0;
  16636. static_assert(is_same<int, decltype(ac)>::value == true, "");
  16637. static_assert(is_same<int, decltype(av)>::value == true, "");
  16638. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  16639. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  16640. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  16641. return (sumf > 0.0) ? sumi : add(c, v);
  16642. }
  16643. }
  16644. namespace test_noexcept
  16645. {
  16646. int f() { return 0; }
  16647. int g() noexcept { return 0; }
  16648. static_assert(noexcept(f()) == false, "");
  16649. static_assert(noexcept(g()) == true, "");
  16650. }
  16651. namespace test_constexpr
  16652. {
  16653. template < typename CharT >
  16654. unsigned long constexpr
  16655. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  16656. {
  16657. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  16658. }
  16659. template < typename CharT >
  16660. unsigned long constexpr
  16661. strlen_c(const CharT *const s) noexcept
  16662. {
  16663. return strlen_c_r(s, 0UL);
  16664. }
  16665. static_assert(strlen_c("") == 0UL, "");
  16666. static_assert(strlen_c("1") == 1UL, "");
  16667. static_assert(strlen_c("example") == 7UL, "");
  16668. static_assert(strlen_c("another\0example") == 7UL, "");
  16669. }
  16670. namespace test_rvalue_references
  16671. {
  16672. template < int N >
  16673. struct answer
  16674. {
  16675. static constexpr int value = N;
  16676. };
  16677. answer<1> f(int&) { return answer<1>(); }
  16678. answer<2> f(const int&) { return answer<2>(); }
  16679. answer<3> f(int&&) { return answer<3>(); }
  16680. void
  16681. test()
  16682. {
  16683. int i = 0;
  16684. const int c = 0;
  16685. static_assert(decltype(f(i))::value == 1, "");
  16686. static_assert(decltype(f(c))::value == 2, "");
  16687. static_assert(decltype(f(0))::value == 3, "");
  16688. }
  16689. }
  16690. namespace test_uniform_initialization
  16691. {
  16692. struct test
  16693. {
  16694. static const int zero {};
  16695. static const int one {1};
  16696. };
  16697. static_assert(test::zero == 0, "");
  16698. static_assert(test::one == 1, "");
  16699. }
  16700. namespace test_lambdas
  16701. {
  16702. void
  16703. test1()
  16704. {
  16705. auto lambda1 = [](){};
  16706. auto lambda2 = lambda1;
  16707. lambda1();
  16708. lambda2();
  16709. }
  16710. int
  16711. test2()
  16712. {
  16713. auto a = [](int i, int j){ return i + j; }(1, 2);
  16714. auto b = []() -> int { return '0'; }();
  16715. auto c = [=](){ return a + b; }();
  16716. auto d = [&](){ return c; }();
  16717. auto e = [a, &b](int x) mutable {
  16718. const auto identity = [](int y){ return y; };
  16719. for (auto i = 0; i < a; ++i)
  16720. a += b--;
  16721. return x + identity(a + b);
  16722. }(0);
  16723. return a + b + c + d + e;
  16724. }
  16725. int
  16726. test3()
  16727. {
  16728. const auto nullary = [](){ return 0; };
  16729. const auto unary = [](int x){ return x; };
  16730. using nullary_t = decltype(nullary);
  16731. using unary_t = decltype(unary);
  16732. const auto higher1st = [](nullary_t f){ return f(); };
  16733. const auto higher2nd = [unary](nullary_t f1){
  16734. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  16735. };
  16736. return higher1st(nullary) + higher2nd(nullary)(unary);
  16737. }
  16738. }
  16739. namespace test_variadic_templates
  16740. {
  16741. template <int...>
  16742. struct sum;
  16743. template <int N0, int... N1toN>
  16744. struct sum<N0, N1toN...>
  16745. {
  16746. static constexpr auto value = N0 + sum<N1toN...>::value;
  16747. };
  16748. template <>
  16749. struct sum<>
  16750. {
  16751. static constexpr auto value = 0;
  16752. };
  16753. static_assert(sum<>::value == 0, "");
  16754. static_assert(sum<1>::value == 1, "");
  16755. static_assert(sum<23>::value == 23, "");
  16756. static_assert(sum<1, 2>::value == 3, "");
  16757. static_assert(sum<5, 5, 11>::value == 21, "");
  16758. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  16759. }
  16760. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  16761. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  16762. // because of this.
  16763. namespace test_template_alias_sfinae
  16764. {
  16765. struct foo {};
  16766. template<typename T>
  16767. using member = typename T::member_type;
  16768. template<typename T>
  16769. void func(...) {}
  16770. template<typename T>
  16771. void func(member<T>*) {}
  16772. void test();
  16773. void test() { func<foo>(0); }
  16774. }
  16775. } // namespace cxx11
  16776. #endif // __cplusplus >= 201103L
  16777. _ACEOF
  16778. if ac_fn_cxx_try_compile "$LINENO"; then :
  16779. eval $cachevar=yes
  16780. else
  16781. eval $cachevar=no
  16782. fi
  16783. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  16784. CXX="$ac_save_CXX"
  16785. fi
  16786. eval ac_res=\$$cachevar
  16787. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  16788. $as_echo "$ac_res" >&6; }
  16789. if eval test x\$$cachevar = xyes; then
  16790. CXX="$CXX $switch"
  16791. if test -n "$CXXCPP" ; then
  16792. CXXCPP="$CXXCPP $switch"
  16793. fi
  16794. ac_success=yes
  16795. break
  16796. fi
  16797. done
  16798. fi
  16799. if test x$ac_success = xno; then
  16800. for alternative in ${ax_cxx_compile_alternatives}; do
  16801. for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
  16802. cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
  16803. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
  16804. $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
  16805. if eval \${$cachevar+:} false; then :
  16806. $as_echo_n "(cached) " >&6
  16807. else
  16808. ac_save_CXX="$CXX"
  16809. CXX="$CXX $switch"
  16810. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  16811. /* end confdefs.h. */
  16812. // If the compiler admits that it is not ready for C++11, why torture it?
  16813. // Hopefully, this will speed up the test.
  16814. #ifndef __cplusplus
  16815. #error "This is not a C++ compiler"
  16816. #elif __cplusplus < 201103L
  16817. #error "This is not a C++11 compiler"
  16818. #else
  16819. namespace cxx11
  16820. {
  16821. namespace test_static_assert
  16822. {
  16823. template <typename T>
  16824. struct check
  16825. {
  16826. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  16827. };
  16828. }
  16829. namespace test_final_override
  16830. {
  16831. struct Base
  16832. {
  16833. virtual ~Base() {}
  16834. virtual void f() {}
  16835. };
  16836. struct Derived : public Base
  16837. {
  16838. virtual ~Derived() override {}
  16839. virtual void f() override {}
  16840. };
  16841. }
  16842. namespace test_double_right_angle_brackets
  16843. {
  16844. template < typename T >
  16845. struct check {};
  16846. typedef check<void> single_type;
  16847. typedef check<check<void>> double_type;
  16848. typedef check<check<check<void>>> triple_type;
  16849. typedef check<check<check<check<void>>>> quadruple_type;
  16850. }
  16851. namespace test_decltype
  16852. {
  16853. int
  16854. f()
  16855. {
  16856. int a = 1;
  16857. decltype(a) b = 2;
  16858. return a + b;
  16859. }
  16860. }
  16861. namespace test_type_deduction
  16862. {
  16863. template < typename T1, typename T2 >
  16864. struct is_same
  16865. {
  16866. static const bool value = false;
  16867. };
  16868. template < typename T >
  16869. struct is_same<T, T>
  16870. {
  16871. static const bool value = true;
  16872. };
  16873. template < typename T1, typename T2 >
  16874. auto
  16875. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  16876. {
  16877. return a1 + a2;
  16878. }
  16879. int
  16880. test(const int c, volatile int v)
  16881. {
  16882. static_assert(is_same<int, decltype(0)>::value == true, "");
  16883. static_assert(is_same<int, decltype(c)>::value == false, "");
  16884. static_assert(is_same<int, decltype(v)>::value == false, "");
  16885. auto ac = c;
  16886. auto av = v;
  16887. auto sumi = ac + av + 'x';
  16888. auto sumf = ac + av + 1.0;
  16889. static_assert(is_same<int, decltype(ac)>::value == true, "");
  16890. static_assert(is_same<int, decltype(av)>::value == true, "");
  16891. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  16892. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  16893. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  16894. return (sumf > 0.0) ? sumi : add(c, v);
  16895. }
  16896. }
  16897. namespace test_noexcept
  16898. {
  16899. int f() { return 0; }
  16900. int g() noexcept { return 0; }
  16901. static_assert(noexcept(f()) == false, "");
  16902. static_assert(noexcept(g()) == true, "");
  16903. }
  16904. namespace test_constexpr
  16905. {
  16906. template < typename CharT >
  16907. unsigned long constexpr
  16908. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  16909. {
  16910. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  16911. }
  16912. template < typename CharT >
  16913. unsigned long constexpr
  16914. strlen_c(const CharT *const s) noexcept
  16915. {
  16916. return strlen_c_r(s, 0UL);
  16917. }
  16918. static_assert(strlen_c("") == 0UL, "");
  16919. static_assert(strlen_c("1") == 1UL, "");
  16920. static_assert(strlen_c("example") == 7UL, "");
  16921. static_assert(strlen_c("another\0example") == 7UL, "");
  16922. }
  16923. namespace test_rvalue_references
  16924. {
  16925. template < int N >
  16926. struct answer
  16927. {
  16928. static constexpr int value = N;
  16929. };
  16930. answer<1> f(int&) { return answer<1>(); }
  16931. answer<2> f(const int&) { return answer<2>(); }
  16932. answer<3> f(int&&) { return answer<3>(); }
  16933. void
  16934. test()
  16935. {
  16936. int i = 0;
  16937. const int c = 0;
  16938. static_assert(decltype(f(i))::value == 1, "");
  16939. static_assert(decltype(f(c))::value == 2, "");
  16940. static_assert(decltype(f(0))::value == 3, "");
  16941. }
  16942. }
  16943. namespace test_uniform_initialization
  16944. {
  16945. struct test
  16946. {
  16947. static const int zero {};
  16948. static const int one {1};
  16949. };
  16950. static_assert(test::zero == 0, "");
  16951. static_assert(test::one == 1, "");
  16952. }
  16953. namespace test_lambdas
  16954. {
  16955. void
  16956. test1()
  16957. {
  16958. auto lambda1 = [](){};
  16959. auto lambda2 = lambda1;
  16960. lambda1();
  16961. lambda2();
  16962. }
  16963. int
  16964. test2()
  16965. {
  16966. auto a = [](int i, int j){ return i + j; }(1, 2);
  16967. auto b = []() -> int { return '0'; }();
  16968. auto c = [=](){ return a + b; }();
  16969. auto d = [&](){ return c; }();
  16970. auto e = [a, &b](int x) mutable {
  16971. const auto identity = [](int y){ return y; };
  16972. for (auto i = 0; i < a; ++i)
  16973. a += b--;
  16974. return x + identity(a + b);
  16975. }(0);
  16976. return a + b + c + d + e;
  16977. }
  16978. int
  16979. test3()
  16980. {
  16981. const auto nullary = [](){ return 0; };
  16982. const auto unary = [](int x){ return x; };
  16983. using nullary_t = decltype(nullary);
  16984. using unary_t = decltype(unary);
  16985. const auto higher1st = [](nullary_t f){ return f(); };
  16986. const auto higher2nd = [unary](nullary_t f1){
  16987. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  16988. };
  16989. return higher1st(nullary) + higher2nd(nullary)(unary);
  16990. }
  16991. }
  16992. namespace test_variadic_templates
  16993. {
  16994. template <int...>
  16995. struct sum;
  16996. template <int N0, int... N1toN>
  16997. struct sum<N0, N1toN...>
  16998. {
  16999. static constexpr auto value = N0 + sum<N1toN...>::value;
  17000. };
  17001. template <>
  17002. struct sum<>
  17003. {
  17004. static constexpr auto value = 0;
  17005. };
  17006. static_assert(sum<>::value == 0, "");
  17007. static_assert(sum<1>::value == 1, "");
  17008. static_assert(sum<23>::value == 23, "");
  17009. static_assert(sum<1, 2>::value == 3, "");
  17010. static_assert(sum<5, 5, 11>::value == 21, "");
  17011. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  17012. }
  17013. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  17014. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  17015. // because of this.
  17016. namespace test_template_alias_sfinae
  17017. {
  17018. struct foo {};
  17019. template<typename T>
  17020. using member = typename T::member_type;
  17021. template<typename T>
  17022. void func(...) {}
  17023. template<typename T>
  17024. void func(member<T>*) {}
  17025. void test();
  17026. void test() { func<foo>(0); }
  17027. }
  17028. } // namespace cxx11
  17029. #endif // __cplusplus >= 201103L
  17030. _ACEOF
  17031. if ac_fn_cxx_try_compile "$LINENO"; then :
  17032. eval $cachevar=yes
  17033. else
  17034. eval $cachevar=no
  17035. fi
  17036. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17037. CXX="$ac_save_CXX"
  17038. fi
  17039. eval ac_res=\$$cachevar
  17040. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  17041. $as_echo "$ac_res" >&6; }
  17042. if eval test x\$$cachevar = xyes; then
  17043. CXX="$CXX $switch"
  17044. if test -n "$CXXCPP" ; then
  17045. CXXCPP="$CXXCPP $switch"
  17046. fi
  17047. ac_success=yes
  17048. break
  17049. fi
  17050. done
  17051. if test x$ac_success = xyes; then
  17052. break
  17053. fi
  17054. done
  17055. fi
  17056. ac_ext=cpp
  17057. ac_cpp='$CXXCPP $CPPFLAGS'
  17058. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17059. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17060. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17061. if test x$ax_cxx_compile_cxx11_required = xtrue; then
  17062. if test x$ac_success = xno; then
  17063. as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
  17064. fi
  17065. fi
  17066. if test x$ac_success = xno; then
  17067. HAVE_CXX11=0
  17068. { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
  17069. $as_echo "$as_me: No compiler with C++11 support was found" >&6;}
  17070. else
  17071. HAVE_CXX11=1
  17072. $as_echo "#define HAVE_CXX11 1" >>confdefs.h
  17073. fi
  17074. else
  17075. ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=true
  17076. ac_ext=cpp
  17077. ac_cpp='$CXXCPP $CPPFLAGS'
  17078. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17079. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17080. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17081. ac_success=no
  17082. cachevar=ax_cv_cxx_compile_cxx11
  17083. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
  17084. $as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; }
  17085. if eval \${$cachevar+:} false; then :
  17086. $as_echo_n "(cached) " >&6
  17087. else
  17088. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17089. /* end confdefs.h. */
  17090. // If the compiler admits that it is not ready for C++11, why torture it?
  17091. // Hopefully, this will speed up the test.
  17092. #ifndef __cplusplus
  17093. #error "This is not a C++ compiler"
  17094. #elif __cplusplus < 201103L
  17095. #error "This is not a C++11 compiler"
  17096. #else
  17097. namespace cxx11
  17098. {
  17099. namespace test_static_assert
  17100. {
  17101. template <typename T>
  17102. struct check
  17103. {
  17104. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  17105. };
  17106. }
  17107. namespace test_final_override
  17108. {
  17109. struct Base
  17110. {
  17111. virtual ~Base() {}
  17112. virtual void f() {}
  17113. };
  17114. struct Derived : public Base
  17115. {
  17116. virtual ~Derived() override {}
  17117. virtual void f() override {}
  17118. };
  17119. }
  17120. namespace test_double_right_angle_brackets
  17121. {
  17122. template < typename T >
  17123. struct check {};
  17124. typedef check<void> single_type;
  17125. typedef check<check<void>> double_type;
  17126. typedef check<check<check<void>>> triple_type;
  17127. typedef check<check<check<check<void>>>> quadruple_type;
  17128. }
  17129. namespace test_decltype
  17130. {
  17131. int
  17132. f()
  17133. {
  17134. int a = 1;
  17135. decltype(a) b = 2;
  17136. return a + b;
  17137. }
  17138. }
  17139. namespace test_type_deduction
  17140. {
  17141. template < typename T1, typename T2 >
  17142. struct is_same
  17143. {
  17144. static const bool value = false;
  17145. };
  17146. template < typename T >
  17147. struct is_same<T, T>
  17148. {
  17149. static const bool value = true;
  17150. };
  17151. template < typename T1, typename T2 >
  17152. auto
  17153. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  17154. {
  17155. return a1 + a2;
  17156. }
  17157. int
  17158. test(const int c, volatile int v)
  17159. {
  17160. static_assert(is_same<int, decltype(0)>::value == true, "");
  17161. static_assert(is_same<int, decltype(c)>::value == false, "");
  17162. static_assert(is_same<int, decltype(v)>::value == false, "");
  17163. auto ac = c;
  17164. auto av = v;
  17165. auto sumi = ac + av + 'x';
  17166. auto sumf = ac + av + 1.0;
  17167. static_assert(is_same<int, decltype(ac)>::value == true, "");
  17168. static_assert(is_same<int, decltype(av)>::value == true, "");
  17169. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  17170. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  17171. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  17172. return (sumf > 0.0) ? sumi : add(c, v);
  17173. }
  17174. }
  17175. namespace test_noexcept
  17176. {
  17177. int f() { return 0; }
  17178. int g() noexcept { return 0; }
  17179. static_assert(noexcept(f()) == false, "");
  17180. static_assert(noexcept(g()) == true, "");
  17181. }
  17182. namespace test_constexpr
  17183. {
  17184. template < typename CharT >
  17185. unsigned long constexpr
  17186. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  17187. {
  17188. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  17189. }
  17190. template < typename CharT >
  17191. unsigned long constexpr
  17192. strlen_c(const CharT *const s) noexcept
  17193. {
  17194. return strlen_c_r(s, 0UL);
  17195. }
  17196. static_assert(strlen_c("") == 0UL, "");
  17197. static_assert(strlen_c("1") == 1UL, "");
  17198. static_assert(strlen_c("example") == 7UL, "");
  17199. static_assert(strlen_c("another\0example") == 7UL, "");
  17200. }
  17201. namespace test_rvalue_references
  17202. {
  17203. template < int N >
  17204. struct answer
  17205. {
  17206. static constexpr int value = N;
  17207. };
  17208. answer<1> f(int&) { return answer<1>(); }
  17209. answer<2> f(const int&) { return answer<2>(); }
  17210. answer<3> f(int&&) { return answer<3>(); }
  17211. void
  17212. test()
  17213. {
  17214. int i = 0;
  17215. const int c = 0;
  17216. static_assert(decltype(f(i))::value == 1, "");
  17217. static_assert(decltype(f(c))::value == 2, "");
  17218. static_assert(decltype(f(0))::value == 3, "");
  17219. }
  17220. }
  17221. namespace test_uniform_initialization
  17222. {
  17223. struct test
  17224. {
  17225. static const int zero {};
  17226. static const int one {1};
  17227. };
  17228. static_assert(test::zero == 0, "");
  17229. static_assert(test::one == 1, "");
  17230. }
  17231. namespace test_lambdas
  17232. {
  17233. void
  17234. test1()
  17235. {
  17236. auto lambda1 = [](){};
  17237. auto lambda2 = lambda1;
  17238. lambda1();
  17239. lambda2();
  17240. }
  17241. int
  17242. test2()
  17243. {
  17244. auto a = [](int i, int j){ return i + j; }(1, 2);
  17245. auto b = []() -> int { return '0'; }();
  17246. auto c = [=](){ return a + b; }();
  17247. auto d = [&](){ return c; }();
  17248. auto e = [a, &b](int x) mutable {
  17249. const auto identity = [](int y){ return y; };
  17250. for (auto i = 0; i < a; ++i)
  17251. a += b--;
  17252. return x + identity(a + b);
  17253. }(0);
  17254. return a + b + c + d + e;
  17255. }
  17256. int
  17257. test3()
  17258. {
  17259. const auto nullary = [](){ return 0; };
  17260. const auto unary = [](int x){ return x; };
  17261. using nullary_t = decltype(nullary);
  17262. using unary_t = decltype(unary);
  17263. const auto higher1st = [](nullary_t f){ return f(); };
  17264. const auto higher2nd = [unary](nullary_t f1){
  17265. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  17266. };
  17267. return higher1st(nullary) + higher2nd(nullary)(unary);
  17268. }
  17269. }
  17270. namespace test_variadic_templates
  17271. {
  17272. template <int...>
  17273. struct sum;
  17274. template <int N0, int... N1toN>
  17275. struct sum<N0, N1toN...>
  17276. {
  17277. static constexpr auto value = N0 + sum<N1toN...>::value;
  17278. };
  17279. template <>
  17280. struct sum<>
  17281. {
  17282. static constexpr auto value = 0;
  17283. };
  17284. static_assert(sum<>::value == 0, "");
  17285. static_assert(sum<1>::value == 1, "");
  17286. static_assert(sum<23>::value == 23, "");
  17287. static_assert(sum<1, 2>::value == 3, "");
  17288. static_assert(sum<5, 5, 11>::value == 21, "");
  17289. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  17290. }
  17291. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  17292. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  17293. // because of this.
  17294. namespace test_template_alias_sfinae
  17295. {
  17296. struct foo {};
  17297. template<typename T>
  17298. using member = typename T::member_type;
  17299. template<typename T>
  17300. void func(...) {}
  17301. template<typename T>
  17302. void func(member<T>*) {}
  17303. void test();
  17304. void test() { func<foo>(0); }
  17305. }
  17306. } // namespace cxx11
  17307. #endif // __cplusplus >= 201103L
  17308. _ACEOF
  17309. if ac_fn_cxx_try_compile "$LINENO"; then :
  17310. eval $cachevar=yes
  17311. else
  17312. eval $cachevar=no
  17313. fi
  17314. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17315. fi
  17316. eval ac_res=\$$cachevar
  17317. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  17318. $as_echo "$ac_res" >&6; }
  17319. if eval test x\$$cachevar = xyes; then :
  17320. ac_success=yes
  17321. fi
  17322. if test x$ac_success = xno; then
  17323. for alternative in ${ax_cxx_compile_alternatives}; do
  17324. switch="-std=gnu++${alternative}"
  17325. cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
  17326. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
  17327. $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
  17328. if eval \${$cachevar+:} false; then :
  17329. $as_echo_n "(cached) " >&6
  17330. else
  17331. ac_save_CXX="$CXX"
  17332. CXX="$CXX $switch"
  17333. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17334. /* end confdefs.h. */
  17335. // If the compiler admits that it is not ready for C++11, why torture it?
  17336. // Hopefully, this will speed up the test.
  17337. #ifndef __cplusplus
  17338. #error "This is not a C++ compiler"
  17339. #elif __cplusplus < 201103L
  17340. #error "This is not a C++11 compiler"
  17341. #else
  17342. namespace cxx11
  17343. {
  17344. namespace test_static_assert
  17345. {
  17346. template <typename T>
  17347. struct check
  17348. {
  17349. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  17350. };
  17351. }
  17352. namespace test_final_override
  17353. {
  17354. struct Base
  17355. {
  17356. virtual ~Base() {}
  17357. virtual void f() {}
  17358. };
  17359. struct Derived : public Base
  17360. {
  17361. virtual ~Derived() override {}
  17362. virtual void f() override {}
  17363. };
  17364. }
  17365. namespace test_double_right_angle_brackets
  17366. {
  17367. template < typename T >
  17368. struct check {};
  17369. typedef check<void> single_type;
  17370. typedef check<check<void>> double_type;
  17371. typedef check<check<check<void>>> triple_type;
  17372. typedef check<check<check<check<void>>>> quadruple_type;
  17373. }
  17374. namespace test_decltype
  17375. {
  17376. int
  17377. f()
  17378. {
  17379. int a = 1;
  17380. decltype(a) b = 2;
  17381. return a + b;
  17382. }
  17383. }
  17384. namespace test_type_deduction
  17385. {
  17386. template < typename T1, typename T2 >
  17387. struct is_same
  17388. {
  17389. static const bool value = false;
  17390. };
  17391. template < typename T >
  17392. struct is_same<T, T>
  17393. {
  17394. static const bool value = true;
  17395. };
  17396. template < typename T1, typename T2 >
  17397. auto
  17398. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  17399. {
  17400. return a1 + a2;
  17401. }
  17402. int
  17403. test(const int c, volatile int v)
  17404. {
  17405. static_assert(is_same<int, decltype(0)>::value == true, "");
  17406. static_assert(is_same<int, decltype(c)>::value == false, "");
  17407. static_assert(is_same<int, decltype(v)>::value == false, "");
  17408. auto ac = c;
  17409. auto av = v;
  17410. auto sumi = ac + av + 'x';
  17411. auto sumf = ac + av + 1.0;
  17412. static_assert(is_same<int, decltype(ac)>::value == true, "");
  17413. static_assert(is_same<int, decltype(av)>::value == true, "");
  17414. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  17415. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  17416. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  17417. return (sumf > 0.0) ? sumi : add(c, v);
  17418. }
  17419. }
  17420. namespace test_noexcept
  17421. {
  17422. int f() { return 0; }
  17423. int g() noexcept { return 0; }
  17424. static_assert(noexcept(f()) == false, "");
  17425. static_assert(noexcept(g()) == true, "");
  17426. }
  17427. namespace test_constexpr
  17428. {
  17429. template < typename CharT >
  17430. unsigned long constexpr
  17431. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  17432. {
  17433. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  17434. }
  17435. template < typename CharT >
  17436. unsigned long constexpr
  17437. strlen_c(const CharT *const s) noexcept
  17438. {
  17439. return strlen_c_r(s, 0UL);
  17440. }
  17441. static_assert(strlen_c("") == 0UL, "");
  17442. static_assert(strlen_c("1") == 1UL, "");
  17443. static_assert(strlen_c("example") == 7UL, "");
  17444. static_assert(strlen_c("another\0example") == 7UL, "");
  17445. }
  17446. namespace test_rvalue_references
  17447. {
  17448. template < int N >
  17449. struct answer
  17450. {
  17451. static constexpr int value = N;
  17452. };
  17453. answer<1> f(int&) { return answer<1>(); }
  17454. answer<2> f(const int&) { return answer<2>(); }
  17455. answer<3> f(int&&) { return answer<3>(); }
  17456. void
  17457. test()
  17458. {
  17459. int i = 0;
  17460. const int c = 0;
  17461. static_assert(decltype(f(i))::value == 1, "");
  17462. static_assert(decltype(f(c))::value == 2, "");
  17463. static_assert(decltype(f(0))::value == 3, "");
  17464. }
  17465. }
  17466. namespace test_uniform_initialization
  17467. {
  17468. struct test
  17469. {
  17470. static const int zero {};
  17471. static const int one {1};
  17472. };
  17473. static_assert(test::zero == 0, "");
  17474. static_assert(test::one == 1, "");
  17475. }
  17476. namespace test_lambdas
  17477. {
  17478. void
  17479. test1()
  17480. {
  17481. auto lambda1 = [](){};
  17482. auto lambda2 = lambda1;
  17483. lambda1();
  17484. lambda2();
  17485. }
  17486. int
  17487. test2()
  17488. {
  17489. auto a = [](int i, int j){ return i + j; }(1, 2);
  17490. auto b = []() -> int { return '0'; }();
  17491. auto c = [=](){ return a + b; }();
  17492. auto d = [&](){ return c; }();
  17493. auto e = [a, &b](int x) mutable {
  17494. const auto identity = [](int y){ return y; };
  17495. for (auto i = 0; i < a; ++i)
  17496. a += b--;
  17497. return x + identity(a + b);
  17498. }(0);
  17499. return a + b + c + d + e;
  17500. }
  17501. int
  17502. test3()
  17503. {
  17504. const auto nullary = [](){ return 0; };
  17505. const auto unary = [](int x){ return x; };
  17506. using nullary_t = decltype(nullary);
  17507. using unary_t = decltype(unary);
  17508. const auto higher1st = [](nullary_t f){ return f(); };
  17509. const auto higher2nd = [unary](nullary_t f1){
  17510. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  17511. };
  17512. return higher1st(nullary) + higher2nd(nullary)(unary);
  17513. }
  17514. }
  17515. namespace test_variadic_templates
  17516. {
  17517. template <int...>
  17518. struct sum;
  17519. template <int N0, int... N1toN>
  17520. struct sum<N0, N1toN...>
  17521. {
  17522. static constexpr auto value = N0 + sum<N1toN...>::value;
  17523. };
  17524. template <>
  17525. struct sum<>
  17526. {
  17527. static constexpr auto value = 0;
  17528. };
  17529. static_assert(sum<>::value == 0, "");
  17530. static_assert(sum<1>::value == 1, "");
  17531. static_assert(sum<23>::value == 23, "");
  17532. static_assert(sum<1, 2>::value == 3, "");
  17533. static_assert(sum<5, 5, 11>::value == 21, "");
  17534. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  17535. }
  17536. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  17537. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  17538. // because of this.
  17539. namespace test_template_alias_sfinae
  17540. {
  17541. struct foo {};
  17542. template<typename T>
  17543. using member = typename T::member_type;
  17544. template<typename T>
  17545. void func(...) {}
  17546. template<typename T>
  17547. void func(member<T>*) {}
  17548. void test();
  17549. void test() { func<foo>(0); }
  17550. }
  17551. } // namespace cxx11
  17552. #endif // __cplusplus >= 201103L
  17553. _ACEOF
  17554. if ac_fn_cxx_try_compile "$LINENO"; then :
  17555. eval $cachevar=yes
  17556. else
  17557. eval $cachevar=no
  17558. fi
  17559. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17560. CXX="$ac_save_CXX"
  17561. fi
  17562. eval ac_res=\$$cachevar
  17563. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  17564. $as_echo "$ac_res" >&6; }
  17565. if eval test x\$$cachevar = xyes; then
  17566. CXX="$CXX $switch"
  17567. if test -n "$CXXCPP" ; then
  17568. CXXCPP="$CXXCPP $switch"
  17569. fi
  17570. ac_success=yes
  17571. break
  17572. fi
  17573. done
  17574. fi
  17575. if test x$ac_success = xno; then
  17576. for alternative in ${ax_cxx_compile_alternatives}; do
  17577. for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
  17578. cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
  17579. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
  17580. $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
  17581. if eval \${$cachevar+:} false; then :
  17582. $as_echo_n "(cached) " >&6
  17583. else
  17584. ac_save_CXX="$CXX"
  17585. CXX="$CXX $switch"
  17586. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17587. /* end confdefs.h. */
  17588. // If the compiler admits that it is not ready for C++11, why torture it?
  17589. // Hopefully, this will speed up the test.
  17590. #ifndef __cplusplus
  17591. #error "This is not a C++ compiler"
  17592. #elif __cplusplus < 201103L
  17593. #error "This is not a C++11 compiler"
  17594. #else
  17595. namespace cxx11
  17596. {
  17597. namespace test_static_assert
  17598. {
  17599. template <typename T>
  17600. struct check
  17601. {
  17602. static_assert(sizeof(int) <= sizeof(T), "not big enough");
  17603. };
  17604. }
  17605. namespace test_final_override
  17606. {
  17607. struct Base
  17608. {
  17609. virtual ~Base() {}
  17610. virtual void f() {}
  17611. };
  17612. struct Derived : public Base
  17613. {
  17614. virtual ~Derived() override {}
  17615. virtual void f() override {}
  17616. };
  17617. }
  17618. namespace test_double_right_angle_brackets
  17619. {
  17620. template < typename T >
  17621. struct check {};
  17622. typedef check<void> single_type;
  17623. typedef check<check<void>> double_type;
  17624. typedef check<check<check<void>>> triple_type;
  17625. typedef check<check<check<check<void>>>> quadruple_type;
  17626. }
  17627. namespace test_decltype
  17628. {
  17629. int
  17630. f()
  17631. {
  17632. int a = 1;
  17633. decltype(a) b = 2;
  17634. return a + b;
  17635. }
  17636. }
  17637. namespace test_type_deduction
  17638. {
  17639. template < typename T1, typename T2 >
  17640. struct is_same
  17641. {
  17642. static const bool value = false;
  17643. };
  17644. template < typename T >
  17645. struct is_same<T, T>
  17646. {
  17647. static const bool value = true;
  17648. };
  17649. template < typename T1, typename T2 >
  17650. auto
  17651. add(T1 a1, T2 a2) -> decltype(a1 + a2)
  17652. {
  17653. return a1 + a2;
  17654. }
  17655. int
  17656. test(const int c, volatile int v)
  17657. {
  17658. static_assert(is_same<int, decltype(0)>::value == true, "");
  17659. static_assert(is_same<int, decltype(c)>::value == false, "");
  17660. static_assert(is_same<int, decltype(v)>::value == false, "");
  17661. auto ac = c;
  17662. auto av = v;
  17663. auto sumi = ac + av + 'x';
  17664. auto sumf = ac + av + 1.0;
  17665. static_assert(is_same<int, decltype(ac)>::value == true, "");
  17666. static_assert(is_same<int, decltype(av)>::value == true, "");
  17667. static_assert(is_same<int, decltype(sumi)>::value == true, "");
  17668. static_assert(is_same<int, decltype(sumf)>::value == false, "");
  17669. static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
  17670. return (sumf > 0.0) ? sumi : add(c, v);
  17671. }
  17672. }
  17673. namespace test_noexcept
  17674. {
  17675. int f() { return 0; }
  17676. int g() noexcept { return 0; }
  17677. static_assert(noexcept(f()) == false, "");
  17678. static_assert(noexcept(g()) == true, "");
  17679. }
  17680. namespace test_constexpr
  17681. {
  17682. template < typename CharT >
  17683. unsigned long constexpr
  17684. strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
  17685. {
  17686. return *s ? strlen_c_r(s + 1, acc + 1) : acc;
  17687. }
  17688. template < typename CharT >
  17689. unsigned long constexpr
  17690. strlen_c(const CharT *const s) noexcept
  17691. {
  17692. return strlen_c_r(s, 0UL);
  17693. }
  17694. static_assert(strlen_c("") == 0UL, "");
  17695. static_assert(strlen_c("1") == 1UL, "");
  17696. static_assert(strlen_c("example") == 7UL, "");
  17697. static_assert(strlen_c("another\0example") == 7UL, "");
  17698. }
  17699. namespace test_rvalue_references
  17700. {
  17701. template < int N >
  17702. struct answer
  17703. {
  17704. static constexpr int value = N;
  17705. };
  17706. answer<1> f(int&) { return answer<1>(); }
  17707. answer<2> f(const int&) { return answer<2>(); }
  17708. answer<3> f(int&&) { return answer<3>(); }
  17709. void
  17710. test()
  17711. {
  17712. int i = 0;
  17713. const int c = 0;
  17714. static_assert(decltype(f(i))::value == 1, "");
  17715. static_assert(decltype(f(c))::value == 2, "");
  17716. static_assert(decltype(f(0))::value == 3, "");
  17717. }
  17718. }
  17719. namespace test_uniform_initialization
  17720. {
  17721. struct test
  17722. {
  17723. static const int zero {};
  17724. static const int one {1};
  17725. };
  17726. static_assert(test::zero == 0, "");
  17727. static_assert(test::one == 1, "");
  17728. }
  17729. namespace test_lambdas
  17730. {
  17731. void
  17732. test1()
  17733. {
  17734. auto lambda1 = [](){};
  17735. auto lambda2 = lambda1;
  17736. lambda1();
  17737. lambda2();
  17738. }
  17739. int
  17740. test2()
  17741. {
  17742. auto a = [](int i, int j){ return i + j; }(1, 2);
  17743. auto b = []() -> int { return '0'; }();
  17744. auto c = [=](){ return a + b; }();
  17745. auto d = [&](){ return c; }();
  17746. auto e = [a, &b](int x) mutable {
  17747. const auto identity = [](int y){ return y; };
  17748. for (auto i = 0; i < a; ++i)
  17749. a += b--;
  17750. return x + identity(a + b);
  17751. }(0);
  17752. return a + b + c + d + e;
  17753. }
  17754. int
  17755. test3()
  17756. {
  17757. const auto nullary = [](){ return 0; };
  17758. const auto unary = [](int x){ return x; };
  17759. using nullary_t = decltype(nullary);
  17760. using unary_t = decltype(unary);
  17761. const auto higher1st = [](nullary_t f){ return f(); };
  17762. const auto higher2nd = [unary](nullary_t f1){
  17763. return [unary, f1](unary_t f2){ return f2(unary(f1())); };
  17764. };
  17765. return higher1st(nullary) + higher2nd(nullary)(unary);
  17766. }
  17767. }
  17768. namespace test_variadic_templates
  17769. {
  17770. template <int...>
  17771. struct sum;
  17772. template <int N0, int... N1toN>
  17773. struct sum<N0, N1toN...>
  17774. {
  17775. static constexpr auto value = N0 + sum<N1toN...>::value;
  17776. };
  17777. template <>
  17778. struct sum<>
  17779. {
  17780. static constexpr auto value = 0;
  17781. };
  17782. static_assert(sum<>::value == 0, "");
  17783. static_assert(sum<1>::value == 1, "");
  17784. static_assert(sum<23>::value == 23, "");
  17785. static_assert(sum<1, 2>::value == 3, "");
  17786. static_assert(sum<5, 5, 11>::value == 21, "");
  17787. static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
  17788. }
  17789. // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
  17790. // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
  17791. // because of this.
  17792. namespace test_template_alias_sfinae
  17793. {
  17794. struct foo {};
  17795. template<typename T>
  17796. using member = typename T::member_type;
  17797. template<typename T>
  17798. void func(...) {}
  17799. template<typename T>
  17800. void func(member<T>*) {}
  17801. void test();
  17802. void test() { func<foo>(0); }
  17803. }
  17804. } // namespace cxx11
  17805. #endif // __cplusplus >= 201103L
  17806. _ACEOF
  17807. if ac_fn_cxx_try_compile "$LINENO"; then :
  17808. eval $cachevar=yes
  17809. else
  17810. eval $cachevar=no
  17811. fi
  17812. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17813. CXX="$ac_save_CXX"
  17814. fi
  17815. eval ac_res=\$$cachevar
  17816. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  17817. $as_echo "$ac_res" >&6; }
  17818. if eval test x\$$cachevar = xyes; then
  17819. CXX="$CXX $switch"
  17820. if test -n "$CXXCPP" ; then
  17821. CXXCPP="$CXXCPP $switch"
  17822. fi
  17823. ac_success=yes
  17824. break
  17825. fi
  17826. done
  17827. if test x$ac_success = xyes; then
  17828. break
  17829. fi
  17830. done
  17831. fi
  17832. ac_ext=cpp
  17833. ac_cpp='$CXXCPP $CPPFLAGS'
  17834. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17835. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17836. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17837. if test x$ax_cxx_compile_cxx11_required = xtrue; then
  17838. if test x$ac_success = xno; then
  17839. as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
  17840. fi
  17841. fi
  17842. if test x$ac_success = xno; then
  17843. HAVE_CXX11=0
  17844. { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
  17845. $as_echo "$as_me: No compiler with C++11 support was found" >&6;}
  17846. else
  17847. HAVE_CXX11=1
  17848. $as_echo "#define HAVE_CXX11 1" >>confdefs.h
  17849. fi
  17850. fi
  17851. if test "$HAVE_CXX11" = "1" -a $acsm_found_cxx -eq 0; then :
  17852. # If nothing fails later we're good to go
  17853. have_cxx_all=yes
  17854. # --------------------------------------------------------------
  17855. # Test for mandatory C++11 features, those which libMesh now requires
  17856. # for internal use.
  17857. # --------------------------------------------------------------
  17858. have_cxx11_auto=no
  17859. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 auto keyword support" >&5
  17860. $as_echo_n "checking for C++11 auto keyword support... " >&6; }
  17861. ac_ext=cpp
  17862. ac_cpp='$CXXCPP $CPPFLAGS'
  17863. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17864. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17865. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17866. old_CXXFLAGS="$CXXFLAGS"
  17867. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  17868. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17869. /* end confdefs.h. */
  17870. int
  17871. main ()
  17872. {
  17873. int x = 5;
  17874. auto y = x;
  17875. ;
  17876. return 0;
  17877. }
  17878. _ACEOF
  17879. if ac_fn_cxx_try_compile "$LINENO"; then :
  17880. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  17881. $as_echo "yes" >&6; }
  17882. $as_echo "#define HAVE_CXX11_AUTO 1" >>confdefs.h
  17883. have_cxx11_auto=yes
  17884. else
  17885. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  17886. $as_echo "no" >&6; }
  17887. fi
  17888. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17889. # Reset the flags
  17890. CXXFLAGS="$old_CXXFLAGS"
  17891. ac_ext=cpp
  17892. ac_cpp='$CXXCPP $CPPFLAGS'
  17893. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17894. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17895. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17896. if test x$have_cxx11_auto == xyes; then
  17897. HAVE_CXX11_AUTO_TRUE=
  17898. HAVE_CXX11_AUTO_FALSE='#'
  17899. else
  17900. HAVE_CXX11_AUTO_TRUE='#'
  17901. HAVE_CXX11_AUTO_FALSE=
  17902. fi
  17903. if test "x$have_cxx11_auto" != "xyes"; then :
  17904. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 auto variable support" >&5
  17905. $as_echo "$as_me: WARNING: libMesh requires C++11 auto variable support" >&2;}
  17906. have_cxx_all=no
  17907. fi
  17908. have_cxx11_rangefor=no
  17909. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 range-based for loop support" >&5
  17910. $as_echo_n "checking for C++11 range-based for loop support... " >&6; }
  17911. ac_ext=cpp
  17912. ac_cpp='$CXXCPP $CPPFLAGS'
  17913. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17914. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17915. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17916. old_CXXFLAGS="$CXXFLAGS"
  17917. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  17918. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17919. /* end confdefs.h. */
  17920. #include <iostream>
  17921. #include <vector>
  17922. void print(const std::vector<int> & v)
  17923. {
  17924. for (const int & x : v)
  17925. std::cout << x << ' ';
  17926. std::cout << std::endl;
  17927. }
  17928. int
  17929. main ()
  17930. {
  17931. std::vector<int> v(3);
  17932. print(v);
  17933. ;
  17934. return 0;
  17935. }
  17936. _ACEOF
  17937. if ac_fn_cxx_try_compile "$LINENO"; then :
  17938. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  17939. $as_echo "yes" >&6; }
  17940. $as_echo "#define HAVE_CXX11_RANGEFOR 1" >>confdefs.h
  17941. have_cxx11_rangefor=yes
  17942. else
  17943. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  17944. $as_echo "no" >&6; }
  17945. fi
  17946. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  17947. # Reset the flags
  17948. CXXFLAGS="$old_CXXFLAGS"
  17949. ac_ext=cpp
  17950. ac_cpp='$CXXCPP $CPPFLAGS'
  17951. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17952. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17953. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17954. if test x$have_cxx11_rangefor == xyes; then
  17955. HAVE_CXX11_RANGEFOR_TRUE=
  17956. HAVE_CXX11_RANGEFOR_FALSE='#'
  17957. else
  17958. HAVE_CXX11_RANGEFOR_TRUE='#'
  17959. HAVE_CXX11_RANGEFOR_FALSE=
  17960. fi
  17961. if test "x$have_cxx11_rangefor" != "xyes"; then :
  17962. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 ranged-for loop support" >&5
  17963. $as_echo "$as_me: WARNING: libMesh requires C++11 ranged-for loop support" >&2;}
  17964. have_cxx_all=no
  17965. fi
  17966. # Technically we require uniform initialization, but this is the
  17967. # closest test we have
  17968. have_cxx11_initializer_list=no
  17969. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 initializer list support" >&5
  17970. $as_echo_n "checking for C++11 initializer list support... " >&6; }
  17971. ac_ext=cpp
  17972. ac_cpp='$CXXCPP $CPPFLAGS'
  17973. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  17974. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  17975. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  17976. old_CXXFLAGS="$CXXFLAGS"
  17977. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  17978. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  17979. /* end confdefs.h. */
  17980. #include <vector>
  17981. #include <string>
  17982. #include <initializer_list>
  17983. int
  17984. main ()
  17985. {
  17986. std::vector<std::string> v = { "xyzzy", "plugh", "abracadabra" };
  17987. ;
  17988. return 0;
  17989. }
  17990. _ACEOF
  17991. if ac_fn_cxx_try_compile "$LINENO"; then :
  17992. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  17993. $as_echo "yes" >&6; }
  17994. $as_echo "#define HAVE_CXX11_INITIALIZER_LIST 1" >>confdefs.h
  17995. have_cxx11_initializer_list=yes
  17996. else
  17997. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  17998. $as_echo "no" >&6; }
  17999. fi
  18000. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18001. # Reset the flags
  18002. CXXFLAGS="$old_CXXFLAGS"
  18003. ac_ext=cpp
  18004. ac_cpp='$CXXCPP $CPPFLAGS'
  18005. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18006. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18007. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18008. if test x$have_cxx11_initializer_list == xyes; then
  18009. HAVE_CXX11_INITIALIZER_LIST_TRUE=
  18010. HAVE_CXX11_INITIALIZER_LIST_FALSE='#'
  18011. else
  18012. HAVE_CXX11_INITIALIZER_LIST_TRUE='#'
  18013. HAVE_CXX11_INITIALIZER_LIST_FALSE=
  18014. fi
  18015. if test "x$have_cxx11_initializer_list" != "xyes"; then :
  18016. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 initializer list support" >&5
  18017. $as_echo "$as_me: WARNING: libMesh requires C++11 initializer list support" >&2;}
  18018. have_cxx_all=no
  18019. fi
  18020. have_cxx11_unique_ptr=no
  18021. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::unique_ptr support" >&5
  18022. $as_echo_n "checking for C++11 std::unique_ptr support... " >&6; }
  18023. ac_ext=cpp
  18024. ac_cpp='$CXXCPP $CPPFLAGS'
  18025. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18026. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18027. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18028. old_CXXFLAGS="$CXXFLAGS"
  18029. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18030. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18031. /* end confdefs.h. */
  18032. #include <iostream>
  18033. #include <memory>
  18034. struct Foo
  18035. {
  18036. Foo() { std::cout << "Foo::Foo\n"; }
  18037. ~Foo() { std::cout << "Foo::~Foo\n"; }
  18038. };
  18039. int
  18040. main ()
  18041. {
  18042. {
  18043. // up now owns a Foo
  18044. std::unique_ptr<Foo> up(new Foo);
  18045. } // Foo deleted when up goes out of scope
  18046. ;
  18047. return 0;
  18048. }
  18049. _ACEOF
  18050. if ac_fn_cxx_try_compile "$LINENO"; then :
  18051. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18052. $as_echo "yes" >&6; }
  18053. $as_echo "#define HAVE_CXX11_UNIQUE_PTR 1" >>confdefs.h
  18054. have_cxx11_unique_ptr=yes
  18055. else
  18056. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18057. $as_echo "no" >&6; }
  18058. fi
  18059. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18060. # Reset the flags
  18061. CXXFLAGS="$old_CXXFLAGS"
  18062. ac_ext=cpp
  18063. ac_cpp='$CXXCPP $CPPFLAGS'
  18064. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18065. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18066. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18067. if test x$have_cxx11_unique_ptr == xyes; then
  18068. HAVE_CXX11_UNIQUE_PTR_TRUE=
  18069. HAVE_CXX11_UNIQUE_PTR_FALSE='#'
  18070. else
  18071. HAVE_CXX11_UNIQUE_PTR_TRUE='#'
  18072. HAVE_CXX11_UNIQUE_PTR_FALSE=
  18073. fi
  18074. if test "x$have_cxx11_unique_ptr" != "xyes"; then :
  18075. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::unique_ptr support" >&5
  18076. $as_echo "$as_me: WARNING: libMesh requires C++11 std::unique_ptr support" >&2;}
  18077. have_cxx_all=no
  18078. fi
  18079. have_cxx11_make_unique_workaround=no
  18080. # This is a simple workaround for no std::make_unique in C++11:
  18081. # http://stackoverflow.com/questions/7038357/make-unique-and-perfect-forwarding
  18082. # Requires working rvalue references, std::forward, variadic
  18083. # templates, and std::unique_ptr from C++11.
  18084. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::make_unique workaround support" >&5
  18085. $as_echo_n "checking for C++11 std::make_unique workaround support... " >&6; }
  18086. ac_ext=cpp
  18087. ac_cpp='$CXXCPP $CPPFLAGS'
  18088. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18089. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18090. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18091. old_CXXFLAGS="$CXXFLAGS"
  18092. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18093. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18094. /* end confdefs.h. */
  18095. #include <memory>
  18096. namespace local
  18097. {
  18098. template<typename T, typename... Args>
  18099. std::unique_ptr<T> make_unique(Args&&... args)
  18100. {
  18101. return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
  18102. }
  18103. }
  18104. int
  18105. main ()
  18106. {
  18107. {
  18108. // Normally, you would use "auto" on the LHS here to avoid
  18109. // repeating the type name, but we are not testing auto here.
  18110. std::unique_ptr<int> up = local::make_unique<int>(42);
  18111. } // Foo deleted when up goes out of scope
  18112. ;
  18113. return 0;
  18114. }
  18115. _ACEOF
  18116. if ac_fn_cxx_try_compile "$LINENO"; then :
  18117. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18118. $as_echo "yes" >&6; }
  18119. $as_echo "#define HAVE_CXX11_MAKE_UNIQUE_WORKAROUND 1" >>confdefs.h
  18120. have_cxx11_make_unique_workaround=yes
  18121. else
  18122. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18123. $as_echo "no" >&6; }
  18124. fi
  18125. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18126. # Reset the flags
  18127. CXXFLAGS="$old_CXXFLAGS"
  18128. ac_ext=cpp
  18129. ac_cpp='$CXXCPP $CPPFLAGS'
  18130. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18131. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18132. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18133. if test x$have_cxx11_make_unique_workaround == xyes; then
  18134. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE=
  18135. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE='#'
  18136. else
  18137. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE='#'
  18138. HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE=
  18139. fi
  18140. if test "x$have_cxx11_make_unique_workaround" != "xyes"; then :
  18141. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 variadic template support" >&5
  18142. $as_echo "$as_me: WARNING: libMesh requires C++11 variadic template support" >&2;}
  18143. have_cxx_all=no
  18144. fi
  18145. have_cxx11_tuple=no
  18146. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::tuple support" >&5
  18147. $as_echo_n "checking for C++11 std::tuple support... " >&6; }
  18148. ac_ext=cpp
  18149. ac_cpp='$CXXCPP $CPPFLAGS'
  18150. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18151. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18152. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18153. old_CXXFLAGS="$CXXFLAGS"
  18154. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18155. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18156. /* end confdefs.h. */
  18157. #include <tuple>
  18158. #include <map>
  18159. #include <string>
  18160. int
  18161. main ()
  18162. {
  18163. // Test std::make_tuple
  18164. std::map<int, std::tuple<double, char, std::string>> students;
  18165. students[0] = std::make_tuple(3.8, 'A', "Lisa Simpson");
  18166. students[1] = std::make_tuple(2.9, 'C', "Milhouse Van Houten");
  18167. // Test templated std::get() method.
  18168. std::get<0>(students[0]);
  18169. std::get<1>(students[0]);
  18170. std::get<2>(students[0]);
  18171. // Test std::tie and std::ignore which are declared in the <tuple> header.
  18172. double gpa1;
  18173. std::string name1;
  18174. std::tie(gpa1, std::ignore, name1) = students[1];
  18175. // Test std::tuple_cat(), which combines together one or more
  18176. // objects, not necessarily tuples, into a single tuple.
  18177. auto t = std::tuple_cat(students[0], students[1], std::make_pair("foo", 42));
  18178. ;
  18179. return 0;
  18180. }
  18181. _ACEOF
  18182. if ac_fn_cxx_try_compile "$LINENO"; then :
  18183. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18184. $as_echo "yes" >&6; }
  18185. $as_echo "#define HAVE_CXX11_TUPLE 1" >>confdefs.h
  18186. have_cxx11_tuple=yes
  18187. else
  18188. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18189. $as_echo "no" >&6; }
  18190. fi
  18191. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18192. CXXFLAGS="$old_CXXFLAGS"
  18193. ac_ext=cpp
  18194. ac_cpp='$CXXCPP $CPPFLAGS'
  18195. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18196. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18197. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18198. if test x$have_cxx11_tuple == xyes; then
  18199. HAVE_CXX11_TUPLE_TRUE=
  18200. HAVE_CXX11_TUPLE_FALSE='#'
  18201. else
  18202. HAVE_CXX11_TUPLE_TRUE='#'
  18203. HAVE_CXX11_TUPLE_FALSE=
  18204. fi
  18205. if test "x$have_cxx11_tuple" != "xyes"; then :
  18206. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::tuple support" >&5
  18207. $as_echo "$as_me: WARNING: libMesh requires C++11 std::tuple support" >&2;}
  18208. have_cxx_all=no
  18209. fi
  18210. have_cxx11_lambda=no
  18211. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 lambda support" >&5
  18212. $as_echo_n "checking for C++11 lambda support... " >&6; }
  18213. ac_ext=cpp
  18214. ac_cpp='$CXXCPP $CPPFLAGS'
  18215. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18216. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18217. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18218. old_CXXFLAGS="$CXXFLAGS"
  18219. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18220. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18221. /* end confdefs.h. */
  18222. // typedef for a function pointer that takes int and returns bool.
  18223. typedef bool (*FunctionPointer) (int);
  18224. // A function that takes a pointer to a function that takes an int,
  18225. // calls it with the number 4, and returns the result.
  18226. bool f(FunctionPointer g) { return g(4); }
  18227. int
  18228. main ()
  18229. {
  18230. // Call f, passing it a lambda constructed on the fly instead
  18231. // of a standard function pointer. The result should be true.
  18232. f ( [](int x) { return x > 3; } );
  18233. ;
  18234. return 0;
  18235. }
  18236. _ACEOF
  18237. if ac_fn_cxx_try_compile "$LINENO"; then :
  18238. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18239. $as_echo "yes" >&6; }
  18240. $as_echo "#define HAVE_CXX11_LAMBDA 1" >>confdefs.h
  18241. have_cxx11_lambda=yes
  18242. else
  18243. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18244. $as_echo "no" >&6; }
  18245. fi
  18246. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18247. # Reset the flags
  18248. CXXFLAGS="$old_CXXFLAGS"
  18249. ac_ext=cpp
  18250. ac_cpp='$CXXCPP $CPPFLAGS'
  18251. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18252. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18253. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18254. if test x$have_cxx11_lambda == xyes; then
  18255. HAVE_CXX11_LAMBDA_TRUE=
  18256. HAVE_CXX11_LAMBDA_FALSE='#'
  18257. else
  18258. HAVE_CXX11_LAMBDA_TRUE='#'
  18259. HAVE_CXX11_LAMBDA_FALSE=
  18260. fi
  18261. if test "x$have_cxx11_lambda" != "xyes"; then :
  18262. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 lambda support" >&5
  18263. $as_echo "$as_me: WARNING: libMesh requires C++11 lambda support" >&2;}
  18264. have_cxx_all=no
  18265. fi
  18266. have_cxx11_fixed_type_enum=no
  18267. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 fixed type enumeration support" >&5
  18268. $as_echo_n "checking for C++11 fixed type enumeration support... " >&6; }
  18269. ac_ext=cpp
  18270. ac_cpp='$CXXCPP $CPPFLAGS'
  18271. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18272. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18273. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18274. old_CXXFLAGS="$CXXFLAGS"
  18275. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18276. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18277. /* end confdefs.h. */
  18278. enum Fruit : int {APPLE=0, ORANGE=1};
  18279. int
  18280. main ()
  18281. {
  18282. Fruit f = APPLE;
  18283. ;
  18284. return 0;
  18285. }
  18286. _ACEOF
  18287. if ac_fn_cxx_try_compile "$LINENO"; then :
  18288. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18289. $as_echo "yes" >&6; }
  18290. $as_echo "#define HAVE_CXX11_FIXED_TYPE_ENUM 1" >>confdefs.h
  18291. have_cxx11_fixed_type_enum=yes
  18292. else
  18293. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18294. $as_echo "no" >&6; }
  18295. fi
  18296. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18297. CXXFLAGS="$old_CXXFLAGS"
  18298. ac_ext=cpp
  18299. ac_cpp='$CXXCPP $CPPFLAGS'
  18300. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18301. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18302. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18303. if test x$have_cxx11_fixed_type_enum == xyes; then
  18304. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE=
  18305. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE='#'
  18306. else
  18307. HAVE_CXX11_FIXED_TYPE_ENUM_TRUE='#'
  18308. HAVE_CXX11_FIXED_TYPE_ENUM_FALSE=
  18309. fi
  18310. if test "x$have_cxx11_fixed_type_enum" != "xyes"; then :
  18311. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 fixed type enumeration support" >&5
  18312. $as_echo "$as_me: WARNING: libMesh requires C++11 fixed type enumeration support" >&2;}
  18313. have_cxx_all=no
  18314. fi
  18315. have_cxx11_fixed_type_enum_fwd=no
  18316. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 fixed type enumeration forward declaration support" >&5
  18317. $as_echo_n "checking for C++11 fixed type enumeration forward declaration support... " >&6; }
  18318. ac_ext=cpp
  18319. ac_cpp='$CXXCPP $CPPFLAGS'
  18320. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18321. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18322. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18323. old_CXXFLAGS="$CXXFLAGS"
  18324. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18325. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18326. /* end confdefs.h. */
  18327. #include <iostream>
  18328. enum Foo : int;
  18329. void func(Foo f) { std::cout << f << std::endl; }
  18330. enum Foo : int { FOO0 = 0, FOO1 = 1, FOO2 = 2 };
  18331. int
  18332. main ()
  18333. {
  18334. func(FOO0);
  18335. func(FOO1);
  18336. func(FOO2);
  18337. ;
  18338. return 0;
  18339. }
  18340. _ACEOF
  18341. if ac_fn_cxx_try_compile "$LINENO"; then :
  18342. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18343. $as_echo "yes" >&6; }
  18344. $as_echo "#define HAVE_CXX11_FIXED_TYPE_ENUM_FWD 1" >>confdefs.h
  18345. have_cxx11_fixed_type_enum_fwd=yes
  18346. else
  18347. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18348. $as_echo "no" >&6; }
  18349. fi
  18350. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18351. CXXFLAGS="$old_CXXFLAGS"
  18352. ac_ext=cpp
  18353. ac_cpp='$CXXCPP $CPPFLAGS'
  18354. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18355. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18356. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18357. if test x$have_cxx11_fixed_type_enum_fwd == xyes; then
  18358. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE=
  18359. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE='#'
  18360. else
  18361. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE='#'
  18362. HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE=
  18363. fi
  18364. if test "x$have_cxx11_fixed_type_enum_fwd" != "xyes"; then :
  18365. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 fixed type enumeration forward declaration support" >&5
  18366. $as_echo "$as_me: WARNING: libMesh requires C++11 fixed type enumeration forward declaration support" >&2;}
  18367. have_cxx_all=no
  18368. fi
  18369. have_cxx11_override=no
  18370. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 override keyword support" >&5
  18371. $as_echo_n "checking for C++11 override keyword support... " >&6; }
  18372. ac_ext=cpp
  18373. ac_cpp='$CXXCPP $CPPFLAGS'
  18374. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18375. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18376. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18377. old_CXXFLAGS="$CXXFLAGS"
  18378. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18379. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18380. /* end confdefs.h. */
  18381. int
  18382. main ()
  18383. {
  18384. struct Base {
  18385. virtual void f() {}
  18386. };
  18387. struct Child : public Base {
  18388. virtual void f() override {}
  18389. };
  18390. ;
  18391. return 0;
  18392. }
  18393. _ACEOF
  18394. if ac_fn_cxx_try_compile "$LINENO"; then :
  18395. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18396. $as_echo "yes" >&6; }
  18397. $as_echo "#define HAVE_CXX11_OVERRIDE 1" >>confdefs.h
  18398. have_cxx11_override=yes
  18399. else
  18400. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18401. $as_echo "no" >&6; }
  18402. fi
  18403. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18404. # Reset the flags
  18405. CXXFLAGS="$old_CXXFLAGS"
  18406. ac_ext=cpp
  18407. ac_cpp='$CXXCPP $CPPFLAGS'
  18408. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18409. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18410. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18411. if test x$have_cxx11_override == xyes; then
  18412. HAVE_CXX11_OVERRIDE_TRUE=
  18413. HAVE_CXX11_OVERRIDE_FALSE='#'
  18414. else
  18415. HAVE_CXX11_OVERRIDE_TRUE='#'
  18416. HAVE_CXX11_OVERRIDE_FALSE=
  18417. fi
  18418. if test "x$have_cxx11_override" != "xyes"; then :
  18419. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 compiler support the override keyword" >&5
  18420. $as_echo "$as_me: WARNING: libMesh requires C++11 compiler support the override keyword" >&2;}
  18421. have_cxx_all=no
  18422. fi
  18423. have_cxx11_move_constructors=no
  18424. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 move constructor support" >&5
  18425. $as_echo_n "checking for C++11 move constructor support... " >&6; }
  18426. ac_ext=cpp
  18427. ac_cpp='$CXXCPP $CPPFLAGS'
  18428. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18429. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18430. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18431. old_CXXFLAGS="$CXXFLAGS"
  18432. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18433. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18434. /* end confdefs.h. */
  18435. #include <utility>
  18436. class move_constructable_base
  18437. {
  18438. public:
  18439. move_constructable_base() {}
  18440. move_constructable_base(move_constructable_base && other) noexcept {}
  18441. };
  18442. class move_constructable : public move_constructable_base
  18443. {
  18444. public:
  18445. move_constructable() {}
  18446. move_constructable(move_constructable && other) noexcept : move_constructable_base(std::move(other)) {}
  18447. };
  18448. int
  18449. main ()
  18450. {
  18451. move_constructable m1;
  18452. move_constructable m2(std::move(m1));
  18453. ;
  18454. return 0;
  18455. }
  18456. _ACEOF
  18457. if ac_fn_cxx_try_compile "$LINENO"; then :
  18458. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18459. $as_echo "yes" >&6; }
  18460. $as_echo "#define HAVE_CXX11_MOVE_CONSTRUCTORS 1" >>confdefs.h
  18461. have_cxx11_move_constructors=yes
  18462. else
  18463. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18464. $as_echo "no" >&6; }
  18465. fi
  18466. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18467. # Reset the flags
  18468. CXXFLAGS="$old_CXXFLAGS"
  18469. ac_ext=cpp
  18470. ac_cpp='$CXXCPP $CPPFLAGS'
  18471. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18472. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18473. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18474. if test x$have_cxx11_move_constructors == xyes; then
  18475. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE=
  18476. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE='#'
  18477. else
  18478. HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE='#'
  18479. HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE=
  18480. fi
  18481. if test "x$have_cxx11_move_constructors" != "xyes"; then :
  18482. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 move constructor support" >&5
  18483. $as_echo "$as_me: WARNING: libMesh requires C++11 move constructor support" >&2;}
  18484. have_cxx_all=no
  18485. fi
  18486. have_cxx11_deleted_functions=no
  18487. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 deleted functions support" >&5
  18488. $as_echo_n "checking for C++11 deleted functions support... " >&6; }
  18489. ac_ext=cpp
  18490. ac_cpp='$CXXCPP $CPPFLAGS'
  18491. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18492. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18493. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18494. old_CXXFLAGS="$CXXFLAGS"
  18495. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18496. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18497. /* end confdefs.h. */
  18498. class Foo
  18499. {
  18500. Foo(const Foo &) = delete;
  18501. };
  18502. int
  18503. main ()
  18504. {
  18505. ;
  18506. return 0;
  18507. }
  18508. _ACEOF
  18509. if ac_fn_cxx_try_compile "$LINENO"; then :
  18510. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18511. $as_echo "yes" >&6; }
  18512. $as_echo "#define HAVE_CXX11_DELETED_FUNCTIONS 1" >>confdefs.h
  18513. have_cxx11_deleted_functions=yes
  18514. else
  18515. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18516. $as_echo "no" >&6; }
  18517. fi
  18518. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18519. # Reset the flags
  18520. CXXFLAGS="$old_CXXFLAGS"
  18521. ac_ext=cpp
  18522. ac_cpp='$CXXCPP $CPPFLAGS'
  18523. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18524. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18525. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18526. if test x$have_cxx11_deleted_functions == xyes; then
  18527. HAVE_CXX11_DELETED_FUNCTIONS_TRUE=
  18528. HAVE_CXX11_DELETED_FUNCTIONS_FALSE='#'
  18529. else
  18530. HAVE_CXX11_DELETED_FUNCTIONS_TRUE='#'
  18531. HAVE_CXX11_DELETED_FUNCTIONS_FALSE=
  18532. fi
  18533. if test "x$have_cxx11_deleted_functions" != "xyes"; then :
  18534. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 deleted function support" >&5
  18535. $as_echo "$as_me: WARNING: libMesh requires C++11 deleted function support" >&2;}
  18536. have_cxx_all=no
  18537. fi
  18538. have_cxx11_defaulted_functions=no
  18539. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 defaulted functions support" >&5
  18540. $as_echo_n "checking for C++11 defaulted functions support... " >&6; }
  18541. ac_ext=cpp
  18542. ac_cpp='$CXXCPP $CPPFLAGS'
  18543. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18544. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18545. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18546. old_CXXFLAGS="$CXXFLAGS"
  18547. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18548. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18549. /* end confdefs.h. */
  18550. class Foo
  18551. {
  18552. Foo(const Foo &) = default;
  18553. ~Foo();
  18554. };
  18555. Foo::~Foo() = default;
  18556. int
  18557. main ()
  18558. {
  18559. ;
  18560. return 0;
  18561. }
  18562. _ACEOF
  18563. if ac_fn_cxx_try_compile "$LINENO"; then :
  18564. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18565. $as_echo "yes" >&6; }
  18566. $as_echo "#define HAVE_CXX11_DEFAULTED_FUNCTIONS 1" >>confdefs.h
  18567. have_cxx11_defaulted_functions=yes
  18568. else
  18569. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18570. $as_echo "no" >&6; }
  18571. fi
  18572. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18573. # Reset the flags
  18574. CXXFLAGS="$old_CXXFLAGS"
  18575. ac_ext=cpp
  18576. ac_cpp='$CXXCPP $CPPFLAGS'
  18577. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18578. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18579. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18580. if test x$have_cxx11_defaulted_functions == xyes; then
  18581. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE=
  18582. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE='#'
  18583. else
  18584. HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE='#'
  18585. HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE=
  18586. fi
  18587. if test "x$have_cxx11_defaulted_functions" != "xyes"; then :
  18588. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 defaulted function support" >&5
  18589. $as_echo "$as_me: WARNING: libMesh requires C++11 defaulted function support" >&2;}
  18590. have_cxx_all=no
  18591. fi
  18592. have_cxx11_nullptr=no
  18593. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 nullptr support" >&5
  18594. $as_echo_n "checking for C++11 nullptr support... " >&6; }
  18595. ac_ext=cpp
  18596. ac_cpp='$CXXCPP $CPPFLAGS'
  18597. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18598. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18599. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18600. old_CXXFLAGS="$CXXFLAGS"
  18601. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18602. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18603. /* end confdefs.h. */
  18604. #include <cstddef>
  18605. void f(int * pi) {}
  18606. void f(double * pd) {}
  18607. void f(std::nullptr_t nullp) {}
  18608. int
  18609. main ()
  18610. {
  18611. // would be ambiguous without void f(nullptr_t)
  18612. f(nullptr);
  18613. ;
  18614. return 0;
  18615. }
  18616. _ACEOF
  18617. if ac_fn_cxx_try_compile "$LINENO"; then :
  18618. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18619. $as_echo "yes" >&6; }
  18620. $as_echo "#define HAVE_CXX11_NULLPTR 1" >>confdefs.h
  18621. have_cxx11_nullptr=yes
  18622. else
  18623. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18624. $as_echo "no" >&6; }
  18625. fi
  18626. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18627. # Reset the flags
  18628. CXXFLAGS="$old_CXXFLAGS"
  18629. ac_ext=cpp
  18630. ac_cpp='$CXXCPP $CPPFLAGS'
  18631. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18632. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18633. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18634. if test x$have_cxx11_nullptr == xyes; then
  18635. HAVE_CXX11_NULLPTR_TRUE=
  18636. HAVE_CXX11_NULLPTR_FALSE='#'
  18637. else
  18638. HAVE_CXX11_NULLPTR_TRUE='#'
  18639. HAVE_CXX11_NULLPTR_FALSE=
  18640. fi
  18641. if test "x$have_cxx11_nullptr" != "xyes"; then :
  18642. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 nullptr keyword" >&5
  18643. $as_echo "$as_me: WARNING: libMesh requires the C++11 nullptr keyword" >&2;}
  18644. have_cxx_all=no
  18645. fi
  18646. have_cxx11_final=no
  18647. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 'final' keyword support" >&5
  18648. $as_echo_n "checking for C++11 'final' keyword support... " >&6; }
  18649. ac_ext=cpp
  18650. ac_cpp='$CXXCPP $CPPFLAGS'
  18651. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18652. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18653. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18654. old_CXXFLAGS="$CXXFLAGS"
  18655. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18656. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18657. /* end confdefs.h. */
  18658. // Test that a function can be declared final.
  18659. struct A
  18660. {
  18661. virtual void foo() final;
  18662. };
  18663. // Test that a struct can be declared final.
  18664. struct B final : A
  18665. {
  18666. };
  18667. int
  18668. main ()
  18669. {
  18670. ;
  18671. return 0;
  18672. }
  18673. _ACEOF
  18674. if ac_fn_cxx_try_compile "$LINENO"; then :
  18675. have_cxx11_final=yes
  18676. else
  18677. have_cxx11_final=no
  18678. fi
  18679. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18680. # Confirm that you cannot declare a non-virtual function 'final'.
  18681. if test "x$have_cxx11_final" != "xno"; then :
  18682. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18683. /* end confdefs.h. */
  18684. struct A
  18685. {
  18686. // Error: non-virtual function cannot be final
  18687. void bar() final;
  18688. };
  18689. int
  18690. main ()
  18691. {
  18692. ;
  18693. return 0;
  18694. }
  18695. _ACEOF
  18696. if ac_fn_cxx_try_compile "$LINENO"; then :
  18697. # If this code compiles, 'final' is not working correctly.
  18698. have_cxx11_final=no
  18699. else
  18700. have_cxx11_final=yes
  18701. fi
  18702. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18703. fi
  18704. if test "x$have_cxx11_final" != "xno"; then :
  18705. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18706. /* end confdefs.h. */
  18707. struct A
  18708. {
  18709. virtual void foo() final;
  18710. };
  18711. struct B : A
  18712. {
  18713. // Error: foo cannot be overridden as it's final in A
  18714. void foo();
  18715. };
  18716. int
  18717. main ()
  18718. {
  18719. ;
  18720. return 0;
  18721. }
  18722. _ACEOF
  18723. if ac_fn_cxx_try_compile "$LINENO"; then :
  18724. # If this code compiles, 'final' is not working correctly.
  18725. have_cxx11_final=no
  18726. else
  18727. have_cxx11_final=yes
  18728. fi
  18729. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18730. fi
  18731. if test "x$have_cxx11_final" != "xno"; then :
  18732. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18733. /* end confdefs.h. */
  18734. struct A
  18735. {
  18736. };
  18737. // struct B is final
  18738. struct B final : A
  18739. {
  18740. };
  18741. // Error: B is final
  18742. struct C : B
  18743. {
  18744. };
  18745. int
  18746. main ()
  18747. {
  18748. ;
  18749. return 0;
  18750. }
  18751. _ACEOF
  18752. if ac_fn_cxx_try_compile "$LINENO"; then :
  18753. # If this code compiles, 'final' is not working correctly.
  18754. have_cxx11_final=no
  18755. else
  18756. have_cxx11_final=yes
  18757. fi
  18758. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18759. fi
  18760. # If the flag is still 'yes' after all the tests, set the #define.
  18761. if test "x$have_cxx11_final" = "xyes"; then :
  18762. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18763. $as_echo "yes" >&6; }
  18764. $as_echo "#define HAVE_CXX11_FINAL 1" >>confdefs.h
  18765. else
  18766. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18767. $as_echo "no" >&6; }
  18768. fi
  18769. # Reset the flags
  18770. CXXFLAGS="$old_CXXFLAGS"
  18771. ac_ext=cpp
  18772. ac_cpp='$CXXCPP $CPPFLAGS'
  18773. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18774. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18775. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18776. if test x$have_cxx11_final == xyes; then
  18777. HAVE_CXX11_FINAL_TRUE=
  18778. HAVE_CXX11_FINAL_FALSE='#'
  18779. else
  18780. HAVE_CXX11_FINAL_TRUE='#'
  18781. HAVE_CXX11_FINAL_FALSE=
  18782. fi
  18783. if test "x$have_cxx11_final" != "xyes"; then :
  18784. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 final keyword" >&5
  18785. $as_echo "$as_me: WARNING: libMesh requires the C++11 final keyword" >&2;}
  18786. have_cxx_all=no
  18787. fi
  18788. have_cxx11_decltype=no
  18789. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 decltype support" >&5
  18790. $as_echo_n "checking for C++11 decltype support... " >&6; }
  18791. ac_ext=cpp
  18792. ac_cpp='$CXXCPP $CPPFLAGS'
  18793. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18794. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18795. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18796. old_CXXFLAGS="$CXXFLAGS"
  18797. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18798. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18799. /* end confdefs.h. */
  18800. #include <vector>
  18801. int
  18802. main ()
  18803. {
  18804. int a;
  18805. decltype(a) b;
  18806. std::vector<int> vec(10);
  18807. for (auto i = decltype(vec.size())(0); i < vec.size(); ++i)
  18808. vec[i] += i;
  18809. ;
  18810. return 0;
  18811. }
  18812. _ACEOF
  18813. if ac_fn_cxx_try_compile "$LINENO"; then :
  18814. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18815. $as_echo "yes" >&6; }
  18816. $as_echo "#define HAVE_CXX11_DECLTYPE 1" >>confdefs.h
  18817. have_cxx11_decltype=yes
  18818. else
  18819. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18820. $as_echo "no" >&6; }
  18821. fi
  18822. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18823. # Reset the flags
  18824. CXXFLAGS="$old_CXXFLAGS"
  18825. ac_ext=cpp
  18826. ac_cpp='$CXXCPP $CPPFLAGS'
  18827. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18828. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18829. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18830. if test x$have_cxx11_decltype == xyes; then
  18831. HAVE_CXX11_DECLTYPE_TRUE=
  18832. HAVE_CXX11_DECLTYPE_FALSE='#'
  18833. else
  18834. HAVE_CXX11_DECLTYPE_TRUE='#'
  18835. HAVE_CXX11_DECLTYPE_FALSE=
  18836. fi
  18837. if test "x$have_cxx11_decltype" != "xyes"; then :
  18838. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires the C++11 decltype keyword" >&5
  18839. $as_echo "$as_me: WARNING: libMesh requires the C++11 decltype keyword" >&2;}
  18840. have_cxx_all=no
  18841. fi
  18842. have_cxx11_begin_end=no
  18843. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::begin/end support for arrays" >&5
  18844. $as_echo_n "checking for C++11 std::begin/end support for arrays... " >&6; }
  18845. ac_ext=cpp
  18846. ac_cpp='$CXXCPP $CPPFLAGS'
  18847. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18848. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18849. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18850. old_CXXFLAGS="$CXXFLAGS"
  18851. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18852. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18853. /* end confdefs.h. */
  18854. #include <iterator>
  18855. #include <algorithm>
  18856. int
  18857. main ()
  18858. {
  18859. int array[5] = {3, 1, 5, 2, 4};
  18860. std::sort(std::begin(array), std::end(array));
  18861. ;
  18862. return 0;
  18863. }
  18864. _ACEOF
  18865. if ac_fn_cxx_try_compile "$LINENO"; then :
  18866. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18867. $as_echo "yes" >&6; }
  18868. have_cxx11_begin_end=yes
  18869. else
  18870. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18871. $as_echo "no" >&6; }
  18872. fi
  18873. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18874. CXXFLAGS="$old_CXXFLAGS"
  18875. ac_ext=cpp
  18876. ac_cpp='$CXXCPP $CPPFLAGS'
  18877. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18878. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18879. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18880. if test "x$have_cxx11_begin_end" != "xyes"; then :
  18881. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 std::begin/end support" >&5
  18882. $as_echo "$as_me: WARNING: libMesh requires C++11 std::begin/end support" >&2;}
  18883. have_cxx_all=no
  18884. fi
  18885. have_cxx11_container_erase=no
  18886. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std container erase() functions returning iterators" >&5
  18887. $as_echo_n "checking for C++11 std container erase() functions returning iterators... " >&6; }
  18888. ac_ext=cpp
  18889. ac_cpp='$CXXCPP $CPPFLAGS'
  18890. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18891. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18892. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18893. old_CXXFLAGS="$CXXFLAGS"
  18894. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18895. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18896. /* end confdefs.h. */
  18897. #include <map>
  18898. #include <set>
  18899. int
  18900. main ()
  18901. {
  18902. {
  18903. std::map<int, int> m;
  18904. m.insert(std::make_pair(1,2));
  18905. std::map<int, int>::iterator it = m.erase(m.begin());
  18906. }
  18907. {
  18908. std::set<int> s;
  18909. s.insert(1);
  18910. std::set<int>::iterator it = s.erase(s.begin());
  18911. }
  18912. {
  18913. std::multimap<int, int> m;
  18914. m.insert(std::make_pair(1,2));
  18915. std::multimap<int, int>::iterator it = m.erase(m.begin());
  18916. }
  18917. {
  18918. std::multiset<int> s;
  18919. s.insert(1);
  18920. std::multiset<int>::iterator it = s.erase(s.begin());
  18921. }
  18922. ;
  18923. return 0;
  18924. }
  18925. _ACEOF
  18926. if ac_fn_cxx_try_compile "$LINENO"; then :
  18927. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18928. $as_echo "yes" >&6; }
  18929. have_cxx11_container_erase=yes
  18930. else
  18931. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18932. $as_echo "no" >&6; }
  18933. fi
  18934. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  18935. CXXFLAGS="$old_CXXFLAGS"
  18936. ac_ext=cpp
  18937. ac_cpp='$CXXCPP $CPPFLAGS'
  18938. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18939. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18940. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18941. if test "x$have_cxx11_container_erase" != "xyes"; then :
  18942. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std container erase() functions returning iterators" >&5
  18943. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std container erase() functions returning iterators" >&2;}
  18944. have_cxx_all=no
  18945. fi
  18946. have_cxx11_container_emplace=no
  18947. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std container emplace() functions" >&5
  18948. $as_echo_n "checking for C++11 std container emplace() functions... " >&6; }
  18949. ac_ext=cpp
  18950. ac_cpp='$CXXCPP $CPPFLAGS'
  18951. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  18952. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  18953. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  18954. old_CXXFLAGS="$CXXFLAGS"
  18955. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  18956. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  18957. /* end confdefs.h. */
  18958. #include <map>
  18959. #include <set>
  18960. #include <vector>
  18961. int
  18962. main ()
  18963. {
  18964. {
  18965. std::map<int, int> m;
  18966. m.emplace(1,2);
  18967. m.emplace_hint(m.begin(), 0, 3);
  18968. }
  18969. {
  18970. std::set<int> s;
  18971. s.emplace(1);
  18972. s.emplace_hint(s.begin(), 0);
  18973. }
  18974. {
  18975. std::multimap<int, int> m;
  18976. m.emplace(1,2);
  18977. m.emplace_hint(m.begin(), 0, 3);
  18978. }
  18979. {
  18980. std::multiset<int> s;
  18981. s.emplace(1);
  18982. s.emplace_hint(s.begin(), 0);
  18983. }
  18984. {
  18985. std::vector<int> v;
  18986. v.emplace(v.begin(), 0);
  18987. v.emplace_back(1);
  18988. }
  18989. ;
  18990. return 0;
  18991. }
  18992. _ACEOF
  18993. if ac_fn_cxx_try_compile "$LINENO"; then :
  18994. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  18995. $as_echo "yes" >&6; }
  18996. have_cxx11_container_emplace=yes
  18997. else
  18998. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  18999. $as_echo "no" >&6; }
  19000. fi
  19001. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19002. CXXFLAGS="$old_CXXFLAGS"
  19003. ac_ext=cpp
  19004. ac_cpp='$CXXCPP $CPPFLAGS'
  19005. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19006. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19007. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19008. if test "x$have_cxx11_container_emplace" != "xyes"; then :
  19009. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std container emplace() functions" >&5
  19010. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std container emplace() functions" >&2;}
  19011. have_cxx_all=no
  19012. fi
  19013. have_cxx11_iota=no
  19014. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::iota algorithm" >&5
  19015. $as_echo_n "checking for C++11 std::iota algorithm... " >&6; }
  19016. ac_ext=cpp
  19017. ac_cpp='$CXXCPP $CPPFLAGS'
  19018. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19019. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19020. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19021. old_CXXFLAGS="$CXXFLAGS"
  19022. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19023. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19024. /* end confdefs.h. */
  19025. #include <vector>
  19026. #include <numeric>
  19027. int
  19028. main ()
  19029. {
  19030. std::vector<int> v(10);
  19031. std::iota(v.begin(), v.end(), 0);
  19032. ;
  19033. return 0;
  19034. }
  19035. _ACEOF
  19036. if ac_fn_cxx_try_compile "$LINENO"; then :
  19037. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19038. $as_echo "yes" >&6; }
  19039. have_cxx11_iota=yes
  19040. else
  19041. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19042. $as_echo "no" >&6; }
  19043. fi
  19044. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19045. CXXFLAGS="$old_CXXFLAGS"
  19046. ac_ext=cpp
  19047. ac_cpp='$CXXCPP $CPPFLAGS'
  19048. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19049. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19050. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19051. if test "x$have_cxx11_iota" != "xyes"; then :
  19052. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::iota" >&5
  19053. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::iota" >&2;}
  19054. have_cxx_all=no
  19055. fi
  19056. have_cxx11_vector_data=no
  19057. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::vector::data() API" >&5
  19058. $as_echo_n "checking for C++11 std::vector::data() API... " >&6; }
  19059. ac_ext=cpp
  19060. ac_cpp='$CXXCPP $CPPFLAGS'
  19061. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19062. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19063. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19064. old_CXXFLAGS="$CXXFLAGS"
  19065. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19066. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19067. /* end confdefs.h. */
  19068. #include <vector>
  19069. int
  19070. main ()
  19071. {
  19072. std::vector<int> v(10);
  19073. int * begin = v.data();
  19074. ;
  19075. return 0;
  19076. }
  19077. _ACEOF
  19078. if ac_fn_cxx_try_compile "$LINENO"; then :
  19079. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19080. $as_echo "yes" >&6; }
  19081. have_cxx11_vector_data=yes
  19082. else
  19083. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19084. $as_echo "no" >&6; }
  19085. fi
  19086. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19087. CXXFLAGS="$old_CXXFLAGS"
  19088. ac_ext=cpp
  19089. ac_cpp='$CXXCPP $CPPFLAGS'
  19090. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19091. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19092. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19093. if test "x$have_cxx11_vector_data" != "xyes"; then :
  19094. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::vector::data()" >&5
  19095. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::vector::data()" >&2;}
  19096. have_cxx_all=no
  19097. fi
  19098. have_cxx11_shared_ptr=no
  19099. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::shared_ptr support" >&5
  19100. $as_echo_n "checking for C++11 std::shared_ptr support... " >&6; }
  19101. ac_ext=cpp
  19102. ac_cpp='$CXXCPP $CPPFLAGS'
  19103. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19104. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19105. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19106. # Save any original value that CXXFLAGS had
  19107. old_CXXFLAGS="$CXXFLAGS"
  19108. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19109. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19110. /* end confdefs.h. */
  19111. #include <memory>
  19112. int
  19113. main ()
  19114. {
  19115. std::shared_ptr<int> p1;
  19116. std::shared_ptr<int> p2 (new int);
  19117. std::shared_ptr<int> p3 (p2);
  19118. p3.reset(new int);
  19119. p3 = std::make_shared<int>(5);
  19120. ;
  19121. return 0;
  19122. }
  19123. _ACEOF
  19124. if ac_fn_cxx_try_compile "$LINENO"; then :
  19125. have_cxx11_shared_ptr=yes
  19126. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19127. $as_echo "yes" >&6; }
  19128. else
  19129. have_cxx11_shared_ptr=no
  19130. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19131. $as_echo "no" >&6; }
  19132. fi
  19133. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19134. if test "x$have_cxx11_shared_ptr" = "xyes"; then :
  19135. $as_echo "#define HAVE_CXX11_SHARED_PTR 1" >>confdefs.h
  19136. fi
  19137. # Reset the flags
  19138. CXXFLAGS="$old_CXXFLAGS"
  19139. ac_ext=cpp
  19140. ac_cpp='$CXXCPP $CPPFLAGS'
  19141. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19142. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19143. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19144. if test x$have_cxx11_shared_ptr == xyes; then
  19145. HAVE_CXX11_SHARED_PTR_TRUE=
  19146. HAVE_CXX11_SHARED_PTR_FALSE='#'
  19147. else
  19148. HAVE_CXX11_SHARED_PTR_TRUE='#'
  19149. HAVE_CXX11_SHARED_PTR_FALSE=
  19150. fi
  19151. if test "x$have_cxx11_shared_ptr" != "xyes"; then :
  19152. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::shared_ptr" >&5
  19153. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::shared_ptr" >&2;}
  19154. have_cxx_all=no
  19155. fi
  19156. have_cxx11_rvalue_references=no
  19157. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 rvalue references support" >&5
  19158. $as_echo_n "checking for C++11 rvalue references support... " >&6; }
  19159. ac_ext=cpp
  19160. ac_cpp='$CXXCPP $CPPFLAGS'
  19161. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19162. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19163. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19164. old_CXXFLAGS="$CXXFLAGS"
  19165. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19166. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19167. /* end confdefs.h. */
  19168. int foo(int && x) { return x; }
  19169. int bar() { return 4; }
  19170. int
  19171. main ()
  19172. {
  19173. // Call function that takes an rvalue reference.
  19174. foo (bar());
  19175. ;
  19176. return 0;
  19177. }
  19178. _ACEOF
  19179. if ac_fn_cxx_try_compile "$LINENO"; then :
  19180. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19181. $as_echo "yes" >&6; }
  19182. $as_echo "#define HAVE_CXX11_RVALUE_REFERENCES 1" >>confdefs.h
  19183. have_cxx11_rvalue_references=yes
  19184. else
  19185. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19186. $as_echo "no" >&6; }
  19187. fi
  19188. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19189. # Reset the flags
  19190. CXXFLAGS="$old_CXXFLAGS"
  19191. ac_ext=cpp
  19192. ac_cpp='$CXXCPP $CPPFLAGS'
  19193. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19194. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19195. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19196. if test x$have_cxx11_rvalue_references == xyes; then
  19197. HAVE_CXX11_RVALUE_REFERENCES_TRUE=
  19198. HAVE_CXX11_RVALUE_REFERENCES_FALSE='#'
  19199. else
  19200. HAVE_CXX11_RVALUE_REFERENCES_TRUE='#'
  19201. HAVE_CXX11_RVALUE_REFERENCES_FALSE=
  19202. fi
  19203. if test "x$have_cxx11_rvalue_references" != "xyes"; then :
  19204. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for rvalue references" >&5
  19205. $as_echo "$as_me: WARNING: libMesh requires C++11 support for rvalue references" >&2;}
  19206. have_cxx_all=no
  19207. fi
  19208. have_cxx11_to_string=no
  19209. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::to_string() support" >&5
  19210. $as_echo_n "checking for C++11 std::to_string() support... " >&6; }
  19211. ac_ext=cpp
  19212. ac_cpp='$CXXCPP $CPPFLAGS'
  19213. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19214. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19215. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19216. old_CXXFLAGS="$CXXFLAGS"
  19217. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19218. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19219. /* end confdefs.h. */
  19220. #include <string>
  19221. int
  19222. main ()
  19223. {
  19224. // tiny="0.000000". Note: std::to_string(double) is required to produce
  19225. // a std::string with the same contents as std::sprintf(buf, "%f", value)
  19226. // would produce, given a sufficiently large buf. This is *different* from
  19227. // what you get from a std::stringstream using default formatting and
  19228. // precision flags, i.e.
  19229. // std::ostringstream oss;
  19230. // oss << 1.e-40;
  19231. // std::string tiny = oss.str();
  19232. // will produce the string "1e-40".
  19233. std::string tiny = std::to_string(1.e-40);
  19234. ;
  19235. return 0;
  19236. }
  19237. _ACEOF
  19238. if ac_fn_cxx_try_compile "$LINENO"; then :
  19239. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19240. $as_echo "yes" >&6; }
  19241. $as_echo "#define HAVE_CXX11_TO_STRING 1" >>confdefs.h
  19242. have_cxx11_to_string=yes
  19243. else
  19244. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19245. $as_echo "no" >&6; }
  19246. fi
  19247. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19248. # Reset the flags
  19249. CXXFLAGS="$old_CXXFLAGS"
  19250. ac_ext=cpp
  19251. ac_cpp='$CXXCPP $CPPFLAGS'
  19252. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19253. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19254. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19255. if test x$have_cxx11_to_string == xyes; then
  19256. HAVE_CXX11_TO_STRING_TRUE=
  19257. HAVE_CXX11_TO_STRING_FALSE='#'
  19258. else
  19259. HAVE_CXX11_TO_STRING_TRUE='#'
  19260. HAVE_CXX11_TO_STRING_FALSE=
  19261. fi
  19262. if test "x$have_cxx11_to_string" != "xyes"; then :
  19263. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::to_string()" >&5
  19264. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::to_string()" >&2;}
  19265. have_cxx_all=no
  19266. fi
  19267. have_cxx11_constexpr=no
  19268. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 constexpr support" >&5
  19269. $as_echo_n "checking for C++11 constexpr support... " >&6; }
  19270. ac_ext=cpp
  19271. ac_cpp='$CXXCPP $CPPFLAGS'
  19272. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19273. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19274. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19275. old_CXXFLAGS="$CXXFLAGS"
  19276. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19277. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19278. /* end confdefs.h. */
  19279. constexpr int multiply (int x, int y) { return x * y; }
  19280. int
  19281. main ()
  19282. {
  19283. // The compiler should compute "val" at compile time.
  19284. const int val = multiply(10, 10);
  19285. ;
  19286. return 0;
  19287. }
  19288. _ACEOF
  19289. if ac_fn_cxx_try_compile "$LINENO"; then :
  19290. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19291. $as_echo "yes" >&6; }
  19292. $as_echo "#define HAVE_CXX11_CONSTEXPR 1" >>confdefs.h
  19293. have_cxx11_constexpr=yes
  19294. else
  19295. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19296. $as_echo "no" >&6; }
  19297. fi
  19298. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19299. # Reset the flags
  19300. CXXFLAGS="$old_CXXFLAGS"
  19301. ac_ext=cpp
  19302. ac_cpp='$CXXCPP $CPPFLAGS'
  19303. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19304. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19305. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19306. if test x$have_cxx11_constexpr == xyes; then
  19307. HAVE_CXX11_CONSTEXPR_TRUE=
  19308. HAVE_CXX11_CONSTEXPR_FALSE='#'
  19309. else
  19310. HAVE_CXX11_CONSTEXPR_TRUE='#'
  19311. HAVE_CXX11_CONSTEXPR_FALSE=
  19312. fi
  19313. if test "x$have_cxx11_constexpr" != "xyes"; then :
  19314. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for constexpr" >&5
  19315. $as_echo "$as_me: WARNING: libMesh requires C++11 support for constexpr" >&2;}
  19316. have_cxx_all=no
  19317. fi
  19318. have_cxx11_variadic_templates=no
  19319. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 variadic template support" >&5
  19320. $as_echo_n "checking for C++11 variadic template support... " >&6; }
  19321. ac_ext=cpp
  19322. ac_cpp='$CXXCPP $CPPFLAGS'
  19323. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19324. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19325. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19326. old_CXXFLAGS="$CXXFLAGS"
  19327. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19328. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19329. /* end confdefs.h. */
  19330. // Base case
  19331. template <typename T>
  19332. T sum(T t) { return t; }
  19333. // Compute sum of arbitrary number of passed parameters.
  19334. template <typename T, typename ...P>
  19335. T sum(T t, P ...p)
  19336. {
  19337. t += sum(p...);
  19338. return t;
  19339. }
  19340. int
  19341. main ()
  19342. {
  19343. sum(1, 2, 3, 4, 5);
  19344. ;
  19345. return 0;
  19346. }
  19347. _ACEOF
  19348. if ac_fn_cxx_try_compile "$LINENO"; then :
  19349. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19350. $as_echo "yes" >&6; }
  19351. $as_echo "#define HAVE_CXX11_VARIADIC_TEMPLATES 1" >>confdefs.h
  19352. have_cxx11_variadic_templates=yes
  19353. else
  19354. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19355. $as_echo "no" >&6; }
  19356. fi
  19357. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19358. # Reset the flags
  19359. CXXFLAGS="$old_CXXFLAGS"
  19360. ac_ext=cpp
  19361. ac_cpp='$CXXCPP $CPPFLAGS'
  19362. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19363. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19364. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19365. if test x$have_cxx11_variadic_templates == xyes; then
  19366. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE=
  19367. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE='#'
  19368. else
  19369. HAVE_CXX11_VARIADIC_TEMPLATES_TRUE='#'
  19370. HAVE_CXX11_VARIADIC_TEMPLATES_FALSE=
  19371. fi
  19372. if test "x$have_cxx11_variadic_templates" != "xyes"; then :
  19373. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for variadic templates" >&5
  19374. $as_echo "$as_me: WARNING: libMesh requires C++11 support for variadic templates" >&2;}
  19375. have_cxx_all=no
  19376. fi
  19377. have_cxx11_alias_declarations=no
  19378. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 alias declarations support" >&5
  19379. $as_echo_n "checking for C++11 alias declarations support... " >&6; }
  19380. ac_ext=cpp
  19381. ac_cpp='$CXXCPP $CPPFLAGS'
  19382. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19383. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19384. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19385. old_CXXFLAGS="$CXXFLAGS"
  19386. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19387. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19388. /* end confdefs.h. */
  19389. template <typename T>
  19390. struct check
  19391. {
  19392. T t;
  19393. };
  19394. // An alias declaration is like a templated typedef
  19395. template <typename T>
  19396. using MyCheck = check<T>;
  19397. int
  19398. main ()
  19399. {
  19400. MyCheck<int> mc;
  19401. ;
  19402. return 0;
  19403. }
  19404. _ACEOF
  19405. if ac_fn_cxx_try_compile "$LINENO"; then :
  19406. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19407. $as_echo "yes" >&6; }
  19408. $as_echo "#define HAVE_CXX11_ALIAS_DECLARATIONS 1" >>confdefs.h
  19409. have_cxx11_alias_declarations=yes
  19410. else
  19411. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19412. $as_echo "no" >&6; }
  19413. fi
  19414. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19415. # Reset the flags
  19416. CXXFLAGS="$old_CXXFLAGS"
  19417. ac_ext=cpp
  19418. ac_cpp='$CXXCPP $CPPFLAGS'
  19419. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19420. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19421. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19422. if test x$have_cxx11_alias_declarations == xyes; then
  19423. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE=
  19424. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE='#'
  19425. else
  19426. HAVE_CXX11_ALIAS_DECLARATIONS_TRUE='#'
  19427. HAVE_CXX11_ALIAS_DECLARATIONS_FALSE=
  19428. fi
  19429. if test "x$have_cxx11_alias_declarations" != "xyes"; then :
  19430. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for alias declarations" >&5
  19431. $as_echo "$as_me: WARNING: libMesh requires C++11 support for alias declarations" >&2;}
  19432. have_cxx_all=no
  19433. fi
  19434. have_cxx11_array=no
  19435. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::array" >&5
  19436. $as_echo_n "checking for C++11 std::array... " >&6; }
  19437. ac_ext=cpp
  19438. ac_cpp='$CXXCPP $CPPFLAGS'
  19439. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19440. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19441. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19442. old_CXXFLAGS="$CXXFLAGS"
  19443. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19444. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19445. /* end confdefs.h. */
  19446. #include <array>
  19447. int
  19448. main ()
  19449. {
  19450. std::array<double, 4> a;
  19451. a[0] = 42.0;
  19452. double * begin = a.data();
  19453. ;
  19454. return 0;
  19455. }
  19456. _ACEOF
  19457. if ac_fn_cxx_try_compile "$LINENO"; then :
  19458. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19459. $as_echo "yes" >&6; }
  19460. have_cxx11_array=yes
  19461. else
  19462. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19463. $as_echo "no" >&6; }
  19464. fi
  19465. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19466. CXXFLAGS="$old_CXXFLAGS"
  19467. ac_ext=cpp
  19468. ac_cpp='$CXXCPP $CPPFLAGS'
  19469. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19470. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19471. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19472. if test "x$have_cxx11_array" != "xyes"; then :
  19473. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::array" >&5
  19474. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::array" >&2;}
  19475. have_cxx_all=no
  19476. fi
  19477. have_cxx11_isnan=no
  19478. have_cxx11_isinf=no
  19479. ac_ext=cpp
  19480. ac_cpp='$CXXCPP $CPPFLAGS'
  19481. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19482. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19483. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19484. old_CXXFLAGS="$CXXFLAGS"
  19485. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  19486. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::isnan" >&5
  19487. $as_echo_n "checking for C++11 std::isnan... " >&6; }
  19488. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19489. /* end confdefs.h. */
  19490. #include <cmath>
  19491. int
  19492. main ()
  19493. {
  19494. if (std::isnan(0.0))
  19495. return 1;
  19496. ;
  19497. return 0;
  19498. }
  19499. _ACEOF
  19500. if ac_fn_cxx_try_compile "$LINENO"; then :
  19501. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19502. $as_echo "yes" >&6; }
  19503. have_cxx11_isnan=yes
  19504. else
  19505. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19506. $as_echo "no" >&6; }
  19507. fi
  19508. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19509. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::isinf" >&5
  19510. $as_echo_n "checking for C++11 std::isinf... " >&6; }
  19511. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19512. /* end confdefs.h. */
  19513. #include <cmath>
  19514. int
  19515. main ()
  19516. {
  19517. if (std::isinf(0.0))
  19518. return 1;
  19519. ;
  19520. return 0;
  19521. }
  19522. _ACEOF
  19523. if ac_fn_cxx_try_compile "$LINENO"; then :
  19524. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19525. $as_echo "yes" >&6; }
  19526. have_cxx11_isinf=yes
  19527. else
  19528. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19529. $as_echo "no" >&6; }
  19530. fi
  19531. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19532. CXXFLAGS="$old_CXXFLAGS"
  19533. ac_ext=cpp
  19534. ac_cpp='$CXXCPP $CPPFLAGS'
  19535. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19536. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19537. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19538. if test "x$have_cxx11_isnan" != "xyes"; then :
  19539. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::isnan" >&5
  19540. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::isnan" >&2;}
  19541. have_cxx_all=no
  19542. fi
  19543. if test "x$have_cxx11_isinf" != "xyes"; then :
  19544. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libMesh requires C++11 support for std::isinf" >&5
  19545. $as_echo "$as_me: WARNING: libMesh requires C++11 support for std::isinf" >&2;}
  19546. have_cxx_all=no
  19547. fi
  19548. fi
  19549. if test "$HAVE_CXX11" = "1" -a "x$have_cxx_all" = xyes; then :
  19550. { $as_echo "$as_me:${as_lineno-$LINENO}: Found C++11 standard support" >&5
  19551. $as_echo "$as_me: Found C++11 standard support" >&6;}
  19552. if test $acsm_found_cxx -eq 0; then :
  19553. acsm_cxx_version=11
  19554. fi
  19555. acsm_found_cxx=1
  19556. else
  19557. CXX="$acsm_backup_CXX"
  19558. CXXCPP="$acsm_backup_CXXCPP"
  19559. if test "$HAVE_CXX11" = "0"; then :
  19560. { $as_echo "$as_me:${as_lineno-$LINENO}: Did not find C++11 standard support" >&5
  19561. $as_echo "$as_me: Did not find C++11 standard support" >&6;}
  19562. fi
  19563. fi
  19564. fi
  19565. if test "$acsm_found_cxx" = "1"; then :
  19566. { $as_echo "$as_me:${as_lineno-$LINENO}: Using support for C++$acsm_cxx_version standard" >&5
  19567. $as_echo "$as_me: Using support for C++$acsm_cxx_version standard" >&6;}
  19568. else
  19569. as_fn_error $? "Could not find support for an acceptable C++ standard" "$LINENO" 5
  19570. fi
  19571. # --------------------------------------------------------------
  19572. # See compiler.m4 for the definition of this function. It uses the
  19573. # output of DETERMINE_CXX_BRAND to set special flags for idiosyncratic
  19574. # compilers. For example, newer versions of GCC have additional C++ debugging
  19575. # flags like _GLIBCXX_DEBUG_PEDANTIC which were not present in older versions.
  19576. # --------------------------------------------------------------
  19577. # method-specific preprocessor flags, independent of compiler.
  19578. CPPFLAGS_OPT="-DNDEBUG"
  19579. CPPFLAGS_DBG="-DDEBUG"
  19580. CPPFLAGS_DEVEL=""
  19581. # Flag to add directories to the dynamic library search path; can
  19582. # be changed at a later stage
  19583. RPATHFLAG="-Wl,-rpath,"
  19584. # Flag for profiling mode; can be modified at a later stage
  19585. PROFILING_FLAGS="-pg"
  19586. # Flag for assembly-output mode; can be modified at a later stage
  19587. ASSEMBLY_FLAGS="-S"
  19588. # Flag to turn warnings into errors; can be modified at a later stage
  19589. WERROR_FLAGS="-Werror"
  19590. # Flags to add every additional warning we expect the library itself
  19591. # to not trigger
  19592. #
  19593. # These can be fairly compiler-specific so the default is blank: we
  19594. # only add warnings within specific compiler version tests.
  19595. PARANOID_FLAGS=""
  19596. # The -g flag is necessary for OProfile to produce annotations
  19597. # -fno-omit-frame-pointer flag turns off an optimization that
  19598. # interferes with OProfile callgraphs
  19599. OPROFILE_FLAGS="-g -fno-omit-frame-pointer"
  19600. # For compilers that support it (clang >= 3.5.0 and GCC >= 4.8) the
  19601. # user can selectively enable "sanitize" flags for different METHODs
  19602. # with e.g.
  19603. #
  19604. # --enable-sanitize="dbg opt"
  19605. #
  19606. # These flags generally slow down code execution, so you don't
  19607. # necessarily want to turn them on all the time or in all METHODs.
  19608. # Declaring something AC_ARG_VAR does several things, see
  19609. # http://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/Setting-Output-Variables.html
  19610. # for more information... not sure we need it in this case.
  19611. # AC_ARG_VAR([SANITIZE_METHODS], [methods we apply sanitizer flags to, e.g. "opt dbg devel"])
  19612. # Check whether --enable-sanitize was given.
  19613. if test "${enable_sanitize+set}" = set; then :
  19614. enableval=$enable_sanitize; for method in ${enableval} ; do
  19615. case "${method}" in #(
  19616. optimized|opt|debug|dbg|devel|profiling|pro|prof|oprofile|oprof) :
  19617. ;; #(
  19618. *) :
  19619. as_fn_error $? "bad value ${method} for --enable-sanitize" "$LINENO" 5 ;;
  19620. esac
  19621. done
  19622. SANITIZE_METHODS=${enableval}
  19623. fi
  19624. if test "x$SANITIZE_METHODS" != x; then :
  19625. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Testing sanitizer flags for method(s) \"$SANITIZE_METHODS\" >>>" >&5
  19626. $as_echo "<<< Testing sanitizer flags for method(s) \"$SANITIZE_METHODS\" >>>" >&6; }
  19627. COMMON_SANITIZE_OPTIONS="-fsanitize=address -fno-omit-frame-pointer -O1 -g -fno-optimize-sibling-calls"
  19628. # Save current lang and CXXFLAGS values
  19629. ac_ext=cpp
  19630. ac_cpp='$CXXCPP $CPPFLAGS'
  19631. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19632. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19633. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19634. saveCXXFLAGS="$CXXFLAGS"
  19635. # Set CXXFLAGS to be used for the test compilation. Note:
  19636. # we don't test these flags in conjunction with any
  19637. # others... that doesn't seem to be necessary yet.
  19638. CXXFLAGS="$COMMON_SANITIZE_OPTIONS"
  19639. # Tell the user what we are doing
  19640. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler has support for address sanitizer" >&5
  19641. $as_echo_n "checking if compiler has support for address sanitizer... " >&6; }
  19642. # Try compiling and running a simple main program with
  19643. # sanitizer flags. Since address sanitizer requires
  19644. # library-level support, we want to be sure that a compiled
  19645. # executable can run, not just that the compiler accepts the
  19646. # sanitizer flags. This program does not actually have a
  19647. # memory error, otherwise configure would consider the test
  19648. # to have failed...
  19649. if test "$cross_compiling" = yes; then :
  19650. # Result if cross-compiling
  19651. have_address_sanitizer=no
  19652. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19653. $as_echo "no" >&6; }
  19654. else
  19655. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19656. /* end confdefs.h. */
  19657. int
  19658. main ()
  19659. {
  19660. int *array = new int[100];
  19661. delete [] array;
  19662. ;
  19663. return 0;
  19664. }
  19665. _ACEOF
  19666. if ac_fn_cxx_try_run "$LINENO"; then :
  19667. # Result if program succeeds
  19668. have_address_sanitizer=yes
  19669. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  19670. $as_echo "yes" >&6; }
  19671. else
  19672. # Result if program fails
  19673. have_address_sanitizer=no
  19674. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19675. $as_echo "no" >&6; }
  19676. fi
  19677. rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  19678. conftest.$ac_objext conftest.beam conftest.$ac_ext
  19679. fi
  19680. # Restore the original lang and flags
  19681. CXXFLAGS="$saveCXXFLAGS"
  19682. ac_ext=cpp
  19683. ac_cpp='$CXXCPP $CPPFLAGS'
  19684. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19685. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19686. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19687. if test "x$have_address_sanitizer" = xyes; then :
  19688. libmesh_LDFLAGS="$libmesh_LDFLAGS -Wc,-fsanitize=address"
  19689. for method in ${SANITIZE_METHODS}; do
  19690. case "${method}" in #(
  19691. optimized|opt) :
  19692. SANITIZE_OPT_FLAGS=$COMMON_SANITIZE_OPTIONS ;; #(
  19693. debug|dbg) :
  19694. SANITIZE_DBG_FLAGS=$COMMON_SANITIZE_OPTIONS ;; #(
  19695. devel) :
  19696. SANITIZE_DEVEL_FLAGS=$COMMON_SANITIZE_OPTIONS ;; #(
  19697. profiling|pro|prof) :
  19698. SANITIZE_PROF_FLAGS=$COMMON_SANITIZE_OPTIONS ;; #(
  19699. oprofile|oprof) :
  19700. SANITIZE_OPROF_FLAGS=$COMMON_SANITIZE_OPTIONS ;; #(
  19701. *) :
  19702. as_fn_error $? "bad value ${method} for --enable-sanitize" "$LINENO" 5 ;;
  19703. esac
  19704. done
  19705. fi
  19706. fi
  19707. # in the case blocks below we may add GLIBCXX-specific pedantic debugging preprocessor
  19708. # definitions. Should only be used by a knowing user, because these options break
  19709. # ABI compatibility.
  19710. # Check whether --enable-glibcxx-debugging was given.
  19711. if test "${enable_glibcxx_debugging+set}" = set; then :
  19712. enableval=$enable_glibcxx_debugging; case "${enableval}" in #(
  19713. yes) :
  19714. enableglibcxxdebugging=yes ;; #(
  19715. no) :
  19716. enableglibcxxdebugging=no ;; #(
  19717. *) :
  19718. as_fn_error $? "bad value ${enableval} for --enable-glibcxx-debugging" "$LINENO" 5 ;;
  19719. esac
  19720. else
  19721. enableglibcxxdebugging=no
  19722. fi
  19723. # GLIBCXX debugging causes untold woes on mac machines - so disable it
  19724. if test `uname` = "Darwin"; then :
  19725. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Disabling GLIBCXX debugging on Darwin >>>" >&5
  19726. $as_echo "<<< Disabling GLIBCXX debugging on Darwin >>>" >&6; }
  19727. enableglibcxxdebugging=no
  19728. fi
  19729. if test x$enableglibcxxdebugging = xyes; then
  19730. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_TRUE=
  19731. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_FALSE='#'
  19732. else
  19733. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_TRUE='#'
  19734. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_FALSE=
  19735. fi
  19736. # GLIBCXX-specific debugging flags conflict with cppunit on many of
  19737. # our users' systems. However, being able to override this allows
  19738. # us to increase our unit test coverage.
  19739. # Check whether --enable-glibcxx-debugging-cppunit was given.
  19740. if test "${enable_glibcxx_debugging_cppunit+set}" = set; then :
  19741. enableval=$enable_glibcxx_debugging_cppunit; case "${enableval}" in #(
  19742. yes) :
  19743. enableglibcxxdebuggingcppunit=yes ;; #(
  19744. no) :
  19745. enableglibcxxdebuggingcppunit=no ;; #(
  19746. *) :
  19747. as_fn_error $? "bad value ${enableval} for --enable-glibcxx-debugging-cppunit" "$LINENO" 5 ;;
  19748. esac
  19749. else
  19750. enableglibcxxdebuggingcppunit=no
  19751. fi
  19752. if test x$enableglibcxxdebuggingcppunit = xyes; then
  19753. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_TRUE=
  19754. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_FALSE='#'
  19755. else
  19756. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_TRUE='#'
  19757. LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_FALSE=
  19758. fi
  19759. # First the flags for gcc compilers
  19760. if test "$GXX" = "yes" && test "x$REAL_GXX" != "x"; then :
  19761. CXXFLAGS_OPT="$CXXFLAGS_OPT -O2 -felide-constructors -funroll-loops -fstrict-aliasing -Wdisabled-optimization"
  19762. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL -O2 -felide-constructors -g -pedantic -W -Wall -Wextra -Wno-long-long -Wunused"
  19763. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL -Wpointer-arith -Wformat -Wparentheses -Wuninitialized -funroll-loops -fstrict-aliasing -Woverloaded-virtual -Wdisabled-optimization"
  19764. CXXFLAGS_DBG="$CXXFLAGS_DBG -O0 -felide-constructors -g -pedantic -W -Wall -Wextra -Wno-long-long -Wunused -Wpointer-arith -Wformat -Wparentheses -Woverloaded-virtual"
  19765. NODEPRECATEDFLAG="-Wno-deprecated"
  19766. CFLAGS_OPT="-O2 -funroll-loops -fstrict-aliasing"
  19767. CFLAGS_DEVEL="$CFLAGS_OPT -g -Wimplicit -funroll-loops -fstrict-aliasing"
  19768. CFLAGS_DBG="-g -Wimplicit"
  19769. ASSEMBLY_FLAGS="$ASSEMBLY_FLAGS -fverbose-asm"
  19770. PARANOID_FLAGS="-Wall -Wextra -Wcast-align -Wcast-qual -Wdisabled-optimization -Wformat=2"
  19771. PARANOID_FLAGS="$PARANOID_FLAGS -Wformat-nonliteral -Wformat-security -Wformat-y2k"
  19772. PARANOID_FLAGS="$PARANOID_FLAGS -Winvalid-pch -Wlogical-op -Wmissing-field-initializers"
  19773. PARANOID_FLAGS="$PARANOID_FLAGS -Wmissing-include-dirs -Wpacked -Wredundant-decls"
  19774. PARANOID_FLAGS="$PARANOID_FLAGS -Wshadow -Wstack-protector -Wstrict-aliasing -Wswitch-default"
  19775. PARANOID_FLAGS="$PARANOID_FLAGS -Wtrigraphs -Wunreachable-code -Wunused-label"
  19776. PARANOID_FLAGS="$PARANOID_FLAGS -Wunused-parameter -Wunused-value -Wvariadic-macros"
  19777. PARANOID_FLAGS="$PARANOID_FLAGS -Wvolatile-register-var -Wwrite-strings"
  19778. if test "x$enableglibcxxdebugging" = "xyes"; then :
  19779. CPPFLAGS_DBG="$CPPFLAGS_DBG -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC"
  19780. fi
  19781. # GCC 4.6.3 warns about variadic macros but supports them just
  19782. # fine, so let's turn off that warning.
  19783. case "$GXX_VERSION" in #(
  19784. gcc4.6 | gcc5) :
  19785. CXXFLAGS_OPT="$CXXFLAGS_OPT -Wno-variadic-macros"
  19786. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL -Wno-variadic-macros"
  19787. CXXFLAGS_DBG="$CXXFLAGS_DBG -Wno-variadic-macros" ;; #(
  19788. *) :
  19789. ;;
  19790. esac
  19791. case "$target" in #(
  19792. *solaris*) :
  19793. RPATHFLAG="-Wl,-R,"
  19794. LIBS="-lrpcsvc $LIBS" ;; #(
  19795. *) :
  19796. ;;
  19797. esac
  19798. else
  19799. case "$GXX_VERSION" in #(
  19800. ibm_xlc) :
  19801. CXXFLAGS_OPT="-O3 -qmaxmem=-1 -w -qansialias -Q=10 -qrtti=all -qstaticinline"
  19802. CXXFLAGS_DBG="-qmaxmem=-1 -qansialias -qrtti=all -g -qstaticinline"
  19803. CXXFLAGS_DEVEL="$CXXFLAGS_DBG"
  19804. NODEPRECATEDFLAG=""
  19805. CFLAGS_OPT="-O3 -qmaxmem=-1 -w -qansialias -Q=10"
  19806. CFLAGS_DBG="-qansialias -g"
  19807. CFLAGS_DEVEL="$CFLAGS_DBG"
  19808. ;; #(
  19809. intel_*) :
  19810. NODEPRECATEDFLAG="-Wno-deprecated"
  19811. PROFILING_FLAGS="-qp"
  19812. ASSEMBLY_FLAGS="$ASSEMBLY_FLAGS -fverbose-asm -fsource-asm"
  19813. OPROFILE_FLAGS="-g"
  19814. PARANOID_FLAGS="-Wall -Wextra -Wdisabled-optimization -Wformat=2"
  19815. PARANOID_FLAGS="$PARANOID_FLAGS -Wformat-security"
  19816. PARANOID_FLAGS="$PARANOID_FLAGS -Winvalid-pch"
  19817. PARANOID_FLAGS="$PARANOID_FLAGS -Wmissing-include-dirs"
  19818. PARANOID_FLAGS="$PARANOID_FLAGS -Wtrigraphs"
  19819. PARANOID_FLAGS="$PARANOID_FLAGS -Wunused-parameter"
  19820. PARANOID_FLAGS="$PARANOID_FLAGS -Wwrite-strings"
  19821. case "$GXX_VERSION" in #(
  19822. intel_icc_v13.x | intel_icc_v14.x | intel_icc_v15.x | intel_icc_v16.x | intel_icc_v17.x | intel_icc_v18.x | intel_icc_v19.x | intel_icc_v20.x) :
  19823. PROFILING_FLAGS="-p"
  19824. CXXFLAGS_DBG="$CXXFLAGS_DBG -w1 -g -wd175 -wd1476 -wd1505 -wd1572 -wd488 -wd161"
  19825. CXXFLAGS_OPT="$CXXFLAGS_OPT -O3 -unroll -w0 -ftz"
  19826. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL -w1 -g -wd175 -wd1476 -wd1505 -wd1572 -wd488 -wd161"
  19827. CFLAGS_DBG="$CFLAGS_DBG -w1 -g -wd266 -wd1572 -wd488 -wd161"
  19828. CFLAGS_OPT="$CFLAGS_OPT -O3 -unroll -w0 -ftz"
  19829. CFLAGS_DEVEL="$CFLAGS_DBG"
  19830. ;; #(
  19831. *) :
  19832. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unknown Intel compiler" >&5
  19833. $as_echo "Unknown Intel compiler" >&6; } ;;
  19834. esac
  19835. ;; #(
  19836. portland_group) :
  19837. CXXFLAGS_DBG="$CXXFLAGS_DBG -g --no_using_std"
  19838. CXXFLAGS_OPT="$CXXFLAGS_OPT -O2 --no_using_std -fast -Minform=severe"
  19839. CXXFLAGS_DEVEL="$CXXFLAGS_DBG"
  19840. NODEPRECATEDFLAG=""
  19841. CFLAGS_DBG="$CFLAGS_DBG -g"
  19842. CFLAGS_OPT="$CFLAGS_OPT -O2"
  19843. CFLAGS_DEVEL="$CFLAGS_DBG"
  19844. if test "$enableexceptions" = no; then :
  19845. CXXFLAGS_DBG="$CXXFLAGS_DBG --no_exceptions"
  19846. CXXFLAGS_OPT="$CXXFLAGS_OPT --no_exceptions"
  19847. fi
  19848. ;; #(
  19849. cray_cc) :
  19850. CXXFLAGS_DBG="-h conform,one_instantiation_per_object,instantiate=used,noimplicitinclude -G n"
  19851. CXXFLAGS_OPT="-h conform,one_instantiation_per_object,instantiate=used,noimplicitinclude -G n"
  19852. CXXFLAGS_DEVEL="-h conform,one_instantiation_per_object,instantiate=used,noimplicitinclude -G n"
  19853. NODEPRECATEDFLAG=""
  19854. CFLAGS_DBG="-G n"
  19855. CFLAGS_OPT="-G n"
  19856. CFLAGS_DEVEL="-G n"
  19857. ;; #(
  19858. clang) :
  19859. CXXFLAGS_OPT="$CXXFLAGS_OPT -O2 -felide-constructors -Qunused-arguments -Wunused-parameter -Wunused"
  19860. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL -O2 -felide-constructors -g -pedantic -W -Wall -Wextra -Wno-long-long"
  19861. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL -Wunused-parameter -Wunused -Wpointer-arith -Wformat -Wparentheses -Wuninitialized -Qunused-arguments -Woverloaded-virtual -fno-limit-debug-info"
  19862. CXXFLAGS_DBG="$CXXFLAGS_DBG -O0 -felide-constructors -g -pedantic -W -Wall -Wextra -Wno-long-long"
  19863. CXXFLAGS_DBG="$CXXFLAGS_DBG -Wunused-parameter -Wunused -Wpointer-arith -Wformat -Wparentheses -Qunused-arguments -Woverloaded-virtual -fno-limit-debug-info"
  19864. NODEPRECATEDFLAG="-Wno-deprecated"
  19865. PARANOID_FLAGS="-Wall -Wextra -Wcast-align -Wdisabled-optimization -Wformat=2"
  19866. PARANOID_FLAGS="$PARANOID_FLAGS -Wformat-nonliteral -Wformat-security -Wformat-y2k"
  19867. PARANOID_FLAGS="$PARANOID_FLAGS -Winvalid-pch -Wmissing-field-initializers"
  19868. PARANOID_FLAGS="$PARANOID_FLAGS -Wmissing-include-dirs -Wpacked"
  19869. PARANOID_FLAGS="$PARANOID_FLAGS -Wstack-protector -Wtrigraphs"
  19870. PARANOID_FLAGS="$PARANOID_FLAGS -Wunreachable-code -Wunused-label"
  19871. PARANOID_FLAGS="$PARANOID_FLAGS -Wunused-parameter -Wunused-value -Wvariadic-macros"
  19872. PARANOID_FLAGS="$PARANOID_FLAGS -Wvolatile-register-var -Wwrite-strings"
  19873. CFLAGS_OPT="-O2 -Qunused-arguments -Wunused"
  19874. CFLAGS_DEVEL="$CFLAGS_OPT -g -Wimplicit -fno-limit-debug-info -Wunused"
  19875. CFLAGS_DBG="-g -Wimplicit -Qunused-arguments -fno-limit-debug-info -Wunused"
  19876. ;; #(
  19877. *) :
  19878. { $as_echo "$as_me:${as_lineno-$LINENO}: result: No specific options for this C++ compiler known" >&5
  19879. $as_echo "No specific options for this C++ compiler known" >&6; }
  19880. CXXFLAGS_DBG="$CXXFLAGS"
  19881. CXXFLAGS_OPT="$CXXFLAGS"
  19882. CXXFLAGS_DEVEL="$CXXFLAGS"
  19883. NODEPRECATEDFLAG=""
  19884. CFLAGS_DBG="$CFLAGS"
  19885. CFLAGS_OPT="$CFLAGS"
  19886. CFLAGS_DEVEL="$CFLAGS"
  19887. ;;
  19888. esac
  19889. fi
  19890. #------------------------------------------------------
  19891. # Checks for code coverage
  19892. # this must be done after we look for our own compilers
  19893. #------------------------------------------------------
  19894. # Check whether --enable-coverage was given.
  19895. if test "${enable_coverage+set}" = set; then :
  19896. enableval=$enable_coverage;
  19897. fi
  19898. HAVE_GCOV_TOOLS=0
  19899. GCOV_FLAGS=""
  19900. if test "x$enable_coverage" = "xyes"; then
  19901. # ----------------------------
  19902. # Check for gcov/lcov binaries
  19903. # ----------------------------
  19904. # Extract the first word of "gcov", so it can be a program name with args.
  19905. set dummy gcov; ac_word=$2
  19906. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  19907. $as_echo_n "checking for $ac_word... " >&6; }
  19908. if ${ac_cv_prog_have_gcov+:} false; then :
  19909. $as_echo_n "(cached) " >&6
  19910. else
  19911. if test -n "$have_gcov"; then
  19912. ac_cv_prog_have_gcov="$have_gcov" # Let the user override the test.
  19913. else
  19914. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  19915. for as_dir in $PATH
  19916. do
  19917. IFS=$as_save_IFS
  19918. test -z "$as_dir" && as_dir=.
  19919. for ac_exec_ext in '' $ac_executable_extensions; do
  19920. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  19921. ac_cv_prog_have_gcov="yes"
  19922. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  19923. break 2
  19924. fi
  19925. done
  19926. done
  19927. IFS=$as_save_IFS
  19928. test -z "$ac_cv_prog_have_gcov" && ac_cv_prog_have_gcov="no"
  19929. fi
  19930. fi
  19931. have_gcov=$ac_cv_prog_have_gcov
  19932. if test -n "$have_gcov"; then
  19933. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcov" >&5
  19934. $as_echo "$have_gcov" >&6; }
  19935. else
  19936. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  19937. $as_echo "no" >&6; }
  19938. fi
  19939. if test "x$have_gcov" = "xno"; then
  19940. as_fn_error $? "
  19941. gcov coverage testing tool not found. Please install or update
  19942. your PATH accordingly prior to enabling code coverage features.
  19943. " "$LINENO" 5
  19944. fi
  19945. # ----------------------------------
  19946. # include coverage compiler options
  19947. # ----------------------------------
  19948. HAVE_GCOV_TOOLS=1
  19949. GCOV_FLAGS="-fprofile-arcs -ftest-coverage --coverage"
  19950. GCOV_LDFLAGS="--coverage -lgcov"
  19951. ac_coverage_save_LDFLAGS="$LDFLAGS"
  19952. LDFLAGS="${LDFLAGS} ${GCOV_LDFLAGS}"
  19953. # Test for C...
  19954. ac_coverage_save_CFLAGS="$CFLAGS"
  19955. ac_ext=c
  19956. ac_cpp='$CPP $CPPFLAGS'
  19957. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19958. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19959. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  19960. CFLAGS="${GCOV_FLAGS} ${CFLAGS}"
  19961. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19962. /* end confdefs.h. */
  19963. int
  19964. main ()
  19965. {
  19966. ;
  19967. return 0;
  19968. }
  19969. _ACEOF
  19970. if ac_fn_c_try_compile "$LINENO"; then :
  19971. else
  19972. as_fn_error $? "unable to compile with code coverage ($CC --coverage)" "$LINENO" 5
  19973. fi
  19974. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  19975. ac_ext=cpp
  19976. ac_cpp='$CXXCPP $CPPFLAGS'
  19977. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19978. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19979. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19980. # Test for C++...
  19981. ac_coverage_save_CXXFLAGS="$CXXFLAGS"
  19982. ac_ext=cpp
  19983. ac_cpp='$CXXCPP $CPPFLAGS'
  19984. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  19985. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  19986. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  19987. CXXFLAGS="${GCOV_FLAGS} ${CXXFLAGS}"
  19988. LIBS="-lgcov ${LIBS}"
  19989. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  19990. /* end confdefs.h. */
  19991. int
  19992. main ()
  19993. {
  19994. ;
  19995. return 0;
  19996. }
  19997. _ACEOF
  19998. if ac_fn_cxx_try_compile "$LINENO"; then :
  19999. else
  20000. as_fn_error $? "unable to compile with code coverage ($CXX --coverage)" "$LINENO" 5
  20001. fi
  20002. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20003. ac_ext=cpp
  20004. ac_cpp='$CXXCPP $CPPFLAGS'
  20005. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20006. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20007. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20008. # Test for Fortran...
  20009. ac_coverage_save_FCFLAGS="$FCFLAGS"
  20010. ac_ext=${ac_fc_srcext-f}
  20011. ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
  20012. ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
  20013. ac_compiler_gnu=$ac_cv_fc_compiler_gnu
  20014. FCFLAGS="${GCOV_FLAGS} ${FCFLAGS}"
  20015. cat > conftest.$ac_ext <<_ACEOF
  20016. program main
  20017. end
  20018. _ACEOF
  20019. if ac_fn_fc_try_compile "$LINENO"; then :
  20020. else
  20021. as_fn_error $? "unable to compile with code coverage ($FC --coverage)" "$LINENO" 5
  20022. fi
  20023. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20024. ac_ext=cpp
  20025. ac_cpp='$CXXCPP $CPPFLAGS'
  20026. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20027. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20028. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20029. fi
  20030. if test x$HAVE_GCOV_TOOLS = x1; then
  20031. CODE_COVERAGE_ENABLED_TRUE=
  20032. CODE_COVERAGE_ENABLED_FALSE='#'
  20033. else
  20034. CODE_COVERAGE_ENABLED_TRUE='#'
  20035. CODE_COVERAGE_ENABLED_FALSE=
  20036. fi
  20037. libmesh_CFLAGS="$GCOV_FLAGS $libmesh_CFLAGS"
  20038. libmesh_CXXFLAGS="$GCOV_FLAGS $libmesh_CXXFLAGS"
  20039. #-----------------------------------------------------
  20040. # Set compiler flags for devel, opt, etc. methods
  20041. #-----------------------------------------------------
  20042. # Check whether --with-methods was given.
  20043. if test "${with_methods+set}" = set; then :
  20044. withval=$with_methods; for method in ${withval} ; do
  20045. case "${method}" in #(
  20046. optimized|opt) :
  20047. ;; #(
  20048. debug|dbg) :
  20049. ;; #(
  20050. devel) :
  20051. ;; #(
  20052. profiling|pro|prof) :
  20053. ;; #(
  20054. oprofile|oprof) :
  20055. ;; #(
  20056. *) :
  20057. as_fn_error $? "bad value ${method} for --with-methods" "$LINENO" 5 ;;
  20058. esac
  20059. done
  20060. METHODS=${withval}
  20061. else
  20062. if test "x${METHODS}" = x; then :
  20063. METHODS="dbg devel opt"
  20064. { $as_echo "$as_me:${as_lineno-$LINENO}: result: No build methods specified, defaulting to \"$METHODS\"" >&5
  20065. $as_echo "No build methods specified, defaulting to \"$METHODS\"" >&6; }
  20066. fi
  20067. fi
  20068. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring libMesh with methods \"$METHODS\" >>>" >&5
  20069. $as_echo "<<< Configuring libMesh with methods \"$METHODS\" >>>" >&6; }
  20070. build_opt=no
  20071. build_dbg=no
  20072. build_devel=no
  20073. build_prof=no
  20074. build_oprof=no
  20075. CPPFLAGS_OPT="$CPPFLAGS_OPT $libmesh_CPPFLAGS"
  20076. CXXFLAGS_OPT="$CXXFLAGS_OPT $libmesh_CXXFLAGS"
  20077. CFLAGS_OPT="$CFLAGS_OPT $libmesh_CFLAGS"
  20078. CPPFLAGS_DBG="$CPPFLAGS_DBG $libmesh_CPPFLAGS"
  20079. CXXFLAGS_DBG="$CXXFLAGS_DBG $libmesh_CXXFLAGS"
  20080. CFLAGS_DBG="$CFLAGS_DBG $libmesh_CFLAGS"
  20081. CPPFLAGS_DEVEL="$CPPFLAGS_DEVEL $libmesh_CPPFLAGS"
  20082. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL $libmesh_CXXFLAGS"
  20083. CFLAGS_DEVEL="$CFLAGS_DEVEL $libmesh_CFLAGS"
  20084. CPPFLAGS_PROF="$CPPFLAGS_OPT"
  20085. CXXFLAGS_PROF="$CXXFLAGS_OPT $PROFILING_FLAGS"
  20086. CFLAGS_PROF="$CFLAGS_OPT $PROFILING_FLAGS"
  20087. CPPFLAGS_OPROF="$CPPFLAGS_OPT"
  20088. CXXFLAGS_OPROF="$CXXFLAGS_OPT $OPROFILE_FLAGS"
  20089. CFLAGS_OPROF="$CFLAGS_OPT $OPROFILE_FLAGS"
  20090. CXXFLAGS_OPT="$CXXFLAGS_OPT $SANITIZE_OPT_FLAGS"
  20091. CFLAGS_OPT="$CFLAGS_OPT $SANITIZE_OPT_FLAGS"
  20092. CXXFLAGS_DBG="$CXXFLAGS_DBG $SANITIZE_DBG_FLAGS"
  20093. CFLAGS_DBG="$CFLAGS_DBG $SANITIZE_DBG_FLAGS"
  20094. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL $SANITIZE_DEVEL_FLAGS"
  20095. CFLAGS_DEVEL="$CFLAGS_DEVEL $SANITIZE_DEVEL_FLAGS"
  20096. CXXFLAGS_PROF="$CXXFLAGS_PROF $SANITIZE_PROF_FLAGS"
  20097. CFLAGS_PROF="$CFLAGS_PROF $SANITIZE_PROF_FLAGS"
  20098. CXXFLAGS_OPROF="$CXXFLAGS_OPROF $SANITIZE_OPROF_FLAGS"
  20099. CFLAGS_OPROF="$CFLAGS_OPROF $SANITIZE_OPROF_FLAGS"
  20100. for method in ${METHODS}; do
  20101. case "${method}" in #(
  20102. optimized|opt) :
  20103. build_opt=yes ;; #(
  20104. debug|dbg) :
  20105. build_dbg=yes ;; #(
  20106. devel) :
  20107. build_devel=yes ;; #(
  20108. profiling|pro|prof) :
  20109. build_prof=yes ;; #(
  20110. oprofile|oprof) :
  20111. build_oprof=yes ;; #(
  20112. *) :
  20113. as_fn_error $? "bad value ${method} for --with-methods" "$LINENO" 5 ;;
  20114. esac
  20115. done
  20116. if test x$build_opt = xyes; then
  20117. LIBMESH_OPT_MODE_TRUE=
  20118. LIBMESH_OPT_MODE_FALSE='#'
  20119. else
  20120. LIBMESH_OPT_MODE_TRUE='#'
  20121. LIBMESH_OPT_MODE_FALSE=
  20122. fi
  20123. if test x$build_dbg = xyes; then
  20124. LIBMESH_DBG_MODE_TRUE=
  20125. LIBMESH_DBG_MODE_FALSE='#'
  20126. else
  20127. LIBMESH_DBG_MODE_TRUE='#'
  20128. LIBMESH_DBG_MODE_FALSE=
  20129. fi
  20130. if test x$build_devel = xyes; then
  20131. LIBMESH_DEVEL_MODE_TRUE=
  20132. LIBMESH_DEVEL_MODE_FALSE='#'
  20133. else
  20134. LIBMESH_DEVEL_MODE_TRUE='#'
  20135. LIBMESH_DEVEL_MODE_FALSE=
  20136. fi
  20137. if test x$build_prof = xyes; then
  20138. LIBMESH_PROF_MODE_TRUE=
  20139. LIBMESH_PROF_MODE_FALSE='#'
  20140. else
  20141. LIBMESH_PROF_MODE_TRUE='#'
  20142. LIBMESH_PROF_MODE_FALSE=
  20143. fi
  20144. if test x$build_oprof = xyes; then
  20145. LIBMESH_OPROF_MODE_TRUE=
  20146. LIBMESH_OPROF_MODE_FALSE='#'
  20147. else
  20148. LIBMESH_OPROF_MODE_TRUE='#'
  20149. LIBMESH_OPROF_MODE_FALSE=
  20150. fi
  20151. LIBMESH_PC_IN=""
  20152. # set the configuration input file for libmesh.pc
  20153. if test x$build_opt = xyes; then :
  20154. LIBMESH_PC_IN="contrib/utils/libmesh-opt.pc.in"
  20155. elif test x$build_dbg = xyes; then :
  20156. LIBMESH_PC_IN="contrib/utils/libmesh-dbg.pc.in"
  20157. elif test x$build_devel = xyes; then :
  20158. LIBMESH_PC_IN="contrib/utils/libmesh-devel.pc.in"
  20159. elif test x$build_prof = xyes; then :
  20160. LIBMESH_PC_IN="contrib/utils/libmesh-prof.pc.in"
  20161. elif test x$build_oprof = xyes; then :
  20162. LIBMESH_PC_IN="contrib/utils/libmesh-oprof.pc.in"
  20163. fi
  20164. ac_config_files="$ac_config_files contrib/utils/libmesh.pc:$LIBMESH_PC_IN"
  20165. # By default we merely enable some warnings, but we can turn those
  20166. # into errors (for library code only, not contrib or external code)
  20167. # by configuring with --enable-werror
  20168. # Check whether --enable-werror was given.
  20169. if test "${enable_werror+set}" = set; then :
  20170. enableval=$enable_werror; case "${enableval}" in #(
  20171. yes) :
  20172. enablewerror=yes ;; #(
  20173. no) :
  20174. enablewerror=no ;; #(
  20175. *) :
  20176. as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
  20177. esac
  20178. else
  20179. enablewerror=no
  20180. fi
  20181. ANY_WERROR_FLAG=$WERROR_FLAGS
  20182. if test "x$enablewerror" != "xyes"; then :
  20183. ANY_WERROR_FLAG=''
  20184. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Compiler warnings are just warnings >>>" >&5
  20185. $as_echo "<<< Compiler warnings are just warnings >>>" >&6; }
  20186. else
  20187. as_CACHEVAR=`$as_echo "ax_cv_check_cxxflags__$WERROR_FLAGS" | $as_tr_sh`
  20188. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts $WERROR_FLAGS" >&5
  20189. $as_echo_n "checking whether C++ compiler accepts $WERROR_FLAGS... " >&6; }
  20190. if eval \${$as_CACHEVAR+:} false; then :
  20191. $as_echo_n "(cached) " >&6
  20192. else
  20193. ax_check_save_flags=$CXXFLAGS
  20194. CXXFLAGS="$CXXFLAGS $WERROR_FLAGS"
  20195. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20196. /* end confdefs.h. */
  20197. int
  20198. main ()
  20199. {
  20200. ;
  20201. return 0;
  20202. }
  20203. _ACEOF
  20204. if ac_fn_cxx_try_compile "$LINENO"; then :
  20205. eval "$as_CACHEVAR=yes"
  20206. else
  20207. eval "$as_CACHEVAR=no"
  20208. fi
  20209. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20210. CXXFLAGS=$ax_check_save_flags
  20211. fi
  20212. eval ac_res=\$$as_CACHEVAR
  20213. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  20214. $as_echo "$ac_res" >&6; }
  20215. if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
  20216. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Compiler warnings are now errors >>>" >&5
  20217. $as_echo "<<< Compiler warnings are now errors >>>" >&6; }
  20218. else
  20219. ANY_WERROR_FLAG=''
  20220. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Compiler does not support $WERROR_FLAGS >>>" >&5
  20221. $as_echo "<<< Compiler does not support $WERROR_FLAGS >>>" >&6; }
  20222. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Compiler warnings are just warnings >>>" >&5
  20223. $as_echo "<<< Compiler warnings are just warnings >>>" >&6; }
  20224. fi
  20225. fi
  20226. # By default we merely enable some of the most common compiler
  20227. # warnings, but we can turn on as many warnings as we avoid triggering
  20228. # (for library code only, not contrib or external code) by configuring
  20229. # with --enable-paranoid-warnings
  20230. # Check whether --enable-paranoid-warnings was given.
  20231. if test "${enable_paranoid_warnings+set}" = set; then :
  20232. enableval=$enable_paranoid_warnings; case "${enableval}" in #(
  20233. yes) :
  20234. enableparanoid=yes ;; #(
  20235. no) :
  20236. enableparanoid=no ;; #(
  20237. *) :
  20238. as_fn_error $? "bad value ${enableval} for --enable-paranoid-warnings" "$LINENO" 5 ;;
  20239. esac
  20240. else
  20241. enableparanoid=no
  20242. fi
  20243. ANY_PARANOID_FLAGS=$PARANOID_FLAGS
  20244. if test "x$enableparanoid" != "xyes"; then :
  20245. ANY_PARANOID_FLAGS=''
  20246. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Disabling extra paranoid compiler warnings >>>" >&5
  20247. $as_echo "<<< Disabling extra paranoid compiler warnings >>>" >&6; }
  20248. else
  20249. old_CXXFLAGS="$CXXFLAGS"
  20250. CXXFLAGS="$CXXFLAGS $WERROR_FLAGS $PARANOID_FLAGS"
  20251. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20252. /* end confdefs.h. */
  20253. int
  20254. main ()
  20255. {
  20256. ;
  20257. return 0;
  20258. }
  20259. _ACEOF
  20260. if ac_fn_cxx_try_compile "$LINENO"; then :
  20261. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Enabled extra paranoid compiler warnings >>>" >&5
  20262. $as_echo "<<< Enabled extra paranoid compiler warnings >>>" >&6; }
  20263. else
  20264. ANY_PARANOID_FLAGS=''
  20265. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Compiler may not support all of $PARANOID_FLAGS >>>" >&5
  20266. $as_echo "<<< Compiler may not support all of $PARANOID_FLAGS >>>" >&6; }
  20267. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Disabling extra paranoid compiler warnings >>>" >&5
  20268. $as_echo "<<< Disabling extra paranoid compiler warnings >>>" >&6; }
  20269. fi
  20270. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20271. CXXFLAGS="$old_CXXFLAGS"
  20272. fi
  20273. # --------------------------------------------------------------
  20274. # Test for optional modern C++ features, which libMesh offers shims
  20275. # for and/or which libMesh applications may want to selectively use.
  20276. # --------------------------------------------------------------
  20277. have_cxx14_make_unique=no
  20278. # std::make_unique is actually part of the C++14 standard, but some
  20279. # compilers might (?) support it via the -std=c++11 flag, or eventually
  20280. # with no flag at all.
  20281. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++14 std::make_unique support" >&5
  20282. $as_echo_n "checking for C++14 std::make_unique support... " >&6; }
  20283. ac_ext=cpp
  20284. ac_cpp='$CXXCPP $CPPFLAGS'
  20285. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20286. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20287. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20288. old_CXXFLAGS="$CXXFLAGS"
  20289. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  20290. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20291. /* end confdefs.h. */
  20292. #include <memory>
  20293. int
  20294. main ()
  20295. {
  20296. {
  20297. // Normally, you would use "auto" on the LHS here to avoid
  20298. // repeating the type name, but we are not testing auto here.
  20299. std::unique_ptr<int> up = std::make_unique<int>(42);
  20300. } // Foo deleted when up goes out of scope
  20301. ;
  20302. return 0;
  20303. }
  20304. _ACEOF
  20305. if ac_fn_cxx_try_compile "$LINENO"; then :
  20306. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20307. $as_echo "yes" >&6; }
  20308. $as_echo "#define HAVE_CXX14_MAKE_UNIQUE 1" >>confdefs.h
  20309. have_cxx14_make_unique=yes
  20310. else
  20311. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20312. $as_echo "no" >&6; }
  20313. fi
  20314. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20315. # Reset the flags
  20316. CXXFLAGS="$old_CXXFLAGS"
  20317. ac_ext=cpp
  20318. ac_cpp='$CXXCPP $CPPFLAGS'
  20319. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20320. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20321. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20322. if test x$have_cxx14_make_unique == xyes; then
  20323. HAVE_CXX14_MAKE_UNIQUE_TRUE=
  20324. HAVE_CXX14_MAKE_UNIQUE_FALSE='#'
  20325. else
  20326. HAVE_CXX14_MAKE_UNIQUE_TRUE='#'
  20327. HAVE_CXX14_MAKE_UNIQUE_FALSE=
  20328. fi
  20329. have_cxx11_regex=no
  20330. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::regex support" >&5
  20331. $as_echo_n "checking for C++11 std::regex support... " >&6; }
  20332. ac_ext=cpp
  20333. ac_cpp='$CXXCPP $CPPFLAGS'
  20334. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20335. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20336. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20337. old_CXXFLAGS="$CXXFLAGS"
  20338. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  20339. if test "$cross_compiling" = yes; then :
  20340. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20341. $as_echo "no" >&6; }
  20342. else
  20343. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20344. /* end confdefs.h. */
  20345. #include <regex>
  20346. int
  20347. main ()
  20348. {
  20349. std::regex integer_regex("(\\\\+|-)?[[:digit:]]+");
  20350. std::regex_match("abc", integer_regex);
  20351. std::regex_match("123", integer_regex);
  20352. ;
  20353. return 0;
  20354. }
  20355. _ACEOF
  20356. if ac_fn_cxx_try_run "$LINENO"; then :
  20357. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20358. $as_echo "yes" >&6; }
  20359. $as_echo "#define HAVE_CXX11_REGEX 1" >>confdefs.h
  20360. have_cxx11_regex=yes
  20361. else
  20362. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20363. $as_echo "no" >&6; }
  20364. fi
  20365. rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  20366. conftest.$ac_objext conftest.beam conftest.$ac_ext
  20367. fi
  20368. # Reset the flags
  20369. CXXFLAGS="$old_CXXFLAGS"
  20370. ac_ext=cpp
  20371. ac_cpp='$CXXCPP $CPPFLAGS'
  20372. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20373. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20374. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20375. if test x$have_cxx11_regex == xyes; then
  20376. HAVE_CXX11_REGEX_TRUE=
  20377. HAVE_CXX11_REGEX_FALSE='#'
  20378. else
  20379. HAVE_CXX11_REGEX_TRUE='#'
  20380. HAVE_CXX11_REGEX_FALSE=
  20381. fi
  20382. have_cxx11_thread=no
  20383. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <thread> support" >&5
  20384. $as_echo_n "checking for C++11 <thread> support... " >&6; }
  20385. ac_ext=cpp
  20386. ac_cpp='$CXXCPP $CPPFLAGS'
  20387. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20388. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20389. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20390. old_CXXFLAGS="$CXXFLAGS"
  20391. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  20392. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20393. /* end confdefs.h. */
  20394. #include <thread>
  20395. #include <atomic>
  20396. #include <mutex>
  20397. void my_thread_func() {}
  20398. int
  20399. main ()
  20400. {
  20401. thread_local int i;
  20402. std::thread t(my_thread_func);
  20403. t.join();
  20404. std::atomic<bool> ab1, ab2;
  20405. ab1.store(true, std::memory_order_relaxed);
  20406. ab2.store(false, std::memory_order_relaxed);
  20407. ab1.exchange(ab2);
  20408. std::mutex m;
  20409. std::lock_guard<std::mutex> lock(m);
  20410. std::atomic_thread_fence(std::memory_order_acquire);
  20411. std::atomic_thread_fence(std::memory_order_release);
  20412. // We use this function in one of our unit tests now.
  20413. unsigned int n_threads = std::thread::hardware_concurrency();
  20414. ;
  20415. return 0;
  20416. }
  20417. _ACEOF
  20418. if ac_fn_cxx_try_compile "$LINENO"; then :
  20419. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20420. $as_echo "yes" >&6; }
  20421. $as_echo "#define HAVE_CXX11_THREAD 1" >>confdefs.h
  20422. have_cxx11_thread=yes
  20423. else
  20424. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20425. $as_echo "no" >&6; }
  20426. fi
  20427. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20428. # Reset the flags
  20429. CXXFLAGS="$old_CXXFLAGS"
  20430. ac_ext=cpp
  20431. ac_cpp='$CXXCPP $CPPFLAGS'
  20432. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20433. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20434. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20435. if test x$have_cxx11_thread == xyes; then
  20436. HAVE_CXX11_THREAD_TRUE=
  20437. HAVE_CXX11_THREAD_FALSE='#'
  20438. else
  20439. HAVE_CXX11_THREAD_TRUE='#'
  20440. HAVE_CXX11_THREAD_FALSE=
  20441. fi
  20442. have_cxx11_condition_variable=no
  20443. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <condition_variable> support" >&5
  20444. $as_echo_n "checking for C++11 <condition_variable> support... " >&6; }
  20445. ac_ext=cpp
  20446. ac_cpp='$CXXCPP $CPPFLAGS'
  20447. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20448. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20449. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20450. old_CXXFLAGS="$CXXFLAGS"
  20451. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  20452. # Test code is from the accepted answer on:
  20453. # http://stackoverflow.com/questions/16350473/why-do-i-need-stdcondition-variable
  20454. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20455. /* end confdefs.h. */
  20456. #include <iostream>
  20457. #include <condition_variable>
  20458. #include <mutex>
  20459. #include <thread>
  20460. #include <chrono>
  20461. bool is_ready = false;
  20462. std::mutex m;
  20463. std::condition_variable cv;
  20464. void
  20465. test()
  20466. {
  20467. std::this_thread::sleep_for(std::chrono::seconds(30));
  20468. std::unique_lock<std::mutex> ulock(m);
  20469. is_ready = true;
  20470. cv.notify_one();
  20471. }
  20472. int
  20473. main ()
  20474. {
  20475. std::thread t(test);
  20476. std::unique_lock<std::mutex> ulock(m);
  20477. while (!is_ready)
  20478. {
  20479. cv.wait(ulock);
  20480. if (!is_ready)
  20481. std::cout << "Spurious wake up!\n";
  20482. }
  20483. t.join();
  20484. ;
  20485. return 0;
  20486. }
  20487. _ACEOF
  20488. if ac_fn_cxx_try_compile "$LINENO"; then :
  20489. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20490. $as_echo "yes" >&6; }
  20491. $as_echo "#define HAVE_CXX11_CONDITION_VARIABLE 1" >>confdefs.h
  20492. have_cxx11_condition_variable=yes
  20493. else
  20494. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20495. $as_echo "no" >&6; }
  20496. fi
  20497. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20498. # Reset the flags
  20499. CXXFLAGS="$old_CXXFLAGS"
  20500. ac_ext=cpp
  20501. ac_cpp='$CXXCPP $CPPFLAGS'
  20502. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20503. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20504. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20505. if test x$have_cxx11_condition_variable == xyes; then
  20506. HAVE_CXX11_CONDITION_VARIABLE_TRUE=
  20507. HAVE_CXX11_CONDITION_VARIABLE_FALSE='#'
  20508. else
  20509. HAVE_CXX11_CONDITION_VARIABLE_TRUE='#'
  20510. HAVE_CXX11_CONDITION_VARIABLE_FALSE=
  20511. fi
  20512. # This is designed to be an exhaustive test of the capabilities of
  20513. # the <type_traits> header, as defined by the C++11 standard. We
  20514. # don't use all of these in libmesh, but we want application code
  20515. # to be able to rely on the value of LIBMESH_HAVE_CXX11_TYPE_TRAITS.
  20516. #
  20517. # Not all compilers fully implement the header. For example, GCC
  20518. # 4.9.1 does not provide the is_trivially_copyable() function, but
  20519. # it does provide support for other <type_traits> functions.
  20520. #
  20521. # See also:
  20522. # http://en.cppreference.com/w/cpp/header/type_traits
  20523. have_cxx11_type_traits=no
  20524. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <type_traits> support" >&5
  20525. $as_echo_n "checking for C++11 <type_traits> support... " >&6; }
  20526. ac_ext=cpp
  20527. ac_cpp='$CXXCPP $CPPFLAGS'
  20528. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20529. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20530. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20531. old_CXXFLAGS="$CXXFLAGS"
  20532. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  20533. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20534. /* end confdefs.h. */
  20535. #include <iostream>
  20536. #include <type_traits>
  20537. // std::enable_if - the return type of the function is only defined if
  20538. // T is an integral type. Therefore, it's a *compile* error if you
  20539. // try to call it with a non-integral type.
  20540. template <class T>
  20541. typename std::enable_if<std::is_integral<T>::value, bool>::type
  20542. is_odd (T i)
  20543. {
  20544. return static_cast<bool>(i%2);
  20545. }
  20546. // std::underlying_type - names the underlying type of an enum
  20547. enum e1 {};
  20548. // typedef (named fn_ptr) for a function that takes nothing and returns char.
  20549. typedef char (*fn_ptr)();
  20550. int
  20551. main ()
  20552. {
  20553. std::cout << std::is_void<char>::value
  20554. // << std::is_null_pointer<char>::value // C++14
  20555. << std::is_integral<char>::value
  20556. << std::is_floating_point<char>::value
  20557. << std::is_array<char>::value
  20558. << std::is_enum<char>::value
  20559. << std::is_union<char>::value
  20560. << std::is_class<char>::value
  20561. << std::is_function<char>::value
  20562. << std::is_pointer<char>::value
  20563. << std::is_lvalue_reference<char>::value
  20564. << std::is_rvalue_reference<char>::value
  20565. << std::is_member_object_pointer<char>::value
  20566. << std::is_fundamental<char>::value
  20567. << std::is_arithmetic<char>::value
  20568. << std::is_scalar<char>::value
  20569. << std::is_object<char>::value
  20570. << std::is_compound<char>::value
  20571. << std::is_reference<char>::value
  20572. << std::is_member_pointer<char>::value
  20573. << std::is_const<char>::value
  20574. << std::is_volatile<char>::value
  20575. << std::is_trivial<char>::value
  20576. << std::is_trivially_copyable<char>::value // Not supported by GCC 4.6.3 with -std=c++0x
  20577. << std::is_standard_layout<char>::value
  20578. << std::is_pod<char>::value
  20579. << std::is_literal_type<char>::value
  20580. << std::is_empty<char>::value
  20581. << std::is_polymorphic<char>::value
  20582. << std::is_abstract<char>::value
  20583. << std::is_signed<char>::value
  20584. << std::is_unsigned<char>::value
  20585. << std::is_constructible<char>::value
  20586. << std::is_trivially_constructible<char>::value
  20587. << std::is_nothrow_constructible<char>::value
  20588. << std::is_default_constructible<char>::value
  20589. << std::is_trivially_default_constructible<char>::value
  20590. << std::is_nothrow_default_constructible<char>::value
  20591. << std::is_copy_constructible<char>::value
  20592. << std::is_trivially_copy_constructible<char>::value
  20593. << std::is_nothrow_copy_constructible<char>::value
  20594. << std::is_move_constructible<char>::value
  20595. << std::is_trivially_move_constructible<char>::value
  20596. << std::is_nothrow_move_constructible<char>::value
  20597. << std::is_assignable<char, char>::value
  20598. << std::is_trivially_assignable<char, char>::value
  20599. << std::is_nothrow_assignable<char, char>::value
  20600. << std::is_copy_assignable<char>::value
  20601. << std::is_trivially_copy_assignable<char>::value
  20602. << std::is_nothrow_copy_assignable<char>::value
  20603. << std::is_move_assignable<char>::value
  20604. << std::is_trivially_move_assignable<char>::value
  20605. << std::is_nothrow_move_assignable<char>::value
  20606. << std::is_destructible<char>::value
  20607. << std::is_trivially_destructible<char>::value
  20608. << std::is_nothrow_destructible<char>::value
  20609. << std::has_virtual_destructor<char>::value
  20610. << std::alignment_of<char>::value
  20611. << std::rank<char>::value
  20612. << std::extent<char>::value
  20613. << std::is_same<char, char>::value
  20614. << std::is_base_of<char, char>::value
  20615. << std::is_convertible<char, char>::value
  20616. << std::is_same<char, std::remove_cv<const char>::type>::value // std::remove_cv
  20617. << std::is_same<char, std::remove_const<const char>::type>::value // std::remove_const
  20618. << std::is_same<char, std::remove_volatile<volatile char>::type>::value // std::remove_volatile
  20619. << std::is_same<const volatile char, std::add_cv<char>::type>::value // std::add_cv
  20620. << std::is_same<const char, std::add_const<char>::type>::value // std::add_const
  20621. << std::is_same<volatile char, std::add_volatile<char>::type>::value // std::add_volatile
  20622. << std::is_same<char, std::remove_reference<char &>::type>::value // std::remove_reference
  20623. << std::is_same<char &, std::add_lvalue_reference<char>::type>::value // std::add_lvalue_reference
  20624. << std::is_same<char &&, std::add_rvalue_reference<char>::type>::value // std::add_rvalue_reference
  20625. << std::is_same<char, std::remove_pointer<char *>::type>::value // std::remove_pointer
  20626. << std::is_same<char *, std::add_pointer<char>::type>::value // std::add_pointer
  20627. << std::is_same<char, std::make_signed<unsigned char>::type>::value // std::make_signed
  20628. << std::is_same<unsigned char, std::make_unsigned<char>::type>::value // std::make_unsigned
  20629. << std::is_same<char, std::remove_extent<char>::type>::value // std::remove_extent
  20630. << std::is_same<char, std::remove_all_extents<char>::type>::value // std::remove_all_extents
  20631. << std::is_same<char, std::decay<const char &>::type>::value // std::decay
  20632. << is_odd(13) // std::enable_if
  20633. << std::is_same<char, std::conditional<true, /*type if true*/char, /*type if false*/int>::type>::value // std::conditional
  20634. << std::is_same<long, std::common_type<char, short, int, long>::type>::value // std::common_type
  20635. << std::is_same<int, std::underlying_type<e1>::type>::value // std::underlying_type
  20636. << std::is_same<char, std::result_of<fn_ptr()>::type>::value // std::result_of
  20637. << std::false_type::value
  20638. << std::true_type::value
  20639. << std::endl;
  20640. // std::aligned_storage
  20641. typedef std::aligned_storage</*store objects of length=*/1>::type aligned_t;
  20642. // std::aligned_union
  20643. typedef std::aligned_union</*size of at least*/32, int, char, double>::type union_t;
  20644. ;
  20645. return 0;
  20646. }
  20647. _ACEOF
  20648. if ac_fn_cxx_try_compile "$LINENO"; then :
  20649. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20650. $as_echo "yes" >&6; }
  20651. $as_echo "#define HAVE_CXX11_TYPE_TRAITS 1" >>confdefs.h
  20652. have_cxx11_type_traits=yes
  20653. else
  20654. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20655. $as_echo "no" >&6; }
  20656. fi
  20657. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20658. # Reset the flags
  20659. CXXFLAGS="$old_CXXFLAGS"
  20660. ac_ext=cpp
  20661. ac_cpp='$CXXCPP $CPPFLAGS'
  20662. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20663. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20664. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20665. if test x$have_cxx11_type_traits == xyes; then
  20666. HAVE_CXX11_TYPE_TRAITS_TRUE=
  20667. HAVE_CXX11_TYPE_TRAITS_FALSE='#'
  20668. else
  20669. HAVE_CXX11_TYPE_TRAITS_TRUE='#'
  20670. HAVE_CXX11_TYPE_TRAITS_FALSE=
  20671. fi
  20672. have_cxx11_inverse_hyperbolic_sine=no
  20673. have_cxx11_inverse_hyperbolic_cosine=no
  20674. have_cxx11_inverse_hyperbolic_tangent=no
  20675. have_cxx11_inverse_hyperbolic_sine_complex=no
  20676. have_cxx11_inverse_hyperbolic_cosine_complex=no
  20677. have_cxx11_inverse_hyperbolic_tangent_complex=no
  20678. ac_ext=cpp
  20679. ac_cpp='$CXXCPP $CPPFLAGS'
  20680. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20681. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20682. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20683. old_CXXFLAGS="$CXXFLAGS"
  20684. CXXFLAGS="$CXXFLAGS $libmesh_CXXFLAGS"
  20685. # Test for asinh
  20686. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::asinh support in <cmath>" >&5
  20687. $as_echo_n "checking for C++11 std::asinh support in <cmath>... " >&6; }
  20688. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20689. /* end confdefs.h. */
  20690. #include <cmath>
  20691. int
  20692. main ()
  20693. {
  20694. double x = std::asinh(1.);
  20695. ;
  20696. return 0;
  20697. }
  20698. _ACEOF
  20699. if ac_fn_cxx_try_compile "$LINENO"; then :
  20700. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20701. $as_echo "yes" >&6; }
  20702. $as_echo "#define HAVE_CXX11_INVERSE_HYPERBOLIC_SINE 1" >>confdefs.h
  20703. have_cxx11_inverse_hyperbolic_sine=yes
  20704. else
  20705. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20706. $as_echo "no" >&6; }
  20707. fi
  20708. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20709. # Test for acosh
  20710. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::acosh support in <cmath>" >&5
  20711. $as_echo_n "checking for C++11 std::acosh support in <cmath>... " >&6; }
  20712. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20713. /* end confdefs.h. */
  20714. #include <cmath>
  20715. int
  20716. main ()
  20717. {
  20718. double x = std::acosh(1.);
  20719. ;
  20720. return 0;
  20721. }
  20722. _ACEOF
  20723. if ac_fn_cxx_try_compile "$LINENO"; then :
  20724. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20725. $as_echo "yes" >&6; }
  20726. $as_echo "#define HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE 1" >>confdefs.h
  20727. have_cxx11_inverse_hyperbolic_cosine=yes
  20728. else
  20729. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20730. $as_echo "no" >&6; }
  20731. fi
  20732. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20733. # Test for atanh
  20734. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::atanh support in <cmath>" >&5
  20735. $as_echo_n "checking for C++11 std::atanh support in <cmath>... " >&6; }
  20736. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20737. /* end confdefs.h. */
  20738. #include <cmath>
  20739. int
  20740. main ()
  20741. {
  20742. double x = std::atanh(0.);
  20743. ;
  20744. return 0;
  20745. }
  20746. _ACEOF
  20747. if ac_fn_cxx_try_compile "$LINENO"; then :
  20748. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20749. $as_echo "yes" >&6; }
  20750. $as_echo "#define HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT 1" >>confdefs.h
  20751. have_cxx11_inverse_hyperbolic_tangent=yes
  20752. else
  20753. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20754. $as_echo "no" >&6; }
  20755. fi
  20756. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20757. # Test for asinh(complex)
  20758. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::asinh(complex) support in <complex>" >&5
  20759. $as_echo_n "checking for C++11 std::asinh(complex) support in <complex>... " >&6; }
  20760. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20761. /* end confdefs.h. */
  20762. #include <complex>
  20763. int
  20764. main ()
  20765. {
  20766. std::complex<double> z(0, -2);
  20767. std::complex<double> x = std::asinh(z);
  20768. ;
  20769. return 0;
  20770. }
  20771. _ACEOF
  20772. if ac_fn_cxx_try_compile "$LINENO"; then :
  20773. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20774. $as_echo "yes" >&6; }
  20775. $as_echo "#define HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX 1" >>confdefs.h
  20776. have_cxx11_inverse_hyperbolic_sine_complex=yes
  20777. else
  20778. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20779. $as_echo "no" >&6; }
  20780. fi
  20781. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20782. # Test for acosh(complex)
  20783. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::acosh(complex) support in <complex>" >&5
  20784. $as_echo_n "checking for C++11 std::acosh(complex) support in <complex>... " >&6; }
  20785. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20786. /* end confdefs.h. */
  20787. #include <complex>
  20788. int
  20789. main ()
  20790. {
  20791. std::complex<double> z(0.5, 0);
  20792. std::complex<double> x = std::acosh(z);
  20793. ;
  20794. return 0;
  20795. }
  20796. _ACEOF
  20797. if ac_fn_cxx_try_compile "$LINENO"; then :
  20798. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20799. $as_echo "yes" >&6; }
  20800. $as_echo "#define HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX 1" >>confdefs.h
  20801. have_cxx11_inverse_hyperbolic_cosine_complex=yes
  20802. else
  20803. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20804. $as_echo "no" >&6; }
  20805. fi
  20806. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20807. # Test for atanh(complex)
  20808. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::atanh(complex) support in <complex>" >&5
  20809. $as_echo_n "checking for C++11 std::atanh(complex) support in <complex>... " >&6; }
  20810. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20811. /* end confdefs.h. */
  20812. #include <complex>
  20813. int
  20814. main ()
  20815. {
  20816. std::complex<double> z(2, 0);
  20817. std::complex<double> x = std::atanh(z);
  20818. ;
  20819. return 0;
  20820. }
  20821. _ACEOF
  20822. if ac_fn_cxx_try_compile "$LINENO"; then :
  20823. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20824. $as_echo "yes" >&6; }
  20825. $as_echo "#define HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX 1" >>confdefs.h
  20826. have_cxx11_inverse_hyperbolic_tangent_complex=yes
  20827. else
  20828. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20829. $as_echo "no" >&6; }
  20830. fi
  20831. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20832. # Test for erf
  20833. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 std::erf support in <cmath>" >&5
  20834. $as_echo_n "checking for C++11 std::erf support in <cmath>... " >&6; }
  20835. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20836. /* end confdefs.h. */
  20837. #include <cmath>
  20838. int
  20839. main ()
  20840. {
  20841. double val = std::erf(1.);
  20842. ;
  20843. return 0;
  20844. }
  20845. _ACEOF
  20846. if ac_fn_cxx_try_compile "$LINENO"; then :
  20847. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20848. $as_echo "yes" >&6; }
  20849. $as_echo "#define HAVE_CXX11_ERF 1" >>confdefs.h
  20850. have_cxx11_erf=yes
  20851. else
  20852. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20853. $as_echo "no" >&6; }
  20854. fi
  20855. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20856. # Reset the flags
  20857. CXXFLAGS="$old_CXXFLAGS"
  20858. ac_ext=cpp
  20859. ac_cpp='$CXXCPP $CPPFLAGS'
  20860. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20861. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20862. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20863. if test x$have_cxx11_inverse_hyperbolic_sine == xyes; then
  20864. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_TRUE=
  20865. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_FALSE='#'
  20866. else
  20867. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_TRUE='#'
  20868. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_FALSE=
  20869. fi
  20870. if test x$have_cxx11_inverse_hyperbolic_cosine == xyes; then
  20871. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_TRUE=
  20872. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_FALSE='#'
  20873. else
  20874. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_TRUE='#'
  20875. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_FALSE=
  20876. fi
  20877. if test x$have_cxx11_inverse_hyperbolic_tangent == xyes; then
  20878. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_TRUE=
  20879. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_FALSE='#'
  20880. else
  20881. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_TRUE='#'
  20882. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_FALSE=
  20883. fi
  20884. if test x$have_cxx11_inverse_hyperbolic_sine_complex == xyes; then
  20885. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_TRUE=
  20886. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_FALSE='#'
  20887. else
  20888. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_TRUE='#'
  20889. HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_FALSE=
  20890. fi
  20891. if test x$have_cxx11_inverse_hyperbolic_cosine_complex == xyes; then
  20892. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_TRUE=
  20893. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_FALSE='#'
  20894. else
  20895. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_TRUE='#'
  20896. HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_FALSE=
  20897. fi
  20898. if test x$have_cxx11_inverse_hyperbolic_tangent_complex == xyes; then
  20899. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_TRUE=
  20900. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_FALSE='#'
  20901. else
  20902. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_TRUE='#'
  20903. HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_FALSE=
  20904. fi
  20905. if test x$have_cxx11_erf == xyes; then
  20906. HAVE_CXX11_ERF_TRUE=
  20907. HAVE_CXX11_ERF_FALSE='#'
  20908. else
  20909. HAVE_CXX11_ERF_TRUE='#'
  20910. HAVE_CXX11_ERF_FALSE=
  20911. fi
  20912. have_cxx17_fallthrough_attribute=no
  20913. have_double_underscore_attribute_fallthrough=no
  20914. ac_ext=cpp
  20915. ac_cpp='$CXXCPP $CPPFLAGS'
  20916. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  20917. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  20918. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  20919. # We don't want to use [[fallthrough]] if it generates a compiler warning, so
  20920. # turn on -Werror for the test. This way, if a warning is generated it will be
  20921. # treated as an error and the test will fail. We also try to make sure as many
  20922. # warnings as possible are turned on, so the test has every opportunity to fail.
  20923. old_CXXFLAGS="$CXXFLAGS"
  20924. CXXFLAGS="$CXXFLAGS -Werror -Wall -Wextra -pedantic"
  20925. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++17 fallthrough attribute support" >&5
  20926. $as_echo_n "checking for C++17 fallthrough attribute support... " >&6; }
  20927. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20928. /* end confdefs.h. */
  20929. int
  20930. main ()
  20931. {
  20932. int i=1, j;
  20933. switch(i) {
  20934. case 0:
  20935. j=0;
  20936. [[fallthrough]];
  20937. case 1:
  20938. j=1;
  20939. break;
  20940. default:
  20941. j=2;
  20942. }
  20943. (void)j; // Avoid unused variable warning
  20944. ;
  20945. return 0;
  20946. }
  20947. _ACEOF
  20948. if ac_fn_cxx_try_compile "$LINENO"; then :
  20949. if test "x$enablecxx11" = "xyes"; then :
  20950. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20951. $as_echo "yes" >&6; }
  20952. $as_echo "#define HAVE_CXX17_FALLTHROUGH_ATTRIBUTE 1" >>confdefs.h
  20953. have_cxx17_fallthrough_attribute=yes
  20954. else
  20955. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, but disabled." >&5
  20956. $as_echo "yes, but disabled." >&6; }
  20957. $as_echo "#define HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_BUT_DISABLED 1" >>confdefs.h
  20958. fi
  20959. else
  20960. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20961. $as_echo "no" >&6; }
  20962. fi
  20963. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  20964. # If standard [[fallthrough]]; didn't work, maybe __attribute__((fallthrough));
  20965. # will. This definitely works for GCC7 but generates an error on
  20966. # GCC6. Clang 3.9.0 warns about it, which we also don't want, so
  20967. # we are using the -Werror flag when testing again.
  20968. if test "x$have_cxx17_fallthrough_attribute" = "xno"; then :
  20969. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__ ((fallthrough)) support" >&5
  20970. $as_echo_n "checking for __attribute__ ((fallthrough)) support... " >&6; }
  20971. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  20972. /* end confdefs.h. */
  20973. int
  20974. main ()
  20975. {
  20976. int i=1, j;
  20977. switch(i) {
  20978. case 0:
  20979. j=0;
  20980. __attribute__((fallthrough));
  20981. case 1:
  20982. j=1;
  20983. break;
  20984. default:
  20985. j=2;
  20986. }
  20987. (void)j; // Avoid unused variable warning
  20988. ;
  20989. return 0;
  20990. }
  20991. _ACEOF
  20992. if ac_fn_cxx_try_compile "$LINENO"; then :
  20993. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  20994. $as_echo "yes" >&6; }
  20995. $as_echo "#define HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH 1" >>confdefs.h
  20996. have_double_underscore_attribute_fallthrough=yes
  20997. else
  20998. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  20999. $as_echo "no" >&6; }
  21000. fi
  21001. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  21002. fi
  21003. # Reset the flags
  21004. CXXFLAGS="$old_CXXFLAGS"
  21005. ac_ext=cpp
  21006. ac_cpp='$CXXCPP $CPPFLAGS'
  21007. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  21008. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  21009. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  21010. if test x$have_cxx17_fallthrough_attribute == xyes; then
  21011. HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_TRUE=
  21012. HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_FALSE='#'
  21013. else
  21014. HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_TRUE='#'
  21015. HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_FALSE=
  21016. fi
  21017. if test x$have_double_underscore_attribute_fallthrough == xyes; then
  21018. HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_TRUE=
  21019. HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_FALSE='#'
  21020. else
  21021. HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_TRUE='#'
  21022. HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_FALSE=
  21023. fi
  21024. #-----------------------------------------------------
  21025. # Initialize libtool. By default, we will build
  21026. # only shared libraries on platforms that support them
  21027. #-----------------------------------------------------
  21028. case `pwd` in
  21029. *\ * | *\ *)
  21030. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
  21031. $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
  21032. esac
  21033. macro_version='2.4.6'
  21034. macro_revision='2.4.6'
  21035. ltmain=$ac_aux_dir/ltmain.sh
  21036. # Backslashify metacharacters that are still active within
  21037. # double-quoted strings.
  21038. sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
  21039. # Same as above, but do not quote variable references.
  21040. double_quote_subst='s/\(["`\\]\)/\\\1/g'
  21041. # Sed substitution to delay expansion of an escaped shell variable in a
  21042. # double_quote_subst'ed string.
  21043. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
  21044. # Sed substitution to delay expansion of an escaped single quote.
  21045. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
  21046. # Sed substitution to avoid accidental globbing in evaled expressions
  21047. no_glob_subst='s/\*/\\\*/g'
  21048. ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
  21049. ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
  21050. ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
  21051. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
  21052. $as_echo_n "checking how to print strings... " >&6; }
  21053. # Test print first, because it will be a builtin if present.
  21054. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
  21055. test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
  21056. ECHO='print -r --'
  21057. elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
  21058. ECHO='printf %s\n'
  21059. else
  21060. # Use this function as a fallback that always works.
  21061. func_fallback_echo ()
  21062. {
  21063. eval 'cat <<_LTECHO_EOF
  21064. $1
  21065. _LTECHO_EOF'
  21066. }
  21067. ECHO='func_fallback_echo'
  21068. fi
  21069. # func_echo_all arg...
  21070. # Invoke $ECHO with all args, space-separated.
  21071. func_echo_all ()
  21072. {
  21073. $ECHO ""
  21074. }
  21075. case $ECHO in
  21076. printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
  21077. $as_echo "printf" >&6; } ;;
  21078. print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
  21079. $as_echo "print -r" >&6; } ;;
  21080. *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
  21081. $as_echo "cat" >&6; } ;;
  21082. esac
  21083. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
  21084. $as_echo_n "checking for a sed that does not truncate output... " >&6; }
  21085. if ${ac_cv_path_SED+:} false; then :
  21086. $as_echo_n "(cached) " >&6
  21087. else
  21088. ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
  21089. for ac_i in 1 2 3 4 5 6 7; do
  21090. ac_script="$ac_script$as_nl$ac_script"
  21091. done
  21092. echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
  21093. { ac_script=; unset ac_script;}
  21094. if test -z "$SED"; then
  21095. ac_path_SED_found=false
  21096. # Loop through the user's path and test for each of PROGNAME-LIST
  21097. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21098. for as_dir in $PATH
  21099. do
  21100. IFS=$as_save_IFS
  21101. test -z "$as_dir" && as_dir=.
  21102. for ac_prog in sed gsed; do
  21103. for ac_exec_ext in '' $ac_executable_extensions; do
  21104. ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
  21105. as_fn_executable_p "$ac_path_SED" || continue
  21106. # Check for GNU ac_path_SED and select it if it is found.
  21107. # Check for GNU $ac_path_SED
  21108. case `"$ac_path_SED" --version 2>&1` in
  21109. *GNU*)
  21110. ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
  21111. *)
  21112. ac_count=0
  21113. $as_echo_n 0123456789 >"conftest.in"
  21114. while :
  21115. do
  21116. cat "conftest.in" "conftest.in" >"conftest.tmp"
  21117. mv "conftest.tmp" "conftest.in"
  21118. cp "conftest.in" "conftest.nl"
  21119. $as_echo '' >> "conftest.nl"
  21120. "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
  21121. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  21122. as_fn_arith $ac_count + 1 && ac_count=$as_val
  21123. if test $ac_count -gt ${ac_path_SED_max-0}; then
  21124. # Best one so far, save it but keep looking for a better one
  21125. ac_cv_path_SED="$ac_path_SED"
  21126. ac_path_SED_max=$ac_count
  21127. fi
  21128. # 10*(2^10) chars as input seems more than enough
  21129. test $ac_count -gt 10 && break
  21130. done
  21131. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  21132. esac
  21133. $ac_path_SED_found && break 3
  21134. done
  21135. done
  21136. done
  21137. IFS=$as_save_IFS
  21138. if test -z "$ac_cv_path_SED"; then
  21139. as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
  21140. fi
  21141. else
  21142. ac_cv_path_SED=$SED
  21143. fi
  21144. fi
  21145. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
  21146. $as_echo "$ac_cv_path_SED" >&6; }
  21147. SED="$ac_cv_path_SED"
  21148. rm -f conftest.sed
  21149. test -z "$SED" && SED=sed
  21150. Xsed="$SED -e 1s/^X//"
  21151. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
  21152. $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
  21153. if ${ac_cv_path_GREP+:} false; then :
  21154. $as_echo_n "(cached) " >&6
  21155. else
  21156. if test -z "$GREP"; then
  21157. ac_path_GREP_found=false
  21158. # Loop through the user's path and test for each of PROGNAME-LIST
  21159. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21160. for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
  21161. do
  21162. IFS=$as_save_IFS
  21163. test -z "$as_dir" && as_dir=.
  21164. for ac_prog in grep ggrep; do
  21165. for ac_exec_ext in '' $ac_executable_extensions; do
  21166. ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
  21167. as_fn_executable_p "$ac_path_GREP" || continue
  21168. # Check for GNU ac_path_GREP and select it if it is found.
  21169. # Check for GNU $ac_path_GREP
  21170. case `"$ac_path_GREP" --version 2>&1` in
  21171. *GNU*)
  21172. ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
  21173. *)
  21174. ac_count=0
  21175. $as_echo_n 0123456789 >"conftest.in"
  21176. while :
  21177. do
  21178. cat "conftest.in" "conftest.in" >"conftest.tmp"
  21179. mv "conftest.tmp" "conftest.in"
  21180. cp "conftest.in" "conftest.nl"
  21181. $as_echo 'GREP' >> "conftest.nl"
  21182. "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
  21183. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  21184. as_fn_arith $ac_count + 1 && ac_count=$as_val
  21185. if test $ac_count -gt ${ac_path_GREP_max-0}; then
  21186. # Best one so far, save it but keep looking for a better one
  21187. ac_cv_path_GREP="$ac_path_GREP"
  21188. ac_path_GREP_max=$ac_count
  21189. fi
  21190. # 10*(2^10) chars as input seems more than enough
  21191. test $ac_count -gt 10 && break
  21192. done
  21193. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  21194. esac
  21195. $ac_path_GREP_found && break 3
  21196. done
  21197. done
  21198. done
  21199. IFS=$as_save_IFS
  21200. if test -z "$ac_cv_path_GREP"; then
  21201. as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
  21202. fi
  21203. else
  21204. ac_cv_path_GREP=$GREP
  21205. fi
  21206. fi
  21207. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
  21208. $as_echo "$ac_cv_path_GREP" >&6; }
  21209. GREP="$ac_cv_path_GREP"
  21210. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
  21211. $as_echo_n "checking for egrep... " >&6; }
  21212. if ${ac_cv_path_EGREP+:} false; then :
  21213. $as_echo_n "(cached) " >&6
  21214. else
  21215. if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
  21216. then ac_cv_path_EGREP="$GREP -E"
  21217. else
  21218. if test -z "$EGREP"; then
  21219. ac_path_EGREP_found=false
  21220. # Loop through the user's path and test for each of PROGNAME-LIST
  21221. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21222. for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
  21223. do
  21224. IFS=$as_save_IFS
  21225. test -z "$as_dir" && as_dir=.
  21226. for ac_prog in egrep; do
  21227. for ac_exec_ext in '' $ac_executable_extensions; do
  21228. ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
  21229. as_fn_executable_p "$ac_path_EGREP" || continue
  21230. # Check for GNU ac_path_EGREP and select it if it is found.
  21231. # Check for GNU $ac_path_EGREP
  21232. case `"$ac_path_EGREP" --version 2>&1` in
  21233. *GNU*)
  21234. ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
  21235. *)
  21236. ac_count=0
  21237. $as_echo_n 0123456789 >"conftest.in"
  21238. while :
  21239. do
  21240. cat "conftest.in" "conftest.in" >"conftest.tmp"
  21241. mv "conftest.tmp" "conftest.in"
  21242. cp "conftest.in" "conftest.nl"
  21243. $as_echo 'EGREP' >> "conftest.nl"
  21244. "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
  21245. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  21246. as_fn_arith $ac_count + 1 && ac_count=$as_val
  21247. if test $ac_count -gt ${ac_path_EGREP_max-0}; then
  21248. # Best one so far, save it but keep looking for a better one
  21249. ac_cv_path_EGREP="$ac_path_EGREP"
  21250. ac_path_EGREP_max=$ac_count
  21251. fi
  21252. # 10*(2^10) chars as input seems more than enough
  21253. test $ac_count -gt 10 && break
  21254. done
  21255. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  21256. esac
  21257. $ac_path_EGREP_found && break 3
  21258. done
  21259. done
  21260. done
  21261. IFS=$as_save_IFS
  21262. if test -z "$ac_cv_path_EGREP"; then
  21263. as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
  21264. fi
  21265. else
  21266. ac_cv_path_EGREP=$EGREP
  21267. fi
  21268. fi
  21269. fi
  21270. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
  21271. $as_echo "$ac_cv_path_EGREP" >&6; }
  21272. EGREP="$ac_cv_path_EGREP"
  21273. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
  21274. $as_echo_n "checking for fgrep... " >&6; }
  21275. if ${ac_cv_path_FGREP+:} false; then :
  21276. $as_echo_n "(cached) " >&6
  21277. else
  21278. if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
  21279. then ac_cv_path_FGREP="$GREP -F"
  21280. else
  21281. if test -z "$FGREP"; then
  21282. ac_path_FGREP_found=false
  21283. # Loop through the user's path and test for each of PROGNAME-LIST
  21284. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21285. for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
  21286. do
  21287. IFS=$as_save_IFS
  21288. test -z "$as_dir" && as_dir=.
  21289. for ac_prog in fgrep; do
  21290. for ac_exec_ext in '' $ac_executable_extensions; do
  21291. ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
  21292. as_fn_executable_p "$ac_path_FGREP" || continue
  21293. # Check for GNU ac_path_FGREP and select it if it is found.
  21294. # Check for GNU $ac_path_FGREP
  21295. case `"$ac_path_FGREP" --version 2>&1` in
  21296. *GNU*)
  21297. ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
  21298. *)
  21299. ac_count=0
  21300. $as_echo_n 0123456789 >"conftest.in"
  21301. while :
  21302. do
  21303. cat "conftest.in" "conftest.in" >"conftest.tmp"
  21304. mv "conftest.tmp" "conftest.in"
  21305. cp "conftest.in" "conftest.nl"
  21306. $as_echo 'FGREP' >> "conftest.nl"
  21307. "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
  21308. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  21309. as_fn_arith $ac_count + 1 && ac_count=$as_val
  21310. if test $ac_count -gt ${ac_path_FGREP_max-0}; then
  21311. # Best one so far, save it but keep looking for a better one
  21312. ac_cv_path_FGREP="$ac_path_FGREP"
  21313. ac_path_FGREP_max=$ac_count
  21314. fi
  21315. # 10*(2^10) chars as input seems more than enough
  21316. test $ac_count -gt 10 && break
  21317. done
  21318. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  21319. esac
  21320. $ac_path_FGREP_found && break 3
  21321. done
  21322. done
  21323. done
  21324. IFS=$as_save_IFS
  21325. if test -z "$ac_cv_path_FGREP"; then
  21326. as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
  21327. fi
  21328. else
  21329. ac_cv_path_FGREP=$FGREP
  21330. fi
  21331. fi
  21332. fi
  21333. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
  21334. $as_echo "$ac_cv_path_FGREP" >&6; }
  21335. FGREP="$ac_cv_path_FGREP"
  21336. test -z "$GREP" && GREP=grep
  21337. # Check whether --with-gnu-ld was given.
  21338. if test "${with_gnu_ld+set}" = set; then :
  21339. withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
  21340. else
  21341. with_gnu_ld=no
  21342. fi
  21343. ac_prog=ld
  21344. if test yes = "$GCC"; then
  21345. # Check if gcc -print-prog-name=ld gives a path.
  21346. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
  21347. $as_echo_n "checking for ld used by $CC... " >&6; }
  21348. case $host in
  21349. *-*-mingw*)
  21350. # gcc leaves a trailing carriage return, which upsets mingw
  21351. ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
  21352. *)
  21353. ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
  21354. esac
  21355. case $ac_prog in
  21356. # Accept absolute paths.
  21357. [\\/]* | ?:[\\/]*)
  21358. re_direlt='/[^/][^/]*/\.\./'
  21359. # Canonicalize the pathname of ld
  21360. ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
  21361. while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
  21362. ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
  21363. done
  21364. test -z "$LD" && LD=$ac_prog
  21365. ;;
  21366. "")
  21367. # If it fails, then pretend we aren't using GCC.
  21368. ac_prog=ld
  21369. ;;
  21370. *)
  21371. # If it is relative, then search for the first ld in PATH.
  21372. with_gnu_ld=unknown
  21373. ;;
  21374. esac
  21375. elif test yes = "$with_gnu_ld"; then
  21376. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
  21377. $as_echo_n "checking for GNU ld... " >&6; }
  21378. else
  21379. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
  21380. $as_echo_n "checking for non-GNU ld... " >&6; }
  21381. fi
  21382. if ${lt_cv_path_LD+:} false; then :
  21383. $as_echo_n "(cached) " >&6
  21384. else
  21385. if test -z "$LD"; then
  21386. lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
  21387. for ac_dir in $PATH; do
  21388. IFS=$lt_save_ifs
  21389. test -z "$ac_dir" && ac_dir=.
  21390. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
  21391. lt_cv_path_LD=$ac_dir/$ac_prog
  21392. # Check to see if the program is GNU ld. I'd rather use --version,
  21393. # but apparently some variants of GNU ld only accept -v.
  21394. # Break only if it was the GNU/non-GNU ld that we prefer.
  21395. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
  21396. *GNU* | *'with BFD'*)
  21397. test no != "$with_gnu_ld" && break
  21398. ;;
  21399. *)
  21400. test yes != "$with_gnu_ld" && break
  21401. ;;
  21402. esac
  21403. fi
  21404. done
  21405. IFS=$lt_save_ifs
  21406. else
  21407. lt_cv_path_LD=$LD # Let the user override the test with a path.
  21408. fi
  21409. fi
  21410. LD=$lt_cv_path_LD
  21411. if test -n "$LD"; then
  21412. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
  21413. $as_echo "$LD" >&6; }
  21414. else
  21415. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  21416. $as_echo "no" >&6; }
  21417. fi
  21418. test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
  21419. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
  21420. $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
  21421. if ${lt_cv_prog_gnu_ld+:} false; then :
  21422. $as_echo_n "(cached) " >&6
  21423. else
  21424. # I'd rather use --version here, but apparently some GNU lds only accept -v.
  21425. case `$LD -v 2>&1 </dev/null` in
  21426. *GNU* | *'with BFD'*)
  21427. lt_cv_prog_gnu_ld=yes
  21428. ;;
  21429. *)
  21430. lt_cv_prog_gnu_ld=no
  21431. ;;
  21432. esac
  21433. fi
  21434. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
  21435. $as_echo "$lt_cv_prog_gnu_ld" >&6; }
  21436. with_gnu_ld=$lt_cv_prog_gnu_ld
  21437. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
  21438. $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
  21439. if ${lt_cv_path_NM+:} false; then :
  21440. $as_echo_n "(cached) " >&6
  21441. else
  21442. if test -n "$NM"; then
  21443. # Let the user override the test.
  21444. lt_cv_path_NM=$NM
  21445. else
  21446. lt_nm_to_check=${ac_tool_prefix}nm
  21447. if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
  21448. lt_nm_to_check="$lt_nm_to_check nm"
  21449. fi
  21450. for lt_tmp_nm in $lt_nm_to_check; do
  21451. lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
  21452. for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
  21453. IFS=$lt_save_ifs
  21454. test -z "$ac_dir" && ac_dir=.
  21455. tmp_nm=$ac_dir/$lt_tmp_nm
  21456. if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
  21457. # Check to see if the nm accepts a BSD-compat flag.
  21458. # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
  21459. # nm: unknown option "B" ignored
  21460. # Tru64's nm complains that /dev/null is an invalid object file
  21461. # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
  21462. case $build_os in
  21463. mingw*) lt_bad_file=conftest.nm/nofile ;;
  21464. *) lt_bad_file=/dev/null ;;
  21465. esac
  21466. case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
  21467. *$lt_bad_file* | *'Invalid file or object type'*)
  21468. lt_cv_path_NM="$tmp_nm -B"
  21469. break 2
  21470. ;;
  21471. *)
  21472. case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
  21473. */dev/null*)
  21474. lt_cv_path_NM="$tmp_nm -p"
  21475. break 2
  21476. ;;
  21477. *)
  21478. lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
  21479. continue # so that we can try to find one that supports BSD flags
  21480. ;;
  21481. esac
  21482. ;;
  21483. esac
  21484. fi
  21485. done
  21486. IFS=$lt_save_ifs
  21487. done
  21488. : ${lt_cv_path_NM=no}
  21489. fi
  21490. fi
  21491. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
  21492. $as_echo "$lt_cv_path_NM" >&6; }
  21493. if test no != "$lt_cv_path_NM"; then
  21494. NM=$lt_cv_path_NM
  21495. else
  21496. # Didn't find any BSD compatible name lister, look for dumpbin.
  21497. if test -n "$DUMPBIN"; then :
  21498. # Let the user override the test.
  21499. else
  21500. if test -n "$ac_tool_prefix"; then
  21501. for ac_prog in dumpbin "link -dump"
  21502. do
  21503. # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
  21504. set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  21505. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  21506. $as_echo_n "checking for $ac_word... " >&6; }
  21507. if ${ac_cv_prog_DUMPBIN+:} false; then :
  21508. $as_echo_n "(cached) " >&6
  21509. else
  21510. if test -n "$DUMPBIN"; then
  21511. ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
  21512. else
  21513. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21514. for as_dir in $PATH
  21515. do
  21516. IFS=$as_save_IFS
  21517. test -z "$as_dir" && as_dir=.
  21518. for ac_exec_ext in '' $ac_executable_extensions; do
  21519. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  21520. ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
  21521. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  21522. break 2
  21523. fi
  21524. done
  21525. done
  21526. IFS=$as_save_IFS
  21527. fi
  21528. fi
  21529. DUMPBIN=$ac_cv_prog_DUMPBIN
  21530. if test -n "$DUMPBIN"; then
  21531. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
  21532. $as_echo "$DUMPBIN" >&6; }
  21533. else
  21534. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  21535. $as_echo "no" >&6; }
  21536. fi
  21537. test -n "$DUMPBIN" && break
  21538. done
  21539. fi
  21540. if test -z "$DUMPBIN"; then
  21541. ac_ct_DUMPBIN=$DUMPBIN
  21542. for ac_prog in dumpbin "link -dump"
  21543. do
  21544. # Extract the first word of "$ac_prog", so it can be a program name with args.
  21545. set dummy $ac_prog; ac_word=$2
  21546. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  21547. $as_echo_n "checking for $ac_word... " >&6; }
  21548. if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
  21549. $as_echo_n "(cached) " >&6
  21550. else
  21551. if test -n "$ac_ct_DUMPBIN"; then
  21552. ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
  21553. else
  21554. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21555. for as_dir in $PATH
  21556. do
  21557. IFS=$as_save_IFS
  21558. test -z "$as_dir" && as_dir=.
  21559. for ac_exec_ext in '' $ac_executable_extensions; do
  21560. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  21561. ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
  21562. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  21563. break 2
  21564. fi
  21565. done
  21566. done
  21567. IFS=$as_save_IFS
  21568. fi
  21569. fi
  21570. ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
  21571. if test -n "$ac_ct_DUMPBIN"; then
  21572. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
  21573. $as_echo "$ac_ct_DUMPBIN" >&6; }
  21574. else
  21575. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  21576. $as_echo "no" >&6; }
  21577. fi
  21578. test -n "$ac_ct_DUMPBIN" && break
  21579. done
  21580. if test "x$ac_ct_DUMPBIN" = x; then
  21581. DUMPBIN=":"
  21582. else
  21583. case $cross_compiling:$ac_tool_warned in
  21584. yes:)
  21585. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  21586. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  21587. ac_tool_warned=yes ;;
  21588. esac
  21589. DUMPBIN=$ac_ct_DUMPBIN
  21590. fi
  21591. fi
  21592. case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
  21593. *COFF*)
  21594. DUMPBIN="$DUMPBIN -symbols -headers"
  21595. ;;
  21596. *)
  21597. DUMPBIN=:
  21598. ;;
  21599. esac
  21600. fi
  21601. if test : != "$DUMPBIN"; then
  21602. NM=$DUMPBIN
  21603. fi
  21604. fi
  21605. test -z "$NM" && NM=nm
  21606. { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
  21607. $as_echo_n "checking the name lister ($NM) interface... " >&6; }
  21608. if ${lt_cv_nm_interface+:} false; then :
  21609. $as_echo_n "(cached) " >&6
  21610. else
  21611. lt_cv_nm_interface="BSD nm"
  21612. echo "int some_variable = 0;" > conftest.$ac_ext
  21613. (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
  21614. (eval "$ac_compile" 2>conftest.err)
  21615. cat conftest.err >&5
  21616. (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
  21617. (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
  21618. cat conftest.err >&5
  21619. (eval echo "\"\$as_me:$LINENO: output\"" >&5)
  21620. cat conftest.out >&5
  21621. if $GREP 'External.*some_variable' conftest.out > /dev/null; then
  21622. lt_cv_nm_interface="MS dumpbin"
  21623. fi
  21624. rm -f conftest*
  21625. fi
  21626. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
  21627. $as_echo "$lt_cv_nm_interface" >&6; }
  21628. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
  21629. $as_echo_n "checking whether ln -s works... " >&6; }
  21630. LN_S=$as_ln_s
  21631. if test "$LN_S" = "ln -s"; then
  21632. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  21633. $as_echo "yes" >&6; }
  21634. else
  21635. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
  21636. $as_echo "no, using $LN_S" >&6; }
  21637. fi
  21638. # find the maximum length of command line arguments
  21639. { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
  21640. $as_echo_n "checking the maximum length of command line arguments... " >&6; }
  21641. if ${lt_cv_sys_max_cmd_len+:} false; then :
  21642. $as_echo_n "(cached) " >&6
  21643. else
  21644. i=0
  21645. teststring=ABCD
  21646. case $build_os in
  21647. msdosdjgpp*)
  21648. # On DJGPP, this test can blow up pretty badly due to problems in libc
  21649. # (any single argument exceeding 2000 bytes causes a buffer overrun
  21650. # during glob expansion). Even if it were fixed, the result of this
  21651. # check would be larger than it should be.
  21652. lt_cv_sys_max_cmd_len=12288; # 12K is about right
  21653. ;;
  21654. gnu*)
  21655. # Under GNU Hurd, this test is not required because there is
  21656. # no limit to the length of command line arguments.
  21657. # Libtool will interpret -1 as no limit whatsoever
  21658. lt_cv_sys_max_cmd_len=-1;
  21659. ;;
  21660. cygwin* | mingw* | cegcc*)
  21661. # On Win9x/ME, this test blows up -- it succeeds, but takes
  21662. # about 5 minutes as the teststring grows exponentially.
  21663. # Worse, since 9x/ME are not pre-emptively multitasking,
  21664. # you end up with a "frozen" computer, even though with patience
  21665. # the test eventually succeeds (with a max line length of 256k).
  21666. # Instead, let's just punt: use the minimum linelength reported by
  21667. # all of the supported platforms: 8192 (on NT/2K/XP).
  21668. lt_cv_sys_max_cmd_len=8192;
  21669. ;;
  21670. mint*)
  21671. # On MiNT this can take a long time and run out of memory.
  21672. lt_cv_sys_max_cmd_len=8192;
  21673. ;;
  21674. amigaos*)
  21675. # On AmigaOS with pdksh, this test takes hours, literally.
  21676. # So we just punt and use a minimum line length of 8192.
  21677. lt_cv_sys_max_cmd_len=8192;
  21678. ;;
  21679. bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
  21680. # This has been around since 386BSD, at least. Likely further.
  21681. if test -x /sbin/sysctl; then
  21682. lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
  21683. elif test -x /usr/sbin/sysctl; then
  21684. lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
  21685. else
  21686. lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
  21687. fi
  21688. # And add a safety zone
  21689. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
  21690. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
  21691. ;;
  21692. interix*)
  21693. # We know the value 262144 and hardcode it with a safety zone (like BSD)
  21694. lt_cv_sys_max_cmd_len=196608
  21695. ;;
  21696. os2*)
  21697. # The test takes a long time on OS/2.
  21698. lt_cv_sys_max_cmd_len=8192
  21699. ;;
  21700. osf*)
  21701. # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
  21702. # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
  21703. # nice to cause kernel panics so lets avoid the loop below.
  21704. # First set a reasonable default.
  21705. lt_cv_sys_max_cmd_len=16384
  21706. #
  21707. if test -x /sbin/sysconfig; then
  21708. case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
  21709. *1*) lt_cv_sys_max_cmd_len=-1 ;;
  21710. esac
  21711. fi
  21712. ;;
  21713. sco3.2v5*)
  21714. lt_cv_sys_max_cmd_len=102400
  21715. ;;
  21716. sysv5* | sco5v6* | sysv4.2uw2*)
  21717. kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
  21718. if test -n "$kargmax"; then
  21719. lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
  21720. else
  21721. lt_cv_sys_max_cmd_len=32768
  21722. fi
  21723. ;;
  21724. *)
  21725. lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
  21726. if test -n "$lt_cv_sys_max_cmd_len" && \
  21727. test undefined != "$lt_cv_sys_max_cmd_len"; then
  21728. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
  21729. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
  21730. else
  21731. # Make teststring a little bigger before we do anything with it.
  21732. # a 1K string should be a reasonable start.
  21733. for i in 1 2 3 4 5 6 7 8; do
  21734. teststring=$teststring$teststring
  21735. done
  21736. SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
  21737. # If test is not a shell built-in, we'll probably end up computing a
  21738. # maximum length that is only half of the actual maximum length, but
  21739. # we can't tell.
  21740. while { test X`env echo "$teststring$teststring" 2>/dev/null` \
  21741. = "X$teststring$teststring"; } >/dev/null 2>&1 &&
  21742. test 17 != "$i" # 1/2 MB should be enough
  21743. do
  21744. i=`expr $i + 1`
  21745. teststring=$teststring$teststring
  21746. done
  21747. # Only check the string length outside the loop.
  21748. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
  21749. teststring=
  21750. # Add a significant safety factor because C++ compilers can tack on
  21751. # massive amounts of additional arguments before passing them to the
  21752. # linker. It appears as though 1/2 is a usable value.
  21753. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
  21754. fi
  21755. ;;
  21756. esac
  21757. fi
  21758. if test -n "$lt_cv_sys_max_cmd_len"; then
  21759. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
  21760. $as_echo "$lt_cv_sys_max_cmd_len" >&6; }
  21761. else
  21762. { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
  21763. $as_echo "none" >&6; }
  21764. fi
  21765. max_cmd_len=$lt_cv_sys_max_cmd_len
  21766. : ${CP="cp -f"}
  21767. : ${MV="mv -f"}
  21768. : ${RM="rm -f"}
  21769. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  21770. lt_unset=unset
  21771. else
  21772. lt_unset=false
  21773. fi
  21774. # test EBCDIC or ASCII
  21775. case `echo X|tr X '\101'` in
  21776. A) # ASCII based system
  21777. # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
  21778. lt_SP2NL='tr \040 \012'
  21779. lt_NL2SP='tr \015\012 \040\040'
  21780. ;;
  21781. *) # EBCDIC based system
  21782. lt_SP2NL='tr \100 \n'
  21783. lt_NL2SP='tr \r\n \100\100'
  21784. ;;
  21785. esac
  21786. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
  21787. $as_echo_n "checking how to convert $build file names to $host format... " >&6; }
  21788. if ${lt_cv_to_host_file_cmd+:} false; then :
  21789. $as_echo_n "(cached) " >&6
  21790. else
  21791. case $host in
  21792. *-*-mingw* )
  21793. case $build in
  21794. *-*-mingw* ) # actually msys
  21795. lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
  21796. ;;
  21797. *-*-cygwin* )
  21798. lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
  21799. ;;
  21800. * ) # otherwise, assume *nix
  21801. lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
  21802. ;;
  21803. esac
  21804. ;;
  21805. *-*-cygwin* )
  21806. case $build in
  21807. *-*-mingw* ) # actually msys
  21808. lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
  21809. ;;
  21810. *-*-cygwin* )
  21811. lt_cv_to_host_file_cmd=func_convert_file_noop
  21812. ;;
  21813. * ) # otherwise, assume *nix
  21814. lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
  21815. ;;
  21816. esac
  21817. ;;
  21818. * ) # unhandled hosts (and "normal" native builds)
  21819. lt_cv_to_host_file_cmd=func_convert_file_noop
  21820. ;;
  21821. esac
  21822. fi
  21823. to_host_file_cmd=$lt_cv_to_host_file_cmd
  21824. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
  21825. $as_echo "$lt_cv_to_host_file_cmd" >&6; }
  21826. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
  21827. $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
  21828. if ${lt_cv_to_tool_file_cmd+:} false; then :
  21829. $as_echo_n "(cached) " >&6
  21830. else
  21831. #assume ordinary cross tools, or native build.
  21832. lt_cv_to_tool_file_cmd=func_convert_file_noop
  21833. case $host in
  21834. *-*-mingw* )
  21835. case $build in
  21836. *-*-mingw* ) # actually msys
  21837. lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
  21838. ;;
  21839. esac
  21840. ;;
  21841. esac
  21842. fi
  21843. to_tool_file_cmd=$lt_cv_to_tool_file_cmd
  21844. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
  21845. $as_echo "$lt_cv_to_tool_file_cmd" >&6; }
  21846. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
  21847. $as_echo_n "checking for $LD option to reload object files... " >&6; }
  21848. if ${lt_cv_ld_reload_flag+:} false; then :
  21849. $as_echo_n "(cached) " >&6
  21850. else
  21851. lt_cv_ld_reload_flag='-r'
  21852. fi
  21853. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
  21854. $as_echo "$lt_cv_ld_reload_flag" >&6; }
  21855. reload_flag=$lt_cv_ld_reload_flag
  21856. case $reload_flag in
  21857. "" | " "*) ;;
  21858. *) reload_flag=" $reload_flag" ;;
  21859. esac
  21860. reload_cmds='$LD$reload_flag -o $output$reload_objs'
  21861. case $host_os in
  21862. cygwin* | mingw* | pw32* | cegcc*)
  21863. if test yes != "$GCC"; then
  21864. reload_cmds=false
  21865. fi
  21866. ;;
  21867. darwin*)
  21868. if test yes = "$GCC"; then
  21869. reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
  21870. else
  21871. reload_cmds='$LD$reload_flag -o $output$reload_objs'
  21872. fi
  21873. ;;
  21874. esac
  21875. if test -n "$ac_tool_prefix"; then
  21876. # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
  21877. set dummy ${ac_tool_prefix}objdump; ac_word=$2
  21878. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  21879. $as_echo_n "checking for $ac_word... " >&6; }
  21880. if ${ac_cv_prog_OBJDUMP+:} false; then :
  21881. $as_echo_n "(cached) " >&6
  21882. else
  21883. if test -n "$OBJDUMP"; then
  21884. ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
  21885. else
  21886. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21887. for as_dir in $PATH
  21888. do
  21889. IFS=$as_save_IFS
  21890. test -z "$as_dir" && as_dir=.
  21891. for ac_exec_ext in '' $ac_executable_extensions; do
  21892. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  21893. ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
  21894. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  21895. break 2
  21896. fi
  21897. done
  21898. done
  21899. IFS=$as_save_IFS
  21900. fi
  21901. fi
  21902. OBJDUMP=$ac_cv_prog_OBJDUMP
  21903. if test -n "$OBJDUMP"; then
  21904. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
  21905. $as_echo "$OBJDUMP" >&6; }
  21906. else
  21907. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  21908. $as_echo "no" >&6; }
  21909. fi
  21910. fi
  21911. if test -z "$ac_cv_prog_OBJDUMP"; then
  21912. ac_ct_OBJDUMP=$OBJDUMP
  21913. # Extract the first word of "objdump", so it can be a program name with args.
  21914. set dummy objdump; ac_word=$2
  21915. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  21916. $as_echo_n "checking for $ac_word... " >&6; }
  21917. if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
  21918. $as_echo_n "(cached) " >&6
  21919. else
  21920. if test -n "$ac_ct_OBJDUMP"; then
  21921. ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
  21922. else
  21923. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  21924. for as_dir in $PATH
  21925. do
  21926. IFS=$as_save_IFS
  21927. test -z "$as_dir" && as_dir=.
  21928. for ac_exec_ext in '' $ac_executable_extensions; do
  21929. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  21930. ac_cv_prog_ac_ct_OBJDUMP="objdump"
  21931. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  21932. break 2
  21933. fi
  21934. done
  21935. done
  21936. IFS=$as_save_IFS
  21937. fi
  21938. fi
  21939. ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
  21940. if test -n "$ac_ct_OBJDUMP"; then
  21941. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
  21942. $as_echo "$ac_ct_OBJDUMP" >&6; }
  21943. else
  21944. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  21945. $as_echo "no" >&6; }
  21946. fi
  21947. if test "x$ac_ct_OBJDUMP" = x; then
  21948. OBJDUMP="false"
  21949. else
  21950. case $cross_compiling:$ac_tool_warned in
  21951. yes:)
  21952. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  21953. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  21954. ac_tool_warned=yes ;;
  21955. esac
  21956. OBJDUMP=$ac_ct_OBJDUMP
  21957. fi
  21958. else
  21959. OBJDUMP="$ac_cv_prog_OBJDUMP"
  21960. fi
  21961. test -z "$OBJDUMP" && OBJDUMP=objdump
  21962. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
  21963. $as_echo_n "checking how to recognize dependent libraries... " >&6; }
  21964. if ${lt_cv_deplibs_check_method+:} false; then :
  21965. $as_echo_n "(cached) " >&6
  21966. else
  21967. lt_cv_file_magic_cmd='$MAGIC_CMD'
  21968. lt_cv_file_magic_test_file=
  21969. lt_cv_deplibs_check_method='unknown'
  21970. # Need to set the preceding variable on all platforms that support
  21971. # interlibrary dependencies.
  21972. # 'none' -- dependencies not supported.
  21973. # 'unknown' -- same as none, but documents that we really don't know.
  21974. # 'pass_all' -- all dependencies passed with no checks.
  21975. # 'test_compile' -- check by making test program.
  21976. # 'file_magic [[regex]]' -- check by looking for files in library path
  21977. # that responds to the $file_magic_cmd with a given extended regex.
  21978. # If you have 'file' or equivalent on your system and you're not sure
  21979. # whether 'pass_all' will *always* work, you probably want this one.
  21980. case $host_os in
  21981. aix[4-9]*)
  21982. lt_cv_deplibs_check_method=pass_all
  21983. ;;
  21984. beos*)
  21985. lt_cv_deplibs_check_method=pass_all
  21986. ;;
  21987. bsdi[45]*)
  21988. lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
  21989. lt_cv_file_magic_cmd='/usr/bin/file -L'
  21990. lt_cv_file_magic_test_file=/shlib/libc.so
  21991. ;;
  21992. cygwin*)
  21993. # func_win32_libid is a shell function defined in ltmain.sh
  21994. lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
  21995. lt_cv_file_magic_cmd='func_win32_libid'
  21996. ;;
  21997. mingw* | pw32*)
  21998. # Base MSYS/MinGW do not provide the 'file' command needed by
  21999. # func_win32_libid shell function, so use a weaker test based on 'objdump',
  22000. # unless we find 'file', for example because we are cross-compiling.
  22001. if ( file / ) >/dev/null 2>&1; then
  22002. lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
  22003. lt_cv_file_magic_cmd='func_win32_libid'
  22004. else
  22005. # Keep this pattern in sync with the one in func_win32_libid.
  22006. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
  22007. lt_cv_file_magic_cmd='$OBJDUMP -f'
  22008. fi
  22009. ;;
  22010. cegcc*)
  22011. # use the weaker test based on 'objdump'. See mingw*.
  22012. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
  22013. lt_cv_file_magic_cmd='$OBJDUMP -f'
  22014. ;;
  22015. darwin* | rhapsody*)
  22016. lt_cv_deplibs_check_method=pass_all
  22017. ;;
  22018. freebsd* | dragonfly*)
  22019. if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
  22020. case $host_cpu in
  22021. i*86 )
  22022. # Not sure whether the presence of OpenBSD here was a mistake.
  22023. # Let's accept both of them until this is cleared up.
  22024. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
  22025. lt_cv_file_magic_cmd=/usr/bin/file
  22026. lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
  22027. ;;
  22028. esac
  22029. else
  22030. lt_cv_deplibs_check_method=pass_all
  22031. fi
  22032. ;;
  22033. haiku*)
  22034. lt_cv_deplibs_check_method=pass_all
  22035. ;;
  22036. hpux10.20* | hpux11*)
  22037. lt_cv_file_magic_cmd=/usr/bin/file
  22038. case $host_cpu in
  22039. ia64*)
  22040. lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
  22041. lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
  22042. ;;
  22043. hppa*64*)
  22044. lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
  22045. lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
  22046. ;;
  22047. *)
  22048. lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
  22049. lt_cv_file_magic_test_file=/usr/lib/libc.sl
  22050. ;;
  22051. esac
  22052. ;;
  22053. interix[3-9]*)
  22054. # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
  22055. lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
  22056. ;;
  22057. irix5* | irix6* | nonstopux*)
  22058. case $LD in
  22059. *-32|*"-32 ") libmagic=32-bit;;
  22060. *-n32|*"-n32 ") libmagic=N32;;
  22061. *-64|*"-64 ") libmagic=64-bit;;
  22062. *) libmagic=never-match;;
  22063. esac
  22064. lt_cv_deplibs_check_method=pass_all
  22065. ;;
  22066. # This must be glibc/ELF.
  22067. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  22068. lt_cv_deplibs_check_method=pass_all
  22069. ;;
  22070. netbsd*)
  22071. if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
  22072. lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
  22073. else
  22074. lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
  22075. fi
  22076. ;;
  22077. newos6*)
  22078. lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
  22079. lt_cv_file_magic_cmd=/usr/bin/file
  22080. lt_cv_file_magic_test_file=/usr/lib/libnls.so
  22081. ;;
  22082. *nto* | *qnx*)
  22083. lt_cv_deplibs_check_method=pass_all
  22084. ;;
  22085. openbsd* | bitrig*)
  22086. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  22087. lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
  22088. else
  22089. lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
  22090. fi
  22091. ;;
  22092. osf3* | osf4* | osf5*)
  22093. lt_cv_deplibs_check_method=pass_all
  22094. ;;
  22095. rdos*)
  22096. lt_cv_deplibs_check_method=pass_all
  22097. ;;
  22098. solaris*)
  22099. lt_cv_deplibs_check_method=pass_all
  22100. ;;
  22101. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  22102. lt_cv_deplibs_check_method=pass_all
  22103. ;;
  22104. sysv4 | sysv4.3*)
  22105. case $host_vendor in
  22106. motorola)
  22107. lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
  22108. lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
  22109. ;;
  22110. ncr)
  22111. lt_cv_deplibs_check_method=pass_all
  22112. ;;
  22113. sequent)
  22114. lt_cv_file_magic_cmd='/bin/file'
  22115. lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
  22116. ;;
  22117. sni)
  22118. lt_cv_file_magic_cmd='/bin/file'
  22119. lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
  22120. lt_cv_file_magic_test_file=/lib/libc.so
  22121. ;;
  22122. siemens)
  22123. lt_cv_deplibs_check_method=pass_all
  22124. ;;
  22125. pc)
  22126. lt_cv_deplibs_check_method=pass_all
  22127. ;;
  22128. esac
  22129. ;;
  22130. tpf*)
  22131. lt_cv_deplibs_check_method=pass_all
  22132. ;;
  22133. os2*)
  22134. lt_cv_deplibs_check_method=pass_all
  22135. ;;
  22136. esac
  22137. fi
  22138. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
  22139. $as_echo "$lt_cv_deplibs_check_method" >&6; }
  22140. file_magic_glob=
  22141. want_nocaseglob=no
  22142. if test "$build" = "$host"; then
  22143. case $host_os in
  22144. mingw* | pw32*)
  22145. if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
  22146. want_nocaseglob=yes
  22147. else
  22148. file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
  22149. fi
  22150. ;;
  22151. esac
  22152. fi
  22153. file_magic_cmd=$lt_cv_file_magic_cmd
  22154. deplibs_check_method=$lt_cv_deplibs_check_method
  22155. test -z "$deplibs_check_method" && deplibs_check_method=unknown
  22156. if test -n "$ac_tool_prefix"; then
  22157. # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
  22158. set dummy ${ac_tool_prefix}dlltool; ac_word=$2
  22159. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22160. $as_echo_n "checking for $ac_word... " >&6; }
  22161. if ${ac_cv_prog_DLLTOOL+:} false; then :
  22162. $as_echo_n "(cached) " >&6
  22163. else
  22164. if test -n "$DLLTOOL"; then
  22165. ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
  22166. else
  22167. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22168. for as_dir in $PATH
  22169. do
  22170. IFS=$as_save_IFS
  22171. test -z "$as_dir" && as_dir=.
  22172. for ac_exec_ext in '' $ac_executable_extensions; do
  22173. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22174. ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
  22175. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22176. break 2
  22177. fi
  22178. done
  22179. done
  22180. IFS=$as_save_IFS
  22181. fi
  22182. fi
  22183. DLLTOOL=$ac_cv_prog_DLLTOOL
  22184. if test -n "$DLLTOOL"; then
  22185. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
  22186. $as_echo "$DLLTOOL" >&6; }
  22187. else
  22188. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22189. $as_echo "no" >&6; }
  22190. fi
  22191. fi
  22192. if test -z "$ac_cv_prog_DLLTOOL"; then
  22193. ac_ct_DLLTOOL=$DLLTOOL
  22194. # Extract the first word of "dlltool", so it can be a program name with args.
  22195. set dummy dlltool; ac_word=$2
  22196. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22197. $as_echo_n "checking for $ac_word... " >&6; }
  22198. if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
  22199. $as_echo_n "(cached) " >&6
  22200. else
  22201. if test -n "$ac_ct_DLLTOOL"; then
  22202. ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
  22203. else
  22204. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22205. for as_dir in $PATH
  22206. do
  22207. IFS=$as_save_IFS
  22208. test -z "$as_dir" && as_dir=.
  22209. for ac_exec_ext in '' $ac_executable_extensions; do
  22210. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22211. ac_cv_prog_ac_ct_DLLTOOL="dlltool"
  22212. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22213. break 2
  22214. fi
  22215. done
  22216. done
  22217. IFS=$as_save_IFS
  22218. fi
  22219. fi
  22220. ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
  22221. if test -n "$ac_ct_DLLTOOL"; then
  22222. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
  22223. $as_echo "$ac_ct_DLLTOOL" >&6; }
  22224. else
  22225. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22226. $as_echo "no" >&6; }
  22227. fi
  22228. if test "x$ac_ct_DLLTOOL" = x; then
  22229. DLLTOOL="false"
  22230. else
  22231. case $cross_compiling:$ac_tool_warned in
  22232. yes:)
  22233. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  22234. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  22235. ac_tool_warned=yes ;;
  22236. esac
  22237. DLLTOOL=$ac_ct_DLLTOOL
  22238. fi
  22239. else
  22240. DLLTOOL="$ac_cv_prog_DLLTOOL"
  22241. fi
  22242. test -z "$DLLTOOL" && DLLTOOL=dlltool
  22243. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
  22244. $as_echo_n "checking how to associate runtime and link libraries... " >&6; }
  22245. if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
  22246. $as_echo_n "(cached) " >&6
  22247. else
  22248. lt_cv_sharedlib_from_linklib_cmd='unknown'
  22249. case $host_os in
  22250. cygwin* | mingw* | pw32* | cegcc*)
  22251. # two different shell functions defined in ltmain.sh;
  22252. # decide which one to use based on capabilities of $DLLTOOL
  22253. case `$DLLTOOL --help 2>&1` in
  22254. *--identify-strict*)
  22255. lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
  22256. ;;
  22257. *)
  22258. lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
  22259. ;;
  22260. esac
  22261. ;;
  22262. *)
  22263. # fallback: assume linklib IS sharedlib
  22264. lt_cv_sharedlib_from_linklib_cmd=$ECHO
  22265. ;;
  22266. esac
  22267. fi
  22268. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
  22269. $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
  22270. sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
  22271. test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
  22272. if test -n "$ac_tool_prefix"; then
  22273. for ac_prog in ar
  22274. do
  22275. # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
  22276. set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  22277. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22278. $as_echo_n "checking for $ac_word... " >&6; }
  22279. if ${ac_cv_prog_AR+:} false; then :
  22280. $as_echo_n "(cached) " >&6
  22281. else
  22282. if test -n "$AR"; then
  22283. ac_cv_prog_AR="$AR" # Let the user override the test.
  22284. else
  22285. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22286. for as_dir in $PATH
  22287. do
  22288. IFS=$as_save_IFS
  22289. test -z "$as_dir" && as_dir=.
  22290. for ac_exec_ext in '' $ac_executable_extensions; do
  22291. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22292. ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
  22293. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22294. break 2
  22295. fi
  22296. done
  22297. done
  22298. IFS=$as_save_IFS
  22299. fi
  22300. fi
  22301. AR=$ac_cv_prog_AR
  22302. if test -n "$AR"; then
  22303. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
  22304. $as_echo "$AR" >&6; }
  22305. else
  22306. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22307. $as_echo "no" >&6; }
  22308. fi
  22309. test -n "$AR" && break
  22310. done
  22311. fi
  22312. if test -z "$AR"; then
  22313. ac_ct_AR=$AR
  22314. for ac_prog in ar
  22315. do
  22316. # Extract the first word of "$ac_prog", so it can be a program name with args.
  22317. set dummy $ac_prog; ac_word=$2
  22318. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22319. $as_echo_n "checking for $ac_word... " >&6; }
  22320. if ${ac_cv_prog_ac_ct_AR+:} false; then :
  22321. $as_echo_n "(cached) " >&6
  22322. else
  22323. if test -n "$ac_ct_AR"; then
  22324. ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
  22325. else
  22326. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22327. for as_dir in $PATH
  22328. do
  22329. IFS=$as_save_IFS
  22330. test -z "$as_dir" && as_dir=.
  22331. for ac_exec_ext in '' $ac_executable_extensions; do
  22332. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22333. ac_cv_prog_ac_ct_AR="$ac_prog"
  22334. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22335. break 2
  22336. fi
  22337. done
  22338. done
  22339. IFS=$as_save_IFS
  22340. fi
  22341. fi
  22342. ac_ct_AR=$ac_cv_prog_ac_ct_AR
  22343. if test -n "$ac_ct_AR"; then
  22344. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
  22345. $as_echo "$ac_ct_AR" >&6; }
  22346. else
  22347. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22348. $as_echo "no" >&6; }
  22349. fi
  22350. test -n "$ac_ct_AR" && break
  22351. done
  22352. if test "x$ac_ct_AR" = x; then
  22353. AR="false"
  22354. else
  22355. case $cross_compiling:$ac_tool_warned in
  22356. yes:)
  22357. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  22358. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  22359. ac_tool_warned=yes ;;
  22360. esac
  22361. AR=$ac_ct_AR
  22362. fi
  22363. fi
  22364. : ${AR=ar}
  22365. : ${AR_FLAGS=cru}
  22366. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
  22367. $as_echo_n "checking for archiver @FILE support... " >&6; }
  22368. if ${lt_cv_ar_at_file+:} false; then :
  22369. $as_echo_n "(cached) " >&6
  22370. else
  22371. lt_cv_ar_at_file=no
  22372. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  22373. /* end confdefs.h. */
  22374. int
  22375. main ()
  22376. {
  22377. ;
  22378. return 0;
  22379. }
  22380. _ACEOF
  22381. if ac_fn_cxx_try_compile "$LINENO"; then :
  22382. echo conftest.$ac_objext > conftest.lst
  22383. lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
  22384. { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
  22385. (eval $lt_ar_try) 2>&5
  22386. ac_status=$?
  22387. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  22388. test $ac_status = 0; }
  22389. if test 0 -eq "$ac_status"; then
  22390. # Ensure the archiver fails upon bogus file names.
  22391. rm -f conftest.$ac_objext libconftest.a
  22392. { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
  22393. (eval $lt_ar_try) 2>&5
  22394. ac_status=$?
  22395. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  22396. test $ac_status = 0; }
  22397. if test 0 -ne "$ac_status"; then
  22398. lt_cv_ar_at_file=@
  22399. fi
  22400. fi
  22401. rm -f conftest.* libconftest.a
  22402. fi
  22403. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  22404. fi
  22405. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
  22406. $as_echo "$lt_cv_ar_at_file" >&6; }
  22407. if test no = "$lt_cv_ar_at_file"; then
  22408. archiver_list_spec=
  22409. else
  22410. archiver_list_spec=$lt_cv_ar_at_file
  22411. fi
  22412. if test -n "$ac_tool_prefix"; then
  22413. # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
  22414. set dummy ${ac_tool_prefix}strip; ac_word=$2
  22415. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22416. $as_echo_n "checking for $ac_word... " >&6; }
  22417. if ${ac_cv_prog_STRIP+:} false; then :
  22418. $as_echo_n "(cached) " >&6
  22419. else
  22420. if test -n "$STRIP"; then
  22421. ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
  22422. else
  22423. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22424. for as_dir in $PATH
  22425. do
  22426. IFS=$as_save_IFS
  22427. test -z "$as_dir" && as_dir=.
  22428. for ac_exec_ext in '' $ac_executable_extensions; do
  22429. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22430. ac_cv_prog_STRIP="${ac_tool_prefix}strip"
  22431. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22432. break 2
  22433. fi
  22434. done
  22435. done
  22436. IFS=$as_save_IFS
  22437. fi
  22438. fi
  22439. STRIP=$ac_cv_prog_STRIP
  22440. if test -n "$STRIP"; then
  22441. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
  22442. $as_echo "$STRIP" >&6; }
  22443. else
  22444. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22445. $as_echo "no" >&6; }
  22446. fi
  22447. fi
  22448. if test -z "$ac_cv_prog_STRIP"; then
  22449. ac_ct_STRIP=$STRIP
  22450. # Extract the first word of "strip", so it can be a program name with args.
  22451. set dummy strip; ac_word=$2
  22452. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22453. $as_echo_n "checking for $ac_word... " >&6; }
  22454. if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
  22455. $as_echo_n "(cached) " >&6
  22456. else
  22457. if test -n "$ac_ct_STRIP"; then
  22458. ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
  22459. else
  22460. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22461. for as_dir in $PATH
  22462. do
  22463. IFS=$as_save_IFS
  22464. test -z "$as_dir" && as_dir=.
  22465. for ac_exec_ext in '' $ac_executable_extensions; do
  22466. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22467. ac_cv_prog_ac_ct_STRIP="strip"
  22468. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22469. break 2
  22470. fi
  22471. done
  22472. done
  22473. IFS=$as_save_IFS
  22474. fi
  22475. fi
  22476. ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
  22477. if test -n "$ac_ct_STRIP"; then
  22478. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
  22479. $as_echo "$ac_ct_STRIP" >&6; }
  22480. else
  22481. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22482. $as_echo "no" >&6; }
  22483. fi
  22484. if test "x$ac_ct_STRIP" = x; then
  22485. STRIP=":"
  22486. else
  22487. case $cross_compiling:$ac_tool_warned in
  22488. yes:)
  22489. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  22490. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  22491. ac_tool_warned=yes ;;
  22492. esac
  22493. STRIP=$ac_ct_STRIP
  22494. fi
  22495. else
  22496. STRIP="$ac_cv_prog_STRIP"
  22497. fi
  22498. test -z "$STRIP" && STRIP=:
  22499. if test -n "$ac_tool_prefix"; then
  22500. # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
  22501. set dummy ${ac_tool_prefix}ranlib; ac_word=$2
  22502. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22503. $as_echo_n "checking for $ac_word... " >&6; }
  22504. if ${ac_cv_prog_RANLIB+:} false; then :
  22505. $as_echo_n "(cached) " >&6
  22506. else
  22507. if test -n "$RANLIB"; then
  22508. ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
  22509. else
  22510. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22511. for as_dir in $PATH
  22512. do
  22513. IFS=$as_save_IFS
  22514. test -z "$as_dir" && as_dir=.
  22515. for ac_exec_ext in '' $ac_executable_extensions; do
  22516. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22517. ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
  22518. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22519. break 2
  22520. fi
  22521. done
  22522. done
  22523. IFS=$as_save_IFS
  22524. fi
  22525. fi
  22526. RANLIB=$ac_cv_prog_RANLIB
  22527. if test -n "$RANLIB"; then
  22528. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
  22529. $as_echo "$RANLIB" >&6; }
  22530. else
  22531. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22532. $as_echo "no" >&6; }
  22533. fi
  22534. fi
  22535. if test -z "$ac_cv_prog_RANLIB"; then
  22536. ac_ct_RANLIB=$RANLIB
  22537. # Extract the first word of "ranlib", so it can be a program name with args.
  22538. set dummy ranlib; ac_word=$2
  22539. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  22540. $as_echo_n "checking for $ac_word... " >&6; }
  22541. if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
  22542. $as_echo_n "(cached) " >&6
  22543. else
  22544. if test -n "$ac_ct_RANLIB"; then
  22545. ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
  22546. else
  22547. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22548. for as_dir in $PATH
  22549. do
  22550. IFS=$as_save_IFS
  22551. test -z "$as_dir" && as_dir=.
  22552. for ac_exec_ext in '' $ac_executable_extensions; do
  22553. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  22554. ac_cv_prog_ac_ct_RANLIB="ranlib"
  22555. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  22556. break 2
  22557. fi
  22558. done
  22559. done
  22560. IFS=$as_save_IFS
  22561. fi
  22562. fi
  22563. ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
  22564. if test -n "$ac_ct_RANLIB"; then
  22565. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
  22566. $as_echo "$ac_ct_RANLIB" >&6; }
  22567. else
  22568. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  22569. $as_echo "no" >&6; }
  22570. fi
  22571. if test "x$ac_ct_RANLIB" = x; then
  22572. RANLIB=":"
  22573. else
  22574. case $cross_compiling:$ac_tool_warned in
  22575. yes:)
  22576. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  22577. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  22578. ac_tool_warned=yes ;;
  22579. esac
  22580. RANLIB=$ac_ct_RANLIB
  22581. fi
  22582. else
  22583. RANLIB="$ac_cv_prog_RANLIB"
  22584. fi
  22585. test -z "$RANLIB" && RANLIB=:
  22586. # Determine commands to create old-style static archives.
  22587. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
  22588. old_postinstall_cmds='chmod 644 $oldlib'
  22589. old_postuninstall_cmds=
  22590. if test -n "$RANLIB"; then
  22591. case $host_os in
  22592. bitrig* | openbsd*)
  22593. old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
  22594. ;;
  22595. *)
  22596. old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
  22597. ;;
  22598. esac
  22599. old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
  22600. fi
  22601. case $host_os in
  22602. darwin*)
  22603. lock_old_archive_extraction=yes ;;
  22604. *)
  22605. lock_old_archive_extraction=no ;;
  22606. esac
  22607. # If no C compiler was specified, use CC.
  22608. LTCC=${LTCC-"$CC"}
  22609. # If no C compiler flags were specified, use CFLAGS.
  22610. LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
  22611. # Allow CC to be a program name with arguments.
  22612. compiler=$CC
  22613. # Check for command to grab the raw symbol name followed by C symbol from nm.
  22614. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
  22615. $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
  22616. if ${lt_cv_sys_global_symbol_pipe+:} false; then :
  22617. $as_echo_n "(cached) " >&6
  22618. else
  22619. # These are sane defaults that work on at least a few old systems.
  22620. # [They come from Ultrix. What could be older than Ultrix?!! ;)]
  22621. # Character class describing NM global symbol codes.
  22622. symcode='[BCDEGRST]'
  22623. # Regexp to match symbols that can be accessed directly from C.
  22624. sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
  22625. # Define system-specific variables.
  22626. case $host_os in
  22627. aix*)
  22628. symcode='[BCDT]'
  22629. ;;
  22630. cygwin* | mingw* | pw32* | cegcc*)
  22631. symcode='[ABCDGISTW]'
  22632. ;;
  22633. hpux*)
  22634. if test ia64 = "$host_cpu"; then
  22635. symcode='[ABCDEGRST]'
  22636. fi
  22637. ;;
  22638. irix* | nonstopux*)
  22639. symcode='[BCDEGRST]'
  22640. ;;
  22641. osf*)
  22642. symcode='[BCDEGQRST]'
  22643. ;;
  22644. solaris*)
  22645. symcode='[BDRT]'
  22646. ;;
  22647. sco3.2v5*)
  22648. symcode='[DT]'
  22649. ;;
  22650. sysv4.2uw2*)
  22651. symcode='[DT]'
  22652. ;;
  22653. sysv5* | sco5v6* | unixware* | OpenUNIX*)
  22654. symcode='[ABDT]'
  22655. ;;
  22656. sysv4)
  22657. symcode='[DFNSTU]'
  22658. ;;
  22659. esac
  22660. # If we're using GNU nm, then use its standard symbol codes.
  22661. case `$NM -V 2>&1` in
  22662. *GNU* | *'with BFD'*)
  22663. symcode='[ABCDGIRSTW]' ;;
  22664. esac
  22665. if test "$lt_cv_nm_interface" = "MS dumpbin"; then
  22666. # Gets list of data symbols to import.
  22667. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
  22668. # Adjust the below global symbol transforms to fixup imported variables.
  22669. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
  22670. lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
  22671. lt_c_name_lib_hook="\
  22672. -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
  22673. -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
  22674. else
  22675. # Disable hooks by default.
  22676. lt_cv_sys_global_symbol_to_import=
  22677. lt_cdecl_hook=
  22678. lt_c_name_hook=
  22679. lt_c_name_lib_hook=
  22680. fi
  22681. # Transform an extracted symbol line into a proper C declaration.
  22682. # Some systems (esp. on ia64) link data and code symbols differently,
  22683. # so use this general approach.
  22684. lt_cv_sys_global_symbol_to_cdecl="sed -n"\
  22685. $lt_cdecl_hook\
  22686. " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
  22687. " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
  22688. # Transform an extracted symbol line into symbol name and symbol address
  22689. lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
  22690. $lt_c_name_hook\
  22691. " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
  22692. " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
  22693. # Transform an extracted symbol line into symbol name with lib prefix and
  22694. # symbol address.
  22695. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
  22696. $lt_c_name_lib_hook\
  22697. " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
  22698. " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
  22699. " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
  22700. # Handle CRLF in mingw tool chain
  22701. opt_cr=
  22702. case $build_os in
  22703. mingw*)
  22704. opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
  22705. ;;
  22706. esac
  22707. # Try without a prefix underscore, then with it.
  22708. for ac_symprfx in "" "_"; do
  22709. # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
  22710. symxfrm="\\1 $ac_symprfx\\2 \\2"
  22711. # Write the raw and C identifiers.
  22712. if test "$lt_cv_nm_interface" = "MS dumpbin"; then
  22713. # Fake it for dumpbin and say T for any non-static function,
  22714. # D for any global variable and I for any imported variable.
  22715. # Also find C++ and __fastcall symbols from MSVC++,
  22716. # which start with @ or ?.
  22717. lt_cv_sys_global_symbol_pipe="$AWK '"\
  22718. " {last_section=section; section=\$ 3};"\
  22719. " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
  22720. " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
  22721. " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
  22722. " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
  22723. " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
  22724. " \$ 0!~/External *\|/{next};"\
  22725. " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
  22726. " {if(hide[section]) next};"\
  22727. " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
  22728. " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
  22729. " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
  22730. " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
  22731. " ' prfx=^$ac_symprfx"
  22732. else
  22733. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
  22734. fi
  22735. lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
  22736. # Check to see that the pipe works correctly.
  22737. pipe_works=no
  22738. rm -f conftest*
  22739. cat > conftest.$ac_ext <<_LT_EOF
  22740. #ifdef __cplusplus
  22741. extern "C" {
  22742. #endif
  22743. char nm_test_var;
  22744. void nm_test_func(void);
  22745. void nm_test_func(void){}
  22746. #ifdef __cplusplus
  22747. }
  22748. #endif
  22749. int main(){nm_test_var='a';nm_test_func();return(0);}
  22750. _LT_EOF
  22751. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  22752. (eval $ac_compile) 2>&5
  22753. ac_status=$?
  22754. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  22755. test $ac_status = 0; }; then
  22756. # Now try to grab the symbols.
  22757. nlist=conftest.nm
  22758. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
  22759. (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
  22760. ac_status=$?
  22761. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  22762. test $ac_status = 0; } && test -s "$nlist"; then
  22763. # Try sorting and uniquifying the output.
  22764. if sort "$nlist" | uniq > "$nlist"T; then
  22765. mv -f "$nlist"T "$nlist"
  22766. else
  22767. rm -f "$nlist"T
  22768. fi
  22769. # Make sure that we snagged all the symbols we need.
  22770. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
  22771. if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
  22772. cat <<_LT_EOF > conftest.$ac_ext
  22773. /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
  22774. #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
  22775. /* DATA imports from DLLs on WIN32 can't be const, because runtime
  22776. relocations are performed -- see ld's documentation on pseudo-relocs. */
  22777. # define LT_DLSYM_CONST
  22778. #elif defined __osf__
  22779. /* This system does not cope well with relocations in const data. */
  22780. # define LT_DLSYM_CONST
  22781. #else
  22782. # define LT_DLSYM_CONST const
  22783. #endif
  22784. #ifdef __cplusplus
  22785. extern "C" {
  22786. #endif
  22787. _LT_EOF
  22788. # Now generate the symbol file.
  22789. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
  22790. cat <<_LT_EOF >> conftest.$ac_ext
  22791. /* The mapping between symbol names and symbols. */
  22792. LT_DLSYM_CONST struct {
  22793. const char *name;
  22794. void *address;
  22795. }
  22796. lt__PROGRAM__LTX_preloaded_symbols[] =
  22797. {
  22798. { "@PROGRAM@", (void *) 0 },
  22799. _LT_EOF
  22800. $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
  22801. cat <<\_LT_EOF >> conftest.$ac_ext
  22802. {0, (void *) 0}
  22803. };
  22804. /* This works around a problem in FreeBSD linker */
  22805. #ifdef FREEBSD_WORKAROUND
  22806. static const void *lt_preloaded_setup() {
  22807. return lt__PROGRAM__LTX_preloaded_symbols;
  22808. }
  22809. #endif
  22810. #ifdef __cplusplus
  22811. }
  22812. #endif
  22813. _LT_EOF
  22814. # Now try linking the two files.
  22815. mv conftest.$ac_objext conftstm.$ac_objext
  22816. lt_globsym_save_LIBS=$LIBS
  22817. lt_globsym_save_CFLAGS=$CFLAGS
  22818. LIBS=conftstm.$ac_objext
  22819. CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
  22820. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
  22821. (eval $ac_link) 2>&5
  22822. ac_status=$?
  22823. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  22824. test $ac_status = 0; } && test -s conftest$ac_exeext; then
  22825. pipe_works=yes
  22826. fi
  22827. LIBS=$lt_globsym_save_LIBS
  22828. CFLAGS=$lt_globsym_save_CFLAGS
  22829. else
  22830. echo "cannot find nm_test_func in $nlist" >&5
  22831. fi
  22832. else
  22833. echo "cannot find nm_test_var in $nlist" >&5
  22834. fi
  22835. else
  22836. echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
  22837. fi
  22838. else
  22839. echo "$progname: failed program was:" >&5
  22840. cat conftest.$ac_ext >&5
  22841. fi
  22842. rm -rf conftest* conftst*
  22843. # Do not use the global_symbol_pipe unless it works.
  22844. if test yes = "$pipe_works"; then
  22845. break
  22846. else
  22847. lt_cv_sys_global_symbol_pipe=
  22848. fi
  22849. done
  22850. fi
  22851. if test -z "$lt_cv_sys_global_symbol_pipe"; then
  22852. lt_cv_sys_global_symbol_to_cdecl=
  22853. fi
  22854. if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
  22855. { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
  22856. $as_echo "failed" >&6; }
  22857. else
  22858. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
  22859. $as_echo "ok" >&6; }
  22860. fi
  22861. # Response file support.
  22862. if test "$lt_cv_nm_interface" = "MS dumpbin"; then
  22863. nm_file_list_spec='@'
  22864. elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
  22865. nm_file_list_spec='@'
  22866. fi
  22867. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
  22868. $as_echo_n "checking for sysroot... " >&6; }
  22869. # Check whether --with-sysroot was given.
  22870. if test "${with_sysroot+set}" = set; then :
  22871. withval=$with_sysroot;
  22872. else
  22873. with_sysroot=no
  22874. fi
  22875. lt_sysroot=
  22876. case $with_sysroot in #(
  22877. yes)
  22878. if test yes = "$GCC"; then
  22879. lt_sysroot=`$CC --print-sysroot 2>/dev/null`
  22880. fi
  22881. ;; #(
  22882. /*)
  22883. lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
  22884. ;; #(
  22885. no|'')
  22886. ;; #(
  22887. *)
  22888. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
  22889. $as_echo "$with_sysroot" >&6; }
  22890. as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
  22891. ;;
  22892. esac
  22893. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
  22894. $as_echo "${lt_sysroot:-no}" >&6; }
  22895. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
  22896. $as_echo_n "checking for a working dd... " >&6; }
  22897. if ${ac_cv_path_lt_DD+:} false; then :
  22898. $as_echo_n "(cached) " >&6
  22899. else
  22900. printf 0123456789abcdef0123456789abcdef >conftest.i
  22901. cat conftest.i conftest.i >conftest2.i
  22902. : ${lt_DD:=$DD}
  22903. if test -z "$lt_DD"; then
  22904. ac_path_lt_DD_found=false
  22905. # Loop through the user's path and test for each of PROGNAME-LIST
  22906. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  22907. for as_dir in $PATH
  22908. do
  22909. IFS=$as_save_IFS
  22910. test -z "$as_dir" && as_dir=.
  22911. for ac_prog in dd; do
  22912. for ac_exec_ext in '' $ac_executable_extensions; do
  22913. ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
  22914. as_fn_executable_p "$ac_path_lt_DD" || continue
  22915. if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
  22916. cmp -s conftest.i conftest.out \
  22917. && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
  22918. fi
  22919. $ac_path_lt_DD_found && break 3
  22920. done
  22921. done
  22922. done
  22923. IFS=$as_save_IFS
  22924. if test -z "$ac_cv_path_lt_DD"; then
  22925. :
  22926. fi
  22927. else
  22928. ac_cv_path_lt_DD=$lt_DD
  22929. fi
  22930. rm -f conftest.i conftest2.i conftest.out
  22931. fi
  22932. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
  22933. $as_echo "$ac_cv_path_lt_DD" >&6; }
  22934. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
  22935. $as_echo_n "checking how to truncate binary pipes... " >&6; }
  22936. if ${lt_cv_truncate_bin+:} false; then :
  22937. $as_echo_n "(cached) " >&6
  22938. else
  22939. printf 0123456789abcdef0123456789abcdef >conftest.i
  22940. cat conftest.i conftest.i >conftest2.i
  22941. lt_cv_truncate_bin=
  22942. if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
  22943. cmp -s conftest.i conftest.out \
  22944. && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
  22945. fi
  22946. rm -f conftest.i conftest2.i conftest.out
  22947. test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
  22948. fi
  22949. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
  22950. $as_echo "$lt_cv_truncate_bin" >&6; }
  22951. # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
  22952. func_cc_basename ()
  22953. {
  22954. for cc_temp in $*""; do
  22955. case $cc_temp in
  22956. compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
  22957. distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
  22958. \-*) ;;
  22959. *) break;;
  22960. esac
  22961. done
  22962. func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
  22963. }
  22964. # Check whether --enable-libtool-lock was given.
  22965. if test "${enable_libtool_lock+set}" = set; then :
  22966. enableval=$enable_libtool_lock;
  22967. fi
  22968. test no = "$enable_libtool_lock" || enable_libtool_lock=yes
  22969. # Some flags need to be propagated to the compiler or linker for good
  22970. # libtool support.
  22971. case $host in
  22972. ia64-*-hpux*)
  22973. # Find out what ABI is being produced by ac_compile, and set mode
  22974. # options accordingly.
  22975. echo 'int i;' > conftest.$ac_ext
  22976. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  22977. (eval $ac_compile) 2>&5
  22978. ac_status=$?
  22979. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  22980. test $ac_status = 0; }; then
  22981. case `/usr/bin/file conftest.$ac_objext` in
  22982. *ELF-32*)
  22983. HPUX_IA64_MODE=32
  22984. ;;
  22985. *ELF-64*)
  22986. HPUX_IA64_MODE=64
  22987. ;;
  22988. esac
  22989. fi
  22990. rm -rf conftest*
  22991. ;;
  22992. *-*-irix6*)
  22993. # Find out what ABI is being produced by ac_compile, and set linker
  22994. # options accordingly.
  22995. echo '#line '$LINENO' "configure"' > conftest.$ac_ext
  22996. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  22997. (eval $ac_compile) 2>&5
  22998. ac_status=$?
  22999. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  23000. test $ac_status = 0; }; then
  23001. if test yes = "$lt_cv_prog_gnu_ld"; then
  23002. case `/usr/bin/file conftest.$ac_objext` in
  23003. *32-bit*)
  23004. LD="${LD-ld} -melf32bsmip"
  23005. ;;
  23006. *N32*)
  23007. LD="${LD-ld} -melf32bmipn32"
  23008. ;;
  23009. *64-bit*)
  23010. LD="${LD-ld} -melf64bmip"
  23011. ;;
  23012. esac
  23013. else
  23014. case `/usr/bin/file conftest.$ac_objext` in
  23015. *32-bit*)
  23016. LD="${LD-ld} -32"
  23017. ;;
  23018. *N32*)
  23019. LD="${LD-ld} -n32"
  23020. ;;
  23021. *64-bit*)
  23022. LD="${LD-ld} -64"
  23023. ;;
  23024. esac
  23025. fi
  23026. fi
  23027. rm -rf conftest*
  23028. ;;
  23029. mips64*-*linux*)
  23030. # Find out what ABI is being produced by ac_compile, and set linker
  23031. # options accordingly.
  23032. echo '#line '$LINENO' "configure"' > conftest.$ac_ext
  23033. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  23034. (eval $ac_compile) 2>&5
  23035. ac_status=$?
  23036. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  23037. test $ac_status = 0; }; then
  23038. emul=elf
  23039. case `/usr/bin/file conftest.$ac_objext` in
  23040. *32-bit*)
  23041. emul="${emul}32"
  23042. ;;
  23043. *64-bit*)
  23044. emul="${emul}64"
  23045. ;;
  23046. esac
  23047. case `/usr/bin/file conftest.$ac_objext` in
  23048. *MSB*)
  23049. emul="${emul}btsmip"
  23050. ;;
  23051. *LSB*)
  23052. emul="${emul}ltsmip"
  23053. ;;
  23054. esac
  23055. case `/usr/bin/file conftest.$ac_objext` in
  23056. *N32*)
  23057. emul="${emul}n32"
  23058. ;;
  23059. esac
  23060. LD="${LD-ld} -m $emul"
  23061. fi
  23062. rm -rf conftest*
  23063. ;;
  23064. x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
  23065. s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
  23066. # Find out what ABI is being produced by ac_compile, and set linker
  23067. # options accordingly. Note that the listed cases only cover the
  23068. # situations where additional linker options are needed (such as when
  23069. # doing 32-bit compilation for a host where ld defaults to 64-bit, or
  23070. # vice versa); the common cases where no linker options are needed do
  23071. # not appear in the list.
  23072. echo 'int i;' > conftest.$ac_ext
  23073. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  23074. (eval $ac_compile) 2>&5
  23075. ac_status=$?
  23076. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  23077. test $ac_status = 0; }; then
  23078. case `/usr/bin/file conftest.o` in
  23079. *32-bit*)
  23080. case $host in
  23081. x86_64-*kfreebsd*-gnu)
  23082. LD="${LD-ld} -m elf_i386_fbsd"
  23083. ;;
  23084. x86_64-*linux*)
  23085. case `/usr/bin/file conftest.o` in
  23086. *x86-64*)
  23087. LD="${LD-ld} -m elf32_x86_64"
  23088. ;;
  23089. *)
  23090. LD="${LD-ld} -m elf_i386"
  23091. ;;
  23092. esac
  23093. ;;
  23094. powerpc64le-*linux*)
  23095. LD="${LD-ld} -m elf32lppclinux"
  23096. ;;
  23097. powerpc64-*linux*)
  23098. LD="${LD-ld} -m elf32ppclinux"
  23099. ;;
  23100. s390x-*linux*)
  23101. LD="${LD-ld} -m elf_s390"
  23102. ;;
  23103. sparc64-*linux*)
  23104. LD="${LD-ld} -m elf32_sparc"
  23105. ;;
  23106. esac
  23107. ;;
  23108. *64-bit*)
  23109. case $host in
  23110. x86_64-*kfreebsd*-gnu)
  23111. LD="${LD-ld} -m elf_x86_64_fbsd"
  23112. ;;
  23113. x86_64-*linux*)
  23114. LD="${LD-ld} -m elf_x86_64"
  23115. ;;
  23116. powerpcle-*linux*)
  23117. LD="${LD-ld} -m elf64lppc"
  23118. ;;
  23119. powerpc-*linux*)
  23120. LD="${LD-ld} -m elf64ppc"
  23121. ;;
  23122. s390*-*linux*|s390*-*tpf*)
  23123. LD="${LD-ld} -m elf64_s390"
  23124. ;;
  23125. sparc*-*linux*)
  23126. LD="${LD-ld} -m elf64_sparc"
  23127. ;;
  23128. esac
  23129. ;;
  23130. esac
  23131. fi
  23132. rm -rf conftest*
  23133. ;;
  23134. *-*-sco3.2v5*)
  23135. # On SCO OpenServer 5, we need -belf to get full-featured binaries.
  23136. SAVE_CFLAGS=$CFLAGS
  23137. CFLAGS="$CFLAGS -belf"
  23138. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
  23139. $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
  23140. if ${lt_cv_cc_needs_belf+:} false; then :
  23141. $as_echo_n "(cached) " >&6
  23142. else
  23143. ac_ext=c
  23144. ac_cpp='$CPP $CPPFLAGS'
  23145. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  23146. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  23147. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  23148. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  23149. /* end confdefs.h. */
  23150. int
  23151. main ()
  23152. {
  23153. ;
  23154. return 0;
  23155. }
  23156. _ACEOF
  23157. if ac_fn_c_try_link "$LINENO"; then :
  23158. lt_cv_cc_needs_belf=yes
  23159. else
  23160. lt_cv_cc_needs_belf=no
  23161. fi
  23162. rm -f core conftest.err conftest.$ac_objext \
  23163. conftest$ac_exeext conftest.$ac_ext
  23164. ac_ext=c
  23165. ac_cpp='$CPP $CPPFLAGS'
  23166. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  23167. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  23168. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  23169. fi
  23170. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
  23171. $as_echo "$lt_cv_cc_needs_belf" >&6; }
  23172. if test yes != "$lt_cv_cc_needs_belf"; then
  23173. # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
  23174. CFLAGS=$SAVE_CFLAGS
  23175. fi
  23176. ;;
  23177. *-*solaris*)
  23178. # Find out what ABI is being produced by ac_compile, and set linker
  23179. # options accordingly.
  23180. echo 'int i;' > conftest.$ac_ext
  23181. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  23182. (eval $ac_compile) 2>&5
  23183. ac_status=$?
  23184. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  23185. test $ac_status = 0; }; then
  23186. case `/usr/bin/file conftest.o` in
  23187. *64-bit*)
  23188. case $lt_cv_prog_gnu_ld in
  23189. yes*)
  23190. case $host in
  23191. i?86-*-solaris*|x86_64-*-solaris*)
  23192. LD="${LD-ld} -m elf_x86_64"
  23193. ;;
  23194. sparc*-*-solaris*)
  23195. LD="${LD-ld} -m elf64_sparc"
  23196. ;;
  23197. esac
  23198. # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
  23199. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
  23200. LD=${LD-ld}_sol2
  23201. fi
  23202. ;;
  23203. *)
  23204. if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
  23205. LD="${LD-ld} -64"
  23206. fi
  23207. ;;
  23208. esac
  23209. ;;
  23210. esac
  23211. fi
  23212. rm -rf conftest*
  23213. ;;
  23214. esac
  23215. need_locks=$enable_libtool_lock
  23216. if test -n "$ac_tool_prefix"; then
  23217. # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
  23218. set dummy ${ac_tool_prefix}mt; ac_word=$2
  23219. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23220. $as_echo_n "checking for $ac_word... " >&6; }
  23221. if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
  23222. $as_echo_n "(cached) " >&6
  23223. else
  23224. if test -n "$MANIFEST_TOOL"; then
  23225. ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
  23226. else
  23227. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23228. for as_dir in $PATH
  23229. do
  23230. IFS=$as_save_IFS
  23231. test -z "$as_dir" && as_dir=.
  23232. for ac_exec_ext in '' $ac_executable_extensions; do
  23233. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23234. ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
  23235. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23236. break 2
  23237. fi
  23238. done
  23239. done
  23240. IFS=$as_save_IFS
  23241. fi
  23242. fi
  23243. MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
  23244. if test -n "$MANIFEST_TOOL"; then
  23245. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
  23246. $as_echo "$MANIFEST_TOOL" >&6; }
  23247. else
  23248. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23249. $as_echo "no" >&6; }
  23250. fi
  23251. fi
  23252. if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
  23253. ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
  23254. # Extract the first word of "mt", so it can be a program name with args.
  23255. set dummy mt; ac_word=$2
  23256. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23257. $as_echo_n "checking for $ac_word... " >&6; }
  23258. if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
  23259. $as_echo_n "(cached) " >&6
  23260. else
  23261. if test -n "$ac_ct_MANIFEST_TOOL"; then
  23262. ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
  23263. else
  23264. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23265. for as_dir in $PATH
  23266. do
  23267. IFS=$as_save_IFS
  23268. test -z "$as_dir" && as_dir=.
  23269. for ac_exec_ext in '' $ac_executable_extensions; do
  23270. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23271. ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
  23272. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23273. break 2
  23274. fi
  23275. done
  23276. done
  23277. IFS=$as_save_IFS
  23278. fi
  23279. fi
  23280. ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
  23281. if test -n "$ac_ct_MANIFEST_TOOL"; then
  23282. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
  23283. $as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
  23284. else
  23285. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23286. $as_echo "no" >&6; }
  23287. fi
  23288. if test "x$ac_ct_MANIFEST_TOOL" = x; then
  23289. MANIFEST_TOOL=":"
  23290. else
  23291. case $cross_compiling:$ac_tool_warned in
  23292. yes:)
  23293. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  23294. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  23295. ac_tool_warned=yes ;;
  23296. esac
  23297. MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
  23298. fi
  23299. else
  23300. MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
  23301. fi
  23302. test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
  23303. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
  23304. $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
  23305. if ${lt_cv_path_mainfest_tool+:} false; then :
  23306. $as_echo_n "(cached) " >&6
  23307. else
  23308. lt_cv_path_mainfest_tool=no
  23309. echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
  23310. $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
  23311. cat conftest.err >&5
  23312. if $GREP 'Manifest Tool' conftest.out > /dev/null; then
  23313. lt_cv_path_mainfest_tool=yes
  23314. fi
  23315. rm -f conftest*
  23316. fi
  23317. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
  23318. $as_echo "$lt_cv_path_mainfest_tool" >&6; }
  23319. if test yes != "$lt_cv_path_mainfest_tool"; then
  23320. MANIFEST_TOOL=:
  23321. fi
  23322. case $host_os in
  23323. rhapsody* | darwin*)
  23324. if test -n "$ac_tool_prefix"; then
  23325. # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
  23326. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
  23327. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23328. $as_echo_n "checking for $ac_word... " >&6; }
  23329. if ${ac_cv_prog_DSYMUTIL+:} false; then :
  23330. $as_echo_n "(cached) " >&6
  23331. else
  23332. if test -n "$DSYMUTIL"; then
  23333. ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
  23334. else
  23335. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23336. for as_dir in $PATH
  23337. do
  23338. IFS=$as_save_IFS
  23339. test -z "$as_dir" && as_dir=.
  23340. for ac_exec_ext in '' $ac_executable_extensions; do
  23341. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23342. ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
  23343. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23344. break 2
  23345. fi
  23346. done
  23347. done
  23348. IFS=$as_save_IFS
  23349. fi
  23350. fi
  23351. DSYMUTIL=$ac_cv_prog_DSYMUTIL
  23352. if test -n "$DSYMUTIL"; then
  23353. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
  23354. $as_echo "$DSYMUTIL" >&6; }
  23355. else
  23356. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23357. $as_echo "no" >&6; }
  23358. fi
  23359. fi
  23360. if test -z "$ac_cv_prog_DSYMUTIL"; then
  23361. ac_ct_DSYMUTIL=$DSYMUTIL
  23362. # Extract the first word of "dsymutil", so it can be a program name with args.
  23363. set dummy dsymutil; ac_word=$2
  23364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23365. $as_echo_n "checking for $ac_word... " >&6; }
  23366. if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
  23367. $as_echo_n "(cached) " >&6
  23368. else
  23369. if test -n "$ac_ct_DSYMUTIL"; then
  23370. ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
  23371. else
  23372. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23373. for as_dir in $PATH
  23374. do
  23375. IFS=$as_save_IFS
  23376. test -z "$as_dir" && as_dir=.
  23377. for ac_exec_ext in '' $ac_executable_extensions; do
  23378. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23379. ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
  23380. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23381. break 2
  23382. fi
  23383. done
  23384. done
  23385. IFS=$as_save_IFS
  23386. fi
  23387. fi
  23388. ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
  23389. if test -n "$ac_ct_DSYMUTIL"; then
  23390. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
  23391. $as_echo "$ac_ct_DSYMUTIL" >&6; }
  23392. else
  23393. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23394. $as_echo "no" >&6; }
  23395. fi
  23396. if test "x$ac_ct_DSYMUTIL" = x; then
  23397. DSYMUTIL=":"
  23398. else
  23399. case $cross_compiling:$ac_tool_warned in
  23400. yes:)
  23401. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  23402. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  23403. ac_tool_warned=yes ;;
  23404. esac
  23405. DSYMUTIL=$ac_ct_DSYMUTIL
  23406. fi
  23407. else
  23408. DSYMUTIL="$ac_cv_prog_DSYMUTIL"
  23409. fi
  23410. if test -n "$ac_tool_prefix"; then
  23411. # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
  23412. set dummy ${ac_tool_prefix}nmedit; ac_word=$2
  23413. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23414. $as_echo_n "checking for $ac_word... " >&6; }
  23415. if ${ac_cv_prog_NMEDIT+:} false; then :
  23416. $as_echo_n "(cached) " >&6
  23417. else
  23418. if test -n "$NMEDIT"; then
  23419. ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
  23420. else
  23421. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23422. for as_dir in $PATH
  23423. do
  23424. IFS=$as_save_IFS
  23425. test -z "$as_dir" && as_dir=.
  23426. for ac_exec_ext in '' $ac_executable_extensions; do
  23427. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23428. ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
  23429. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23430. break 2
  23431. fi
  23432. done
  23433. done
  23434. IFS=$as_save_IFS
  23435. fi
  23436. fi
  23437. NMEDIT=$ac_cv_prog_NMEDIT
  23438. if test -n "$NMEDIT"; then
  23439. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
  23440. $as_echo "$NMEDIT" >&6; }
  23441. else
  23442. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23443. $as_echo "no" >&6; }
  23444. fi
  23445. fi
  23446. if test -z "$ac_cv_prog_NMEDIT"; then
  23447. ac_ct_NMEDIT=$NMEDIT
  23448. # Extract the first word of "nmedit", so it can be a program name with args.
  23449. set dummy nmedit; ac_word=$2
  23450. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23451. $as_echo_n "checking for $ac_word... " >&6; }
  23452. if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
  23453. $as_echo_n "(cached) " >&6
  23454. else
  23455. if test -n "$ac_ct_NMEDIT"; then
  23456. ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
  23457. else
  23458. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23459. for as_dir in $PATH
  23460. do
  23461. IFS=$as_save_IFS
  23462. test -z "$as_dir" && as_dir=.
  23463. for ac_exec_ext in '' $ac_executable_extensions; do
  23464. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23465. ac_cv_prog_ac_ct_NMEDIT="nmedit"
  23466. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23467. break 2
  23468. fi
  23469. done
  23470. done
  23471. IFS=$as_save_IFS
  23472. fi
  23473. fi
  23474. ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
  23475. if test -n "$ac_ct_NMEDIT"; then
  23476. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
  23477. $as_echo "$ac_ct_NMEDIT" >&6; }
  23478. else
  23479. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23480. $as_echo "no" >&6; }
  23481. fi
  23482. if test "x$ac_ct_NMEDIT" = x; then
  23483. NMEDIT=":"
  23484. else
  23485. case $cross_compiling:$ac_tool_warned in
  23486. yes:)
  23487. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  23488. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  23489. ac_tool_warned=yes ;;
  23490. esac
  23491. NMEDIT=$ac_ct_NMEDIT
  23492. fi
  23493. else
  23494. NMEDIT="$ac_cv_prog_NMEDIT"
  23495. fi
  23496. if test -n "$ac_tool_prefix"; then
  23497. # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
  23498. set dummy ${ac_tool_prefix}lipo; ac_word=$2
  23499. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23500. $as_echo_n "checking for $ac_word... " >&6; }
  23501. if ${ac_cv_prog_LIPO+:} false; then :
  23502. $as_echo_n "(cached) " >&6
  23503. else
  23504. if test -n "$LIPO"; then
  23505. ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
  23506. else
  23507. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23508. for as_dir in $PATH
  23509. do
  23510. IFS=$as_save_IFS
  23511. test -z "$as_dir" && as_dir=.
  23512. for ac_exec_ext in '' $ac_executable_extensions; do
  23513. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23514. ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
  23515. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23516. break 2
  23517. fi
  23518. done
  23519. done
  23520. IFS=$as_save_IFS
  23521. fi
  23522. fi
  23523. LIPO=$ac_cv_prog_LIPO
  23524. if test -n "$LIPO"; then
  23525. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
  23526. $as_echo "$LIPO" >&6; }
  23527. else
  23528. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23529. $as_echo "no" >&6; }
  23530. fi
  23531. fi
  23532. if test -z "$ac_cv_prog_LIPO"; then
  23533. ac_ct_LIPO=$LIPO
  23534. # Extract the first word of "lipo", so it can be a program name with args.
  23535. set dummy lipo; ac_word=$2
  23536. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23537. $as_echo_n "checking for $ac_word... " >&6; }
  23538. if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
  23539. $as_echo_n "(cached) " >&6
  23540. else
  23541. if test -n "$ac_ct_LIPO"; then
  23542. ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
  23543. else
  23544. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23545. for as_dir in $PATH
  23546. do
  23547. IFS=$as_save_IFS
  23548. test -z "$as_dir" && as_dir=.
  23549. for ac_exec_ext in '' $ac_executable_extensions; do
  23550. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23551. ac_cv_prog_ac_ct_LIPO="lipo"
  23552. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23553. break 2
  23554. fi
  23555. done
  23556. done
  23557. IFS=$as_save_IFS
  23558. fi
  23559. fi
  23560. ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
  23561. if test -n "$ac_ct_LIPO"; then
  23562. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
  23563. $as_echo "$ac_ct_LIPO" >&6; }
  23564. else
  23565. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23566. $as_echo "no" >&6; }
  23567. fi
  23568. if test "x$ac_ct_LIPO" = x; then
  23569. LIPO=":"
  23570. else
  23571. case $cross_compiling:$ac_tool_warned in
  23572. yes:)
  23573. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  23574. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  23575. ac_tool_warned=yes ;;
  23576. esac
  23577. LIPO=$ac_ct_LIPO
  23578. fi
  23579. else
  23580. LIPO="$ac_cv_prog_LIPO"
  23581. fi
  23582. if test -n "$ac_tool_prefix"; then
  23583. # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
  23584. set dummy ${ac_tool_prefix}otool; ac_word=$2
  23585. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23586. $as_echo_n "checking for $ac_word... " >&6; }
  23587. if ${ac_cv_prog_OTOOL+:} false; then :
  23588. $as_echo_n "(cached) " >&6
  23589. else
  23590. if test -n "$OTOOL"; then
  23591. ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
  23592. else
  23593. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23594. for as_dir in $PATH
  23595. do
  23596. IFS=$as_save_IFS
  23597. test -z "$as_dir" && as_dir=.
  23598. for ac_exec_ext in '' $ac_executable_extensions; do
  23599. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23600. ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
  23601. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23602. break 2
  23603. fi
  23604. done
  23605. done
  23606. IFS=$as_save_IFS
  23607. fi
  23608. fi
  23609. OTOOL=$ac_cv_prog_OTOOL
  23610. if test -n "$OTOOL"; then
  23611. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
  23612. $as_echo "$OTOOL" >&6; }
  23613. else
  23614. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23615. $as_echo "no" >&6; }
  23616. fi
  23617. fi
  23618. if test -z "$ac_cv_prog_OTOOL"; then
  23619. ac_ct_OTOOL=$OTOOL
  23620. # Extract the first word of "otool", so it can be a program name with args.
  23621. set dummy otool; ac_word=$2
  23622. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23623. $as_echo_n "checking for $ac_word... " >&6; }
  23624. if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
  23625. $as_echo_n "(cached) " >&6
  23626. else
  23627. if test -n "$ac_ct_OTOOL"; then
  23628. ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
  23629. else
  23630. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23631. for as_dir in $PATH
  23632. do
  23633. IFS=$as_save_IFS
  23634. test -z "$as_dir" && as_dir=.
  23635. for ac_exec_ext in '' $ac_executable_extensions; do
  23636. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23637. ac_cv_prog_ac_ct_OTOOL="otool"
  23638. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23639. break 2
  23640. fi
  23641. done
  23642. done
  23643. IFS=$as_save_IFS
  23644. fi
  23645. fi
  23646. ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
  23647. if test -n "$ac_ct_OTOOL"; then
  23648. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
  23649. $as_echo "$ac_ct_OTOOL" >&6; }
  23650. else
  23651. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23652. $as_echo "no" >&6; }
  23653. fi
  23654. if test "x$ac_ct_OTOOL" = x; then
  23655. OTOOL=":"
  23656. else
  23657. case $cross_compiling:$ac_tool_warned in
  23658. yes:)
  23659. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  23660. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  23661. ac_tool_warned=yes ;;
  23662. esac
  23663. OTOOL=$ac_ct_OTOOL
  23664. fi
  23665. else
  23666. OTOOL="$ac_cv_prog_OTOOL"
  23667. fi
  23668. if test -n "$ac_tool_prefix"; then
  23669. # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
  23670. set dummy ${ac_tool_prefix}otool64; ac_word=$2
  23671. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23672. $as_echo_n "checking for $ac_word... " >&6; }
  23673. if ${ac_cv_prog_OTOOL64+:} false; then :
  23674. $as_echo_n "(cached) " >&6
  23675. else
  23676. if test -n "$OTOOL64"; then
  23677. ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
  23678. else
  23679. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23680. for as_dir in $PATH
  23681. do
  23682. IFS=$as_save_IFS
  23683. test -z "$as_dir" && as_dir=.
  23684. for ac_exec_ext in '' $ac_executable_extensions; do
  23685. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23686. ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
  23687. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23688. break 2
  23689. fi
  23690. done
  23691. done
  23692. IFS=$as_save_IFS
  23693. fi
  23694. fi
  23695. OTOOL64=$ac_cv_prog_OTOOL64
  23696. if test -n "$OTOOL64"; then
  23697. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
  23698. $as_echo "$OTOOL64" >&6; }
  23699. else
  23700. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23701. $as_echo "no" >&6; }
  23702. fi
  23703. fi
  23704. if test -z "$ac_cv_prog_OTOOL64"; then
  23705. ac_ct_OTOOL64=$OTOOL64
  23706. # Extract the first word of "otool64", so it can be a program name with args.
  23707. set dummy otool64; ac_word=$2
  23708. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  23709. $as_echo_n "checking for $ac_word... " >&6; }
  23710. if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
  23711. $as_echo_n "(cached) " >&6
  23712. else
  23713. if test -n "$ac_ct_OTOOL64"; then
  23714. ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
  23715. else
  23716. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  23717. for as_dir in $PATH
  23718. do
  23719. IFS=$as_save_IFS
  23720. test -z "$as_dir" && as_dir=.
  23721. for ac_exec_ext in '' $ac_executable_extensions; do
  23722. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  23723. ac_cv_prog_ac_ct_OTOOL64="otool64"
  23724. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  23725. break 2
  23726. fi
  23727. done
  23728. done
  23729. IFS=$as_save_IFS
  23730. fi
  23731. fi
  23732. ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
  23733. if test -n "$ac_ct_OTOOL64"; then
  23734. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
  23735. $as_echo "$ac_ct_OTOOL64" >&6; }
  23736. else
  23737. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  23738. $as_echo "no" >&6; }
  23739. fi
  23740. if test "x$ac_ct_OTOOL64" = x; then
  23741. OTOOL64=":"
  23742. else
  23743. case $cross_compiling:$ac_tool_warned in
  23744. yes:)
  23745. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
  23746. $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
  23747. ac_tool_warned=yes ;;
  23748. esac
  23749. OTOOL64=$ac_ct_OTOOL64
  23750. fi
  23751. else
  23752. OTOOL64="$ac_cv_prog_OTOOL64"
  23753. fi
  23754. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
  23755. $as_echo_n "checking for -single_module linker flag... " >&6; }
  23756. if ${lt_cv_apple_cc_single_mod+:} false; then :
  23757. $as_echo_n "(cached) " >&6
  23758. else
  23759. lt_cv_apple_cc_single_mod=no
  23760. if test -z "$LT_MULTI_MODULE"; then
  23761. # By default we will add the -single_module flag. You can override
  23762. # by either setting the environment variable LT_MULTI_MODULE
  23763. # non-empty at configure time, or by adding -multi_module to the
  23764. # link flags.
  23765. rm -rf libconftest.dylib*
  23766. echo "int foo(void){return 1;}" > conftest.c
  23767. echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
  23768. -dynamiclib -Wl,-single_module conftest.c" >&5
  23769. $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
  23770. -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
  23771. _lt_result=$?
  23772. # If there is a non-empty error log, and "single_module"
  23773. # appears in it, assume the flag caused a linker warning
  23774. if test -s conftest.err && $GREP single_module conftest.err; then
  23775. cat conftest.err >&5
  23776. # Otherwise, if the output was created with a 0 exit code from
  23777. # the compiler, it worked.
  23778. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
  23779. lt_cv_apple_cc_single_mod=yes
  23780. else
  23781. cat conftest.err >&5
  23782. fi
  23783. rm -rf libconftest.dylib*
  23784. rm -f conftest.*
  23785. fi
  23786. fi
  23787. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
  23788. $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
  23789. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
  23790. $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
  23791. if ${lt_cv_ld_exported_symbols_list+:} false; then :
  23792. $as_echo_n "(cached) " >&6
  23793. else
  23794. lt_cv_ld_exported_symbols_list=no
  23795. save_LDFLAGS=$LDFLAGS
  23796. echo "_main" > conftest.sym
  23797. LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
  23798. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  23799. /* end confdefs.h. */
  23800. int
  23801. main ()
  23802. {
  23803. ;
  23804. return 0;
  23805. }
  23806. _ACEOF
  23807. if ac_fn_c_try_link "$LINENO"; then :
  23808. lt_cv_ld_exported_symbols_list=yes
  23809. else
  23810. lt_cv_ld_exported_symbols_list=no
  23811. fi
  23812. rm -f core conftest.err conftest.$ac_objext \
  23813. conftest$ac_exeext conftest.$ac_ext
  23814. LDFLAGS=$save_LDFLAGS
  23815. fi
  23816. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
  23817. $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
  23818. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
  23819. $as_echo_n "checking for -force_load linker flag... " >&6; }
  23820. if ${lt_cv_ld_force_load+:} false; then :
  23821. $as_echo_n "(cached) " >&6
  23822. else
  23823. lt_cv_ld_force_load=no
  23824. cat > conftest.c << _LT_EOF
  23825. int forced_loaded() { return 2;}
  23826. _LT_EOF
  23827. echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
  23828. $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
  23829. echo "$AR cru libconftest.a conftest.o" >&5
  23830. $AR cru libconftest.a conftest.o 2>&5
  23831. echo "$RANLIB libconftest.a" >&5
  23832. $RANLIB libconftest.a 2>&5
  23833. cat > conftest.c << _LT_EOF
  23834. int main() { return 0;}
  23835. _LT_EOF
  23836. echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
  23837. $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
  23838. _lt_result=$?
  23839. if test -s conftest.err && $GREP force_load conftest.err; then
  23840. cat conftest.err >&5
  23841. elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
  23842. lt_cv_ld_force_load=yes
  23843. else
  23844. cat conftest.err >&5
  23845. fi
  23846. rm -f conftest.err libconftest.a conftest conftest.c
  23847. rm -rf conftest.dSYM
  23848. fi
  23849. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
  23850. $as_echo "$lt_cv_ld_force_load" >&6; }
  23851. case $host_os in
  23852. rhapsody* | darwin1.[012])
  23853. _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
  23854. darwin1.*)
  23855. _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
  23856. darwin*) # darwin 5.x on
  23857. # if running on 10.5 or later, the deployment target defaults
  23858. # to the OS version, if on x86, and 10.4, the deployment
  23859. # target defaults to 10.4. Don't you love it?
  23860. case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
  23861. 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
  23862. _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
  23863. 10.[012][,.]*)
  23864. _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
  23865. 10.*)
  23866. _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
  23867. esac
  23868. ;;
  23869. esac
  23870. if test yes = "$lt_cv_apple_cc_single_mod"; then
  23871. _lt_dar_single_mod='$single_module'
  23872. fi
  23873. if test yes = "$lt_cv_ld_exported_symbols_list"; then
  23874. _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
  23875. else
  23876. _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
  23877. fi
  23878. if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
  23879. _lt_dsymutil='~$DSYMUTIL $lib || :'
  23880. else
  23881. _lt_dsymutil=
  23882. fi
  23883. ;;
  23884. esac
  23885. # func_munge_path_list VARIABLE PATH
  23886. # -----------------------------------
  23887. # VARIABLE is name of variable containing _space_ separated list of
  23888. # directories to be munged by the contents of PATH, which is string
  23889. # having a format:
  23890. # "DIR[:DIR]:"
  23891. # string "DIR[ DIR]" will be prepended to VARIABLE
  23892. # ":DIR[:DIR]"
  23893. # string "DIR[ DIR]" will be appended to VARIABLE
  23894. # "DIRP[:DIRP]::[DIRA:]DIRA"
  23895. # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
  23896. # "DIRA[ DIRA]" will be appended to VARIABLE
  23897. # "DIR[:DIR]"
  23898. # VARIABLE will be replaced by "DIR[ DIR]"
  23899. func_munge_path_list ()
  23900. {
  23901. case x$2 in
  23902. x)
  23903. ;;
  23904. *:)
  23905. eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
  23906. ;;
  23907. x:*)
  23908. eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
  23909. ;;
  23910. *::*)
  23911. eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
  23912. eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
  23913. ;;
  23914. *)
  23915. eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
  23916. ;;
  23917. esac
  23918. }
  23919. ac_ext=c
  23920. ac_cpp='$CPP $CPPFLAGS'
  23921. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  23922. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  23923. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  23924. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
  23925. $as_echo_n "checking how to run the C preprocessor... " >&6; }
  23926. # On Suns, sometimes $CPP names a directory.
  23927. if test -n "$CPP" && test -d "$CPP"; then
  23928. CPP=
  23929. fi
  23930. if test -z "$CPP"; then
  23931. if ${ac_cv_prog_CPP+:} false; then :
  23932. $as_echo_n "(cached) " >&6
  23933. else
  23934. # Double quotes because CPP needs to be expanded
  23935. for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
  23936. do
  23937. ac_preproc_ok=false
  23938. for ac_c_preproc_warn_flag in '' yes
  23939. do
  23940. # Use a header file that comes with gcc, so configuring glibc
  23941. # with a fresh cross-compiler works.
  23942. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  23943. # <limits.h> exists even on freestanding compilers.
  23944. # On the NeXT, cc -E runs the code through the compiler's parser,
  23945. # not just through cpp. "Syntax error" is here to catch this case.
  23946. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  23947. /* end confdefs.h. */
  23948. #ifdef __STDC__
  23949. # include <limits.h>
  23950. #else
  23951. # include <assert.h>
  23952. #endif
  23953. Syntax error
  23954. _ACEOF
  23955. if ac_fn_c_try_cpp "$LINENO"; then :
  23956. else
  23957. # Broken: fails on valid input.
  23958. continue
  23959. fi
  23960. rm -f conftest.err conftest.i conftest.$ac_ext
  23961. # OK, works on sane cases. Now check whether nonexistent headers
  23962. # can be detected and how.
  23963. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  23964. /* end confdefs.h. */
  23965. #include <ac_nonexistent.h>
  23966. _ACEOF
  23967. if ac_fn_c_try_cpp "$LINENO"; then :
  23968. # Broken: success on invalid input.
  23969. continue
  23970. else
  23971. # Passes both tests.
  23972. ac_preproc_ok=:
  23973. break
  23974. fi
  23975. rm -f conftest.err conftest.i conftest.$ac_ext
  23976. done
  23977. # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
  23978. rm -f conftest.i conftest.err conftest.$ac_ext
  23979. if $ac_preproc_ok; then :
  23980. break
  23981. fi
  23982. done
  23983. ac_cv_prog_CPP=$CPP
  23984. fi
  23985. CPP=$ac_cv_prog_CPP
  23986. else
  23987. ac_cv_prog_CPP=$CPP
  23988. fi
  23989. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
  23990. $as_echo "$CPP" >&6; }
  23991. ac_preproc_ok=false
  23992. for ac_c_preproc_warn_flag in '' yes
  23993. do
  23994. # Use a header file that comes with gcc, so configuring glibc
  23995. # with a fresh cross-compiler works.
  23996. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  23997. # <limits.h> exists even on freestanding compilers.
  23998. # On the NeXT, cc -E runs the code through the compiler's parser,
  23999. # not just through cpp. "Syntax error" is here to catch this case.
  24000. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  24001. /* end confdefs.h. */
  24002. #ifdef __STDC__
  24003. # include <limits.h>
  24004. #else
  24005. # include <assert.h>
  24006. #endif
  24007. Syntax error
  24008. _ACEOF
  24009. if ac_fn_c_try_cpp "$LINENO"; then :
  24010. else
  24011. # Broken: fails on valid input.
  24012. continue
  24013. fi
  24014. rm -f conftest.err conftest.i conftest.$ac_ext
  24015. # OK, works on sane cases. Now check whether nonexistent headers
  24016. # can be detected and how.
  24017. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  24018. /* end confdefs.h. */
  24019. #include <ac_nonexistent.h>
  24020. _ACEOF
  24021. if ac_fn_c_try_cpp "$LINENO"; then :
  24022. # Broken: success on invalid input.
  24023. continue
  24024. else
  24025. # Passes both tests.
  24026. ac_preproc_ok=:
  24027. break
  24028. fi
  24029. rm -f conftest.err conftest.i conftest.$ac_ext
  24030. done
  24031. # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
  24032. rm -f conftest.i conftest.err conftest.$ac_ext
  24033. if $ac_preproc_ok; then :
  24034. else
  24035. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  24036. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  24037. as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
  24038. See \`config.log' for more details" "$LINENO" 5; }
  24039. fi
  24040. ac_ext=c
  24041. ac_cpp='$CPP $CPPFLAGS'
  24042. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  24043. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  24044. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  24045. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
  24046. $as_echo_n "checking for ANSI C header files... " >&6; }
  24047. if ${ac_cv_header_stdc+:} false; then :
  24048. $as_echo_n "(cached) " >&6
  24049. else
  24050. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  24051. /* end confdefs.h. */
  24052. #include <stdlib.h>
  24053. #include <stdarg.h>
  24054. #include <string.h>
  24055. #include <float.h>
  24056. int
  24057. main ()
  24058. {
  24059. ;
  24060. return 0;
  24061. }
  24062. _ACEOF
  24063. if ac_fn_c_try_compile "$LINENO"; then :
  24064. ac_cv_header_stdc=yes
  24065. else
  24066. ac_cv_header_stdc=no
  24067. fi
  24068. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  24069. if test $ac_cv_header_stdc = yes; then
  24070. # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  24071. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  24072. /* end confdefs.h. */
  24073. #include <string.h>
  24074. _ACEOF
  24075. if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  24076. $EGREP "memchr" >/dev/null 2>&1; then :
  24077. else
  24078. ac_cv_header_stdc=no
  24079. fi
  24080. rm -f conftest*
  24081. fi
  24082. if test $ac_cv_header_stdc = yes; then
  24083. # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  24084. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  24085. /* end confdefs.h. */
  24086. #include <stdlib.h>
  24087. _ACEOF
  24088. if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  24089. $EGREP "free" >/dev/null 2>&1; then :
  24090. else
  24091. ac_cv_header_stdc=no
  24092. fi
  24093. rm -f conftest*
  24094. fi
  24095. if test $ac_cv_header_stdc = yes; then
  24096. # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
  24097. if test "$cross_compiling" = yes; then :
  24098. :
  24099. else
  24100. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  24101. /* end confdefs.h. */
  24102. #include <ctype.h>
  24103. #include <stdlib.h>
  24104. #if ((' ' & 0x0FF) == 0x020)
  24105. # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
  24106. # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
  24107. #else
  24108. # define ISLOWER(c) \
  24109. (('a' <= (c) && (c) <= 'i') \
  24110. || ('j' <= (c) && (c) <= 'r') \
  24111. || ('s' <= (c) && (c) <= 'z'))
  24112. # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
  24113. #endif
  24114. #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
  24115. int
  24116. main ()
  24117. {
  24118. int i;
  24119. for (i = 0; i < 256; i++)
  24120. if (XOR (islower (i), ISLOWER (i))
  24121. || toupper (i) != TOUPPER (i))
  24122. return 2;
  24123. return 0;
  24124. }
  24125. _ACEOF
  24126. if ac_fn_c_try_run "$LINENO"; then :
  24127. else
  24128. ac_cv_header_stdc=no
  24129. fi
  24130. rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
  24131. conftest.$ac_objext conftest.beam conftest.$ac_ext
  24132. fi
  24133. fi
  24134. fi
  24135. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
  24136. $as_echo "$ac_cv_header_stdc" >&6; }
  24137. if test $ac_cv_header_stdc = yes; then
  24138. $as_echo "#define STDC_HEADERS 1" >>confdefs.h
  24139. fi
  24140. # On IRIX 5.3, sys/types and inttypes.h are conflicting.
  24141. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
  24142. inttypes.h stdint.h unistd.h
  24143. do :
  24144. as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  24145. ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
  24146. "
  24147. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  24148. cat >>confdefs.h <<_ACEOF
  24149. #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  24150. _ACEOF
  24151. fi
  24152. done
  24153. for ac_header in dlfcn.h
  24154. do :
  24155. ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
  24156. "
  24157. if test "x$ac_cv_header_dlfcn_h" = xyes; then :
  24158. cat >>confdefs.h <<_ACEOF
  24159. #define HAVE_DLFCN_H 1
  24160. _ACEOF
  24161. fi
  24162. done
  24163. func_stripname_cnf ()
  24164. {
  24165. case $2 in
  24166. .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
  24167. *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
  24168. esac
  24169. } # func_stripname_cnf
  24170. # Set options
  24171. # Check whether --enable-static was given.
  24172. if test "${enable_static+set}" = set; then :
  24173. enableval=$enable_static; p=${PACKAGE-default}
  24174. case $enableval in
  24175. yes) enable_static=yes ;;
  24176. no) enable_static=no ;;
  24177. *)
  24178. enable_static=no
  24179. # Look at the argument we got. We use all the common list separators.
  24180. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  24181. for pkg in $enableval; do
  24182. IFS=$lt_save_ifs
  24183. if test "X$pkg" = "X$p"; then
  24184. enable_static=yes
  24185. fi
  24186. done
  24187. IFS=$lt_save_ifs
  24188. ;;
  24189. esac
  24190. else
  24191. enable_static=no
  24192. fi
  24193. enable_dlopen=no
  24194. enable_win32_dll=no
  24195. # Check whether --enable-shared was given.
  24196. if test "${enable_shared+set}" = set; then :
  24197. enableval=$enable_shared; p=${PACKAGE-default}
  24198. case $enableval in
  24199. yes) enable_shared=yes ;;
  24200. no) enable_shared=no ;;
  24201. *)
  24202. enable_shared=no
  24203. # Look at the argument we got. We use all the common list separators.
  24204. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  24205. for pkg in $enableval; do
  24206. IFS=$lt_save_ifs
  24207. if test "X$pkg" = "X$p"; then
  24208. enable_shared=yes
  24209. fi
  24210. done
  24211. IFS=$lt_save_ifs
  24212. ;;
  24213. esac
  24214. else
  24215. enable_shared=yes
  24216. fi
  24217. # Check whether --with-pic was given.
  24218. if test "${with_pic+set}" = set; then :
  24219. withval=$with_pic; lt_p=${PACKAGE-default}
  24220. case $withval in
  24221. yes|no) pic_mode=$withval ;;
  24222. *)
  24223. pic_mode=default
  24224. # Look at the argument we got. We use all the common list separators.
  24225. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  24226. for lt_pkg in $withval; do
  24227. IFS=$lt_save_ifs
  24228. if test "X$lt_pkg" = "X$lt_p"; then
  24229. pic_mode=yes
  24230. fi
  24231. done
  24232. IFS=$lt_save_ifs
  24233. ;;
  24234. esac
  24235. else
  24236. pic_mode=default
  24237. fi
  24238. # Check whether --enable-fast-install was given.
  24239. if test "${enable_fast_install+set}" = set; then :
  24240. enableval=$enable_fast_install; p=${PACKAGE-default}
  24241. case $enableval in
  24242. yes) enable_fast_install=yes ;;
  24243. no) enable_fast_install=no ;;
  24244. *)
  24245. enable_fast_install=no
  24246. # Look at the argument we got. We use all the common list separators.
  24247. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  24248. for pkg in $enableval; do
  24249. IFS=$lt_save_ifs
  24250. if test "X$pkg" = "X$p"; then
  24251. enable_fast_install=yes
  24252. fi
  24253. done
  24254. IFS=$lt_save_ifs
  24255. ;;
  24256. esac
  24257. else
  24258. enable_fast_install=yes
  24259. fi
  24260. shared_archive_member_spec=
  24261. case $host,$enable_shared in
  24262. power*-*-aix[5-9]*,yes)
  24263. { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
  24264. $as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
  24265. # Check whether --with-aix-soname was given.
  24266. if test "${with_aix_soname+set}" = set; then :
  24267. withval=$with_aix_soname; case $withval in
  24268. aix|svr4|both)
  24269. ;;
  24270. *)
  24271. as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
  24272. ;;
  24273. esac
  24274. lt_cv_with_aix_soname=$with_aix_soname
  24275. else
  24276. if ${lt_cv_with_aix_soname+:} false; then :
  24277. $as_echo_n "(cached) " >&6
  24278. else
  24279. lt_cv_with_aix_soname=aix
  24280. fi
  24281. with_aix_soname=$lt_cv_with_aix_soname
  24282. fi
  24283. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
  24284. $as_echo "$with_aix_soname" >&6; }
  24285. if test aix != "$with_aix_soname"; then
  24286. # For the AIX way of multilib, we name the shared archive member
  24287. # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
  24288. # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
  24289. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
  24290. # the AIX toolchain works better with OBJECT_MODE set (default 32).
  24291. if test 64 = "${OBJECT_MODE-32}"; then
  24292. shared_archive_member_spec=shr_64
  24293. else
  24294. shared_archive_member_spec=shr
  24295. fi
  24296. fi
  24297. ;;
  24298. *)
  24299. with_aix_soname=aix
  24300. ;;
  24301. esac
  24302. # This can be used to rebuild libtool when needed
  24303. LIBTOOL_DEPS=$ltmain
  24304. # Always use our own libtool.
  24305. LIBTOOL='$(SHELL) $(top_builddir)/libtool'
  24306. test -z "$LN_S" && LN_S="ln -s"
  24307. if test -n "${ZSH_VERSION+set}"; then
  24308. setopt NO_GLOB_SUBST
  24309. fi
  24310. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
  24311. $as_echo_n "checking for objdir... " >&6; }
  24312. if ${lt_cv_objdir+:} false; then :
  24313. $as_echo_n "(cached) " >&6
  24314. else
  24315. rm -f .libs 2>/dev/null
  24316. mkdir .libs 2>/dev/null
  24317. if test -d .libs; then
  24318. lt_cv_objdir=.libs
  24319. else
  24320. # MS-DOS does not allow filenames that begin with a dot.
  24321. lt_cv_objdir=_libs
  24322. fi
  24323. rmdir .libs 2>/dev/null
  24324. fi
  24325. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
  24326. $as_echo "$lt_cv_objdir" >&6; }
  24327. objdir=$lt_cv_objdir
  24328. cat >>confdefs.h <<_ACEOF
  24329. #define LT_OBJDIR "$lt_cv_objdir/"
  24330. _ACEOF
  24331. case $host_os in
  24332. aix3*)
  24333. # AIX sometimes has problems with the GCC collect2 program. For some
  24334. # reason, if we set the COLLECT_NAMES environment variable, the problems
  24335. # vanish in a puff of smoke.
  24336. if test set != "${COLLECT_NAMES+set}"; then
  24337. COLLECT_NAMES=
  24338. export COLLECT_NAMES
  24339. fi
  24340. ;;
  24341. esac
  24342. # Global variables:
  24343. ofile=libtool
  24344. can_build_shared=yes
  24345. # All known linkers require a '.a' archive for static linking (except MSVC,
  24346. # which needs '.lib').
  24347. libext=a
  24348. with_gnu_ld=$lt_cv_prog_gnu_ld
  24349. old_CC=$CC
  24350. old_CFLAGS=$CFLAGS
  24351. # Set sane defaults for various variables
  24352. test -z "$CC" && CC=cc
  24353. test -z "$LTCC" && LTCC=$CC
  24354. test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
  24355. test -z "$LD" && LD=ld
  24356. test -z "$ac_objext" && ac_objext=o
  24357. func_cc_basename $compiler
  24358. cc_basename=$func_cc_basename_result
  24359. # Only perform the check for file, if the check method requires it
  24360. test -z "$MAGIC_CMD" && MAGIC_CMD=file
  24361. case $deplibs_check_method in
  24362. file_magic*)
  24363. if test "$file_magic_cmd" = '$MAGIC_CMD'; then
  24364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
  24365. $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
  24366. if ${lt_cv_path_MAGIC_CMD+:} false; then :
  24367. $as_echo_n "(cached) " >&6
  24368. else
  24369. case $MAGIC_CMD in
  24370. [\\/*] | ?:[\\/]*)
  24371. lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
  24372. ;;
  24373. *)
  24374. lt_save_MAGIC_CMD=$MAGIC_CMD
  24375. lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
  24376. ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
  24377. for ac_dir in $ac_dummy; do
  24378. IFS=$lt_save_ifs
  24379. test -z "$ac_dir" && ac_dir=.
  24380. if test -f "$ac_dir/${ac_tool_prefix}file"; then
  24381. lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
  24382. if test -n "$file_magic_test_file"; then
  24383. case $deplibs_check_method in
  24384. "file_magic "*)
  24385. file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
  24386. MAGIC_CMD=$lt_cv_path_MAGIC_CMD
  24387. if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
  24388. $EGREP "$file_magic_regex" > /dev/null; then
  24389. :
  24390. else
  24391. cat <<_LT_EOF 1>&2
  24392. *** Warning: the command libtool uses to detect shared libraries,
  24393. *** $file_magic_cmd, produces output that libtool cannot recognize.
  24394. *** The result is that libtool may fail to recognize shared libraries
  24395. *** as such. This will affect the creation of libtool libraries that
  24396. *** depend on shared libraries, but programs linked with such libtool
  24397. *** libraries will work regardless of this problem. Nevertheless, you
  24398. *** may want to report the problem to your system manager and/or to
  24399. *** bug-libtool@gnu.org
  24400. _LT_EOF
  24401. fi ;;
  24402. esac
  24403. fi
  24404. break
  24405. fi
  24406. done
  24407. IFS=$lt_save_ifs
  24408. MAGIC_CMD=$lt_save_MAGIC_CMD
  24409. ;;
  24410. esac
  24411. fi
  24412. MAGIC_CMD=$lt_cv_path_MAGIC_CMD
  24413. if test -n "$MAGIC_CMD"; then
  24414. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
  24415. $as_echo "$MAGIC_CMD" >&6; }
  24416. else
  24417. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  24418. $as_echo "no" >&6; }
  24419. fi
  24420. if test -z "$lt_cv_path_MAGIC_CMD"; then
  24421. if test -n "$ac_tool_prefix"; then
  24422. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
  24423. $as_echo_n "checking for file... " >&6; }
  24424. if ${lt_cv_path_MAGIC_CMD+:} false; then :
  24425. $as_echo_n "(cached) " >&6
  24426. else
  24427. case $MAGIC_CMD in
  24428. [\\/*] | ?:[\\/]*)
  24429. lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
  24430. ;;
  24431. *)
  24432. lt_save_MAGIC_CMD=$MAGIC_CMD
  24433. lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
  24434. ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
  24435. for ac_dir in $ac_dummy; do
  24436. IFS=$lt_save_ifs
  24437. test -z "$ac_dir" && ac_dir=.
  24438. if test -f "$ac_dir/file"; then
  24439. lt_cv_path_MAGIC_CMD=$ac_dir/"file"
  24440. if test -n "$file_magic_test_file"; then
  24441. case $deplibs_check_method in
  24442. "file_magic "*)
  24443. file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
  24444. MAGIC_CMD=$lt_cv_path_MAGIC_CMD
  24445. if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
  24446. $EGREP "$file_magic_regex" > /dev/null; then
  24447. :
  24448. else
  24449. cat <<_LT_EOF 1>&2
  24450. *** Warning: the command libtool uses to detect shared libraries,
  24451. *** $file_magic_cmd, produces output that libtool cannot recognize.
  24452. *** The result is that libtool may fail to recognize shared libraries
  24453. *** as such. This will affect the creation of libtool libraries that
  24454. *** depend on shared libraries, but programs linked with such libtool
  24455. *** libraries will work regardless of this problem. Nevertheless, you
  24456. *** may want to report the problem to your system manager and/or to
  24457. *** bug-libtool@gnu.org
  24458. _LT_EOF
  24459. fi ;;
  24460. esac
  24461. fi
  24462. break
  24463. fi
  24464. done
  24465. IFS=$lt_save_ifs
  24466. MAGIC_CMD=$lt_save_MAGIC_CMD
  24467. ;;
  24468. esac
  24469. fi
  24470. MAGIC_CMD=$lt_cv_path_MAGIC_CMD
  24471. if test -n "$MAGIC_CMD"; then
  24472. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
  24473. $as_echo "$MAGIC_CMD" >&6; }
  24474. else
  24475. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  24476. $as_echo "no" >&6; }
  24477. fi
  24478. else
  24479. MAGIC_CMD=:
  24480. fi
  24481. fi
  24482. fi
  24483. ;;
  24484. esac
  24485. # Use C for the default configuration in the libtool script
  24486. lt_save_CC=$CC
  24487. ac_ext=c
  24488. ac_cpp='$CPP $CPPFLAGS'
  24489. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  24490. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  24491. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  24492. # Source file extension for C test sources.
  24493. ac_ext=c
  24494. # Object file extension for compiled C test sources.
  24495. objext=o
  24496. objext=$objext
  24497. # Code to be used in simple compile tests
  24498. lt_simple_compile_test_code="int some_variable = 0;"
  24499. # Code to be used in simple link tests
  24500. lt_simple_link_test_code='int main(){return(0);}'
  24501. # If no C compiler was specified, use CC.
  24502. LTCC=${LTCC-"$CC"}
  24503. # If no C compiler flags were specified, use CFLAGS.
  24504. LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
  24505. # Allow CC to be a program name with arguments.
  24506. compiler=$CC
  24507. # Save the default compiler, since it gets overwritten when the other
  24508. # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
  24509. compiler_DEFAULT=$CC
  24510. # save warnings/boilerplate of simple test code
  24511. ac_outfile=conftest.$ac_objext
  24512. echo "$lt_simple_compile_test_code" >conftest.$ac_ext
  24513. eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  24514. _lt_compiler_boilerplate=`cat conftest.err`
  24515. $RM conftest*
  24516. ac_outfile=conftest.$ac_objext
  24517. echo "$lt_simple_link_test_code" >conftest.$ac_ext
  24518. eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  24519. _lt_linker_boilerplate=`cat conftest.err`
  24520. $RM -r conftest*
  24521. ## CAVEAT EMPTOR:
  24522. ## There is no encapsulation within the following macros, do not change
  24523. ## the running order or otherwise move them around unless you know exactly
  24524. ## what you are doing...
  24525. if test -n "$compiler"; then
  24526. lt_prog_compiler_no_builtin_flag=
  24527. if test yes = "$GCC"; then
  24528. case $cc_basename in
  24529. nvcc*)
  24530. lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
  24531. *)
  24532. lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
  24533. esac
  24534. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
  24535. $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
  24536. if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
  24537. $as_echo_n "(cached) " >&6
  24538. else
  24539. lt_cv_prog_compiler_rtti_exceptions=no
  24540. ac_outfile=conftest.$ac_objext
  24541. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  24542. lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
  24543. # Insert the option either (1) after the last *FLAGS variable, or
  24544. # (2) before a word containing "conftest.", or (3) at the end.
  24545. # Note that $ac_compile itself does not contain backslashes and begins
  24546. # with a dollar sign (not a hyphen), so the echo should work correctly.
  24547. # The option is referenced via a variable to avoid confusing sed.
  24548. lt_compile=`echo "$ac_compile" | $SED \
  24549. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  24550. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  24551. -e 's:$: $lt_compiler_flag:'`
  24552. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  24553. (eval "$lt_compile" 2>conftest.err)
  24554. ac_status=$?
  24555. cat conftest.err >&5
  24556. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  24557. if (exit $ac_status) && test -s "$ac_outfile"; then
  24558. # The compiler can only warn and ignore the option if not recognized
  24559. # So say no if there are warnings other than the usual output.
  24560. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
  24561. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  24562. if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
  24563. lt_cv_prog_compiler_rtti_exceptions=yes
  24564. fi
  24565. fi
  24566. $RM conftest*
  24567. fi
  24568. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
  24569. $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
  24570. if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
  24571. lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
  24572. else
  24573. :
  24574. fi
  24575. fi
  24576. lt_prog_compiler_wl=
  24577. lt_prog_compiler_pic=
  24578. lt_prog_compiler_static=
  24579. if test yes = "$GCC"; then
  24580. lt_prog_compiler_wl='-Wl,'
  24581. lt_prog_compiler_static='-static'
  24582. case $host_os in
  24583. aix*)
  24584. # All AIX code is PIC.
  24585. if test ia64 = "$host_cpu"; then
  24586. # AIX 5 now supports IA64 processor
  24587. lt_prog_compiler_static='-Bstatic'
  24588. fi
  24589. lt_prog_compiler_pic='-fPIC'
  24590. ;;
  24591. amigaos*)
  24592. case $host_cpu in
  24593. powerpc)
  24594. # see comment about AmigaOS4 .so support
  24595. lt_prog_compiler_pic='-fPIC'
  24596. ;;
  24597. m68k)
  24598. # FIXME: we need at least 68020 code to build shared libraries, but
  24599. # adding the '-m68020' flag to GCC prevents building anything better,
  24600. # like '-m68040'.
  24601. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
  24602. ;;
  24603. esac
  24604. ;;
  24605. beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
  24606. # PIC is the default for these OSes.
  24607. ;;
  24608. mingw* | cygwin* | pw32* | os2* | cegcc*)
  24609. # This hack is so that the source file can tell whether it is being
  24610. # built for inclusion in a dll (and should export symbols for example).
  24611. # Although the cygwin gcc ignores -fPIC, still need this for old-style
  24612. # (--disable-auto-import) libraries
  24613. lt_prog_compiler_pic='-DDLL_EXPORT'
  24614. case $host_os in
  24615. os2*)
  24616. lt_prog_compiler_static='$wl-static'
  24617. ;;
  24618. esac
  24619. ;;
  24620. darwin* | rhapsody*)
  24621. # PIC is the default on this platform
  24622. # Common symbols not allowed in MH_DYLIB files
  24623. lt_prog_compiler_pic='-fno-common'
  24624. ;;
  24625. haiku*)
  24626. # PIC is the default for Haiku.
  24627. # The "-static" flag exists, but is broken.
  24628. lt_prog_compiler_static=
  24629. ;;
  24630. hpux*)
  24631. # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
  24632. # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
  24633. # sets the default TLS model and affects inlining.
  24634. case $host_cpu in
  24635. hppa*64*)
  24636. # +Z the default
  24637. ;;
  24638. *)
  24639. lt_prog_compiler_pic='-fPIC'
  24640. ;;
  24641. esac
  24642. ;;
  24643. interix[3-9]*)
  24644. # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  24645. # Instead, we relocate shared libraries at runtime.
  24646. ;;
  24647. msdosdjgpp*)
  24648. # Just because we use GCC doesn't mean we suddenly get shared libraries
  24649. # on systems that don't support them.
  24650. lt_prog_compiler_can_build_shared=no
  24651. enable_shared=no
  24652. ;;
  24653. *nto* | *qnx*)
  24654. # QNX uses GNU C++, but need to define -shared option too, otherwise
  24655. # it will coredump.
  24656. lt_prog_compiler_pic='-fPIC -shared'
  24657. ;;
  24658. sysv4*MP*)
  24659. if test -d /usr/nec; then
  24660. lt_prog_compiler_pic=-Kconform_pic
  24661. fi
  24662. ;;
  24663. *)
  24664. lt_prog_compiler_pic='-fPIC'
  24665. ;;
  24666. esac
  24667. case $cc_basename in
  24668. nvcc*) # Cuda Compiler Driver 2.2
  24669. lt_prog_compiler_wl='-Xlinker '
  24670. if test -n "$lt_prog_compiler_pic"; then
  24671. lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
  24672. fi
  24673. ;;
  24674. esac
  24675. else
  24676. # PORTME Check for flag to pass linker flags through the system compiler.
  24677. case $host_os in
  24678. aix*)
  24679. lt_prog_compiler_wl='-Wl,'
  24680. if test ia64 = "$host_cpu"; then
  24681. # AIX 5 now supports IA64 processor
  24682. lt_prog_compiler_static='-Bstatic'
  24683. else
  24684. lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
  24685. fi
  24686. ;;
  24687. darwin* | rhapsody*)
  24688. # PIC is the default on this platform
  24689. # Common symbols not allowed in MH_DYLIB files
  24690. lt_prog_compiler_pic='-fno-common'
  24691. case $cc_basename in
  24692. nagfor*)
  24693. # NAG Fortran compiler
  24694. lt_prog_compiler_wl='-Wl,-Wl,,'
  24695. lt_prog_compiler_pic='-PIC'
  24696. lt_prog_compiler_static='-Bstatic'
  24697. ;;
  24698. esac
  24699. ;;
  24700. mingw* | cygwin* | pw32* | os2* | cegcc*)
  24701. # This hack is so that the source file can tell whether it is being
  24702. # built for inclusion in a dll (and should export symbols for example).
  24703. lt_prog_compiler_pic='-DDLL_EXPORT'
  24704. case $host_os in
  24705. os2*)
  24706. lt_prog_compiler_static='$wl-static'
  24707. ;;
  24708. esac
  24709. ;;
  24710. hpux9* | hpux10* | hpux11*)
  24711. lt_prog_compiler_wl='-Wl,'
  24712. # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
  24713. # not for PA HP-UX.
  24714. case $host_cpu in
  24715. hppa*64*|ia64*)
  24716. # +Z the default
  24717. ;;
  24718. *)
  24719. lt_prog_compiler_pic='+Z'
  24720. ;;
  24721. esac
  24722. # Is there a better lt_prog_compiler_static that works with the bundled CC?
  24723. lt_prog_compiler_static='$wl-a ${wl}archive'
  24724. ;;
  24725. irix5* | irix6* | nonstopux*)
  24726. lt_prog_compiler_wl='-Wl,'
  24727. # PIC (with -KPIC) is the default.
  24728. lt_prog_compiler_static='-non_shared'
  24729. ;;
  24730. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  24731. case $cc_basename in
  24732. # old Intel for x86_64, which still supported -KPIC.
  24733. ecc*)
  24734. lt_prog_compiler_wl='-Wl,'
  24735. lt_prog_compiler_pic='-KPIC'
  24736. lt_prog_compiler_static='-static'
  24737. ;;
  24738. # icc used to be incompatible with GCC.
  24739. # ICC 10 doesn't accept -KPIC any more.
  24740. icc* | ifort*)
  24741. lt_prog_compiler_wl='-Wl,'
  24742. lt_prog_compiler_pic='-fPIC'
  24743. lt_prog_compiler_static='-static'
  24744. ;;
  24745. # Lahey Fortran 8.1.
  24746. lf95*)
  24747. lt_prog_compiler_wl='-Wl,'
  24748. lt_prog_compiler_pic='--shared'
  24749. lt_prog_compiler_static='--static'
  24750. ;;
  24751. nagfor*)
  24752. # NAG Fortran compiler
  24753. lt_prog_compiler_wl='-Wl,-Wl,,'
  24754. lt_prog_compiler_pic='-PIC'
  24755. lt_prog_compiler_static='-Bstatic'
  24756. ;;
  24757. tcc*)
  24758. # Fabrice Bellard et al's Tiny C Compiler
  24759. lt_prog_compiler_wl='-Wl,'
  24760. lt_prog_compiler_pic='-fPIC'
  24761. lt_prog_compiler_static='-static'
  24762. ;;
  24763. pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
  24764. # Portland Group compilers (*not* the Pentium gcc compiler,
  24765. # which looks to be a dead project)
  24766. lt_prog_compiler_wl='-Wl,'
  24767. lt_prog_compiler_pic='-fpic'
  24768. lt_prog_compiler_static='-Bstatic'
  24769. ;;
  24770. ccc*)
  24771. lt_prog_compiler_wl='-Wl,'
  24772. # All Alpha code is PIC.
  24773. lt_prog_compiler_static='-non_shared'
  24774. ;;
  24775. xl* | bgxl* | bgf* | mpixl*)
  24776. # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
  24777. lt_prog_compiler_wl='-Wl,'
  24778. lt_prog_compiler_pic='-qpic'
  24779. lt_prog_compiler_static='-qstaticlink'
  24780. ;;
  24781. *)
  24782. case `$CC -V 2>&1 | sed 5q` in
  24783. *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
  24784. # Sun Fortran 8.3 passes all unrecognized flags to the linker
  24785. lt_prog_compiler_pic='-KPIC'
  24786. lt_prog_compiler_static='-Bstatic'
  24787. lt_prog_compiler_wl=''
  24788. ;;
  24789. *Sun\ F* | *Sun*Fortran*)
  24790. lt_prog_compiler_pic='-KPIC'
  24791. lt_prog_compiler_static='-Bstatic'
  24792. lt_prog_compiler_wl='-Qoption ld '
  24793. ;;
  24794. *Sun\ C*)
  24795. # Sun C 5.9
  24796. lt_prog_compiler_pic='-KPIC'
  24797. lt_prog_compiler_static='-Bstatic'
  24798. lt_prog_compiler_wl='-Wl,'
  24799. ;;
  24800. *Intel*\ [CF]*Compiler*)
  24801. lt_prog_compiler_wl='-Wl,'
  24802. lt_prog_compiler_pic='-fPIC'
  24803. lt_prog_compiler_static='-static'
  24804. ;;
  24805. *Portland\ Group*)
  24806. lt_prog_compiler_wl='-Wl,'
  24807. lt_prog_compiler_pic='-fpic'
  24808. lt_prog_compiler_static='-Bstatic'
  24809. ;;
  24810. esac
  24811. ;;
  24812. esac
  24813. ;;
  24814. newsos6)
  24815. lt_prog_compiler_pic='-KPIC'
  24816. lt_prog_compiler_static='-Bstatic'
  24817. ;;
  24818. *nto* | *qnx*)
  24819. # QNX uses GNU C++, but need to define -shared option too, otherwise
  24820. # it will coredump.
  24821. lt_prog_compiler_pic='-fPIC -shared'
  24822. ;;
  24823. osf3* | osf4* | osf5*)
  24824. lt_prog_compiler_wl='-Wl,'
  24825. # All OSF/1 code is PIC.
  24826. lt_prog_compiler_static='-non_shared'
  24827. ;;
  24828. rdos*)
  24829. lt_prog_compiler_static='-non_shared'
  24830. ;;
  24831. solaris*)
  24832. lt_prog_compiler_pic='-KPIC'
  24833. lt_prog_compiler_static='-Bstatic'
  24834. case $cc_basename in
  24835. f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
  24836. lt_prog_compiler_wl='-Qoption ld ';;
  24837. *)
  24838. lt_prog_compiler_wl='-Wl,';;
  24839. esac
  24840. ;;
  24841. sunos4*)
  24842. lt_prog_compiler_wl='-Qoption ld '
  24843. lt_prog_compiler_pic='-PIC'
  24844. lt_prog_compiler_static='-Bstatic'
  24845. ;;
  24846. sysv4 | sysv4.2uw2* | sysv4.3*)
  24847. lt_prog_compiler_wl='-Wl,'
  24848. lt_prog_compiler_pic='-KPIC'
  24849. lt_prog_compiler_static='-Bstatic'
  24850. ;;
  24851. sysv4*MP*)
  24852. if test -d /usr/nec; then
  24853. lt_prog_compiler_pic='-Kconform_pic'
  24854. lt_prog_compiler_static='-Bstatic'
  24855. fi
  24856. ;;
  24857. sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
  24858. lt_prog_compiler_wl='-Wl,'
  24859. lt_prog_compiler_pic='-KPIC'
  24860. lt_prog_compiler_static='-Bstatic'
  24861. ;;
  24862. unicos*)
  24863. lt_prog_compiler_wl='-Wl,'
  24864. lt_prog_compiler_can_build_shared=no
  24865. ;;
  24866. uts4*)
  24867. lt_prog_compiler_pic='-pic'
  24868. lt_prog_compiler_static='-Bstatic'
  24869. ;;
  24870. *)
  24871. lt_prog_compiler_can_build_shared=no
  24872. ;;
  24873. esac
  24874. fi
  24875. case $host_os in
  24876. # For platforms that do not support PIC, -DPIC is meaningless:
  24877. *djgpp*)
  24878. lt_prog_compiler_pic=
  24879. ;;
  24880. *)
  24881. lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
  24882. ;;
  24883. esac
  24884. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
  24885. $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  24886. if ${lt_cv_prog_compiler_pic+:} false; then :
  24887. $as_echo_n "(cached) " >&6
  24888. else
  24889. lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
  24890. fi
  24891. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
  24892. $as_echo "$lt_cv_prog_compiler_pic" >&6; }
  24893. lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
  24894. #
  24895. # Check to make sure the PIC flag actually works.
  24896. #
  24897. if test -n "$lt_prog_compiler_pic"; then
  24898. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
  24899. $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
  24900. if ${lt_cv_prog_compiler_pic_works+:} false; then :
  24901. $as_echo_n "(cached) " >&6
  24902. else
  24903. lt_cv_prog_compiler_pic_works=no
  24904. ac_outfile=conftest.$ac_objext
  24905. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  24906. lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
  24907. # Insert the option either (1) after the last *FLAGS variable, or
  24908. # (2) before a word containing "conftest.", or (3) at the end.
  24909. # Note that $ac_compile itself does not contain backslashes and begins
  24910. # with a dollar sign (not a hyphen), so the echo should work correctly.
  24911. # The option is referenced via a variable to avoid confusing sed.
  24912. lt_compile=`echo "$ac_compile" | $SED \
  24913. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  24914. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  24915. -e 's:$: $lt_compiler_flag:'`
  24916. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  24917. (eval "$lt_compile" 2>conftest.err)
  24918. ac_status=$?
  24919. cat conftest.err >&5
  24920. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  24921. if (exit $ac_status) && test -s "$ac_outfile"; then
  24922. # The compiler can only warn and ignore the option if not recognized
  24923. # So say no if there are warnings other than the usual output.
  24924. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
  24925. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  24926. if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
  24927. lt_cv_prog_compiler_pic_works=yes
  24928. fi
  24929. fi
  24930. $RM conftest*
  24931. fi
  24932. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
  24933. $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
  24934. if test yes = "$lt_cv_prog_compiler_pic_works"; then
  24935. case $lt_prog_compiler_pic in
  24936. "" | " "*) ;;
  24937. *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
  24938. esac
  24939. else
  24940. lt_prog_compiler_pic=
  24941. lt_prog_compiler_can_build_shared=no
  24942. fi
  24943. fi
  24944. #
  24945. # Check to make sure the static flag actually works.
  24946. #
  24947. wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
  24948. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
  24949. $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
  24950. if ${lt_cv_prog_compiler_static_works+:} false; then :
  24951. $as_echo_n "(cached) " >&6
  24952. else
  24953. lt_cv_prog_compiler_static_works=no
  24954. save_LDFLAGS=$LDFLAGS
  24955. LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
  24956. echo "$lt_simple_link_test_code" > conftest.$ac_ext
  24957. if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
  24958. # The linker can only warn and ignore the option if not recognized
  24959. # So say no if there are warnings
  24960. if test -s conftest.err; then
  24961. # Append any errors to the config.log.
  24962. cat conftest.err 1>&5
  24963. $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
  24964. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  24965. if diff conftest.exp conftest.er2 >/dev/null; then
  24966. lt_cv_prog_compiler_static_works=yes
  24967. fi
  24968. else
  24969. lt_cv_prog_compiler_static_works=yes
  24970. fi
  24971. fi
  24972. $RM -r conftest*
  24973. LDFLAGS=$save_LDFLAGS
  24974. fi
  24975. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
  24976. $as_echo "$lt_cv_prog_compiler_static_works" >&6; }
  24977. if test yes = "$lt_cv_prog_compiler_static_works"; then
  24978. :
  24979. else
  24980. lt_prog_compiler_static=
  24981. fi
  24982. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  24983. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  24984. if ${lt_cv_prog_compiler_c_o+:} false; then :
  24985. $as_echo_n "(cached) " >&6
  24986. else
  24987. lt_cv_prog_compiler_c_o=no
  24988. $RM -r conftest 2>/dev/null
  24989. mkdir conftest
  24990. cd conftest
  24991. mkdir out
  24992. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  24993. lt_compiler_flag="-o out/conftest2.$ac_objext"
  24994. # Insert the option either (1) after the last *FLAGS variable, or
  24995. # (2) before a word containing "conftest.", or (3) at the end.
  24996. # Note that $ac_compile itself does not contain backslashes and begins
  24997. # with a dollar sign (not a hyphen), so the echo should work correctly.
  24998. lt_compile=`echo "$ac_compile" | $SED \
  24999. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  25000. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  25001. -e 's:$: $lt_compiler_flag:'`
  25002. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  25003. (eval "$lt_compile" 2>out/conftest.err)
  25004. ac_status=$?
  25005. cat out/conftest.err >&5
  25006. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  25007. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  25008. then
  25009. # The compiler can only warn and ignore the option if not recognized
  25010. # So say no if there are warnings
  25011. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  25012. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  25013. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  25014. lt_cv_prog_compiler_c_o=yes
  25015. fi
  25016. fi
  25017. chmod u+w . 2>&5
  25018. $RM conftest*
  25019. # SGI C++ compiler will create directory out/ii_files/ for
  25020. # template instantiation
  25021. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  25022. $RM out/* && rmdir out
  25023. cd ..
  25024. $RM -r conftest
  25025. $RM conftest*
  25026. fi
  25027. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
  25028. $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
  25029. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  25030. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  25031. if ${lt_cv_prog_compiler_c_o+:} false; then :
  25032. $as_echo_n "(cached) " >&6
  25033. else
  25034. lt_cv_prog_compiler_c_o=no
  25035. $RM -r conftest 2>/dev/null
  25036. mkdir conftest
  25037. cd conftest
  25038. mkdir out
  25039. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  25040. lt_compiler_flag="-o out/conftest2.$ac_objext"
  25041. # Insert the option either (1) after the last *FLAGS variable, or
  25042. # (2) before a word containing "conftest.", or (3) at the end.
  25043. # Note that $ac_compile itself does not contain backslashes and begins
  25044. # with a dollar sign (not a hyphen), so the echo should work correctly.
  25045. lt_compile=`echo "$ac_compile" | $SED \
  25046. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  25047. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  25048. -e 's:$: $lt_compiler_flag:'`
  25049. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  25050. (eval "$lt_compile" 2>out/conftest.err)
  25051. ac_status=$?
  25052. cat out/conftest.err >&5
  25053. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  25054. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  25055. then
  25056. # The compiler can only warn and ignore the option if not recognized
  25057. # So say no if there are warnings
  25058. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  25059. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  25060. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  25061. lt_cv_prog_compiler_c_o=yes
  25062. fi
  25063. fi
  25064. chmod u+w . 2>&5
  25065. $RM conftest*
  25066. # SGI C++ compiler will create directory out/ii_files/ for
  25067. # template instantiation
  25068. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  25069. $RM out/* && rmdir out
  25070. cd ..
  25071. $RM -r conftest
  25072. $RM conftest*
  25073. fi
  25074. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
  25075. $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
  25076. hard_links=nottested
  25077. if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
  25078. # do not overwrite the value of need_locks provided by the user
  25079. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
  25080. $as_echo_n "checking if we can lock with hard links... " >&6; }
  25081. hard_links=yes
  25082. $RM conftest*
  25083. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  25084. touch conftest.a
  25085. ln conftest.a conftest.b 2>&5 || hard_links=no
  25086. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  25087. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
  25088. $as_echo "$hard_links" >&6; }
  25089. if test no = "$hard_links"; then
  25090. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
  25091. $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
  25092. need_locks=warn
  25093. fi
  25094. else
  25095. need_locks=no
  25096. fi
  25097. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
  25098. $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
  25099. runpath_var=
  25100. allow_undefined_flag=
  25101. always_export_symbols=no
  25102. archive_cmds=
  25103. archive_expsym_cmds=
  25104. compiler_needs_object=no
  25105. enable_shared_with_static_runtimes=no
  25106. export_dynamic_flag_spec=
  25107. export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  25108. hardcode_automatic=no
  25109. hardcode_direct=no
  25110. hardcode_direct_absolute=no
  25111. hardcode_libdir_flag_spec=
  25112. hardcode_libdir_separator=
  25113. hardcode_minus_L=no
  25114. hardcode_shlibpath_var=unsupported
  25115. inherit_rpath=no
  25116. link_all_deplibs=unknown
  25117. module_cmds=
  25118. module_expsym_cmds=
  25119. old_archive_from_new_cmds=
  25120. old_archive_from_expsyms_cmds=
  25121. thread_safe_flag_spec=
  25122. whole_archive_flag_spec=
  25123. # include_expsyms should be a list of space-separated symbols to be *always*
  25124. # included in the symbol list
  25125. include_expsyms=
  25126. # exclude_expsyms can be an extended regexp of symbols to exclude
  25127. # it will be wrapped by ' (' and ')$', so one must not match beginning or
  25128. # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
  25129. # as well as any symbol that contains 'd'.
  25130. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
  25131. # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
  25132. # platforms (ab)use it in PIC code, but their linkers get confused if
  25133. # the symbol is explicitly referenced. Since portable code cannot
  25134. # rely on this symbol name, it's probably fine to never include it in
  25135. # preloaded symbol tables.
  25136. # Exclude shared library initialization/finalization symbols.
  25137. extract_expsyms_cmds=
  25138. case $host_os in
  25139. cygwin* | mingw* | pw32* | cegcc*)
  25140. # FIXME: the MSVC++ port hasn't been tested in a loooong time
  25141. # When not using gcc, we currently assume that we are using
  25142. # Microsoft Visual C++.
  25143. if test yes != "$GCC"; then
  25144. with_gnu_ld=no
  25145. fi
  25146. ;;
  25147. interix*)
  25148. # we just hope/assume this is gcc and not c89 (= MSVC++)
  25149. with_gnu_ld=yes
  25150. ;;
  25151. openbsd* | bitrig*)
  25152. with_gnu_ld=no
  25153. ;;
  25154. esac
  25155. ld_shlibs=yes
  25156. # On some targets, GNU ld is compatible enough with the native linker
  25157. # that we're better off using the native interface for both.
  25158. lt_use_gnu_ld_interface=no
  25159. if test yes = "$with_gnu_ld"; then
  25160. case $host_os in
  25161. aix*)
  25162. # The AIX port of GNU ld has always aspired to compatibility
  25163. # with the native linker. However, as the warning in the GNU ld
  25164. # block says, versions before 2.19.5* couldn't really create working
  25165. # shared libraries, regardless of the interface used.
  25166. case `$LD -v 2>&1` in
  25167. *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
  25168. *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
  25169. *\ \(GNU\ Binutils\)\ [3-9]*) ;;
  25170. *)
  25171. lt_use_gnu_ld_interface=yes
  25172. ;;
  25173. esac
  25174. ;;
  25175. *)
  25176. lt_use_gnu_ld_interface=yes
  25177. ;;
  25178. esac
  25179. fi
  25180. if test yes = "$lt_use_gnu_ld_interface"; then
  25181. # If archive_cmds runs LD, not CC, wlarc should be empty
  25182. wlarc='$wl'
  25183. # Set some defaults for GNU ld with shared library support. These
  25184. # are reset later if shared libraries are not supported. Putting them
  25185. # here allows them to be overridden if necessary.
  25186. runpath_var=LD_RUN_PATH
  25187. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  25188. export_dynamic_flag_spec='$wl--export-dynamic'
  25189. # ancient GNU ld didn't support --whole-archive et. al.
  25190. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
  25191. whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
  25192. else
  25193. whole_archive_flag_spec=
  25194. fi
  25195. supports_anon_versioning=no
  25196. case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
  25197. *GNU\ gold*) supports_anon_versioning=yes ;;
  25198. *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
  25199. *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
  25200. *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
  25201. *\ 2.11.*) ;; # other 2.11 versions
  25202. *) supports_anon_versioning=yes ;;
  25203. esac
  25204. # See if GNU ld supports shared libraries.
  25205. case $host_os in
  25206. aix[3-9]*)
  25207. # On AIX/PPC, the GNU linker is very broken
  25208. if test ia64 != "$host_cpu"; then
  25209. ld_shlibs=no
  25210. cat <<_LT_EOF 1>&2
  25211. *** Warning: the GNU linker, at least up to release 2.19, is reported
  25212. *** to be unable to reliably create shared libraries on AIX.
  25213. *** Therefore, libtool is disabling shared libraries support. If you
  25214. *** really care for shared libraries, you may want to install binutils
  25215. *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
  25216. *** You will then need to restart the configuration process.
  25217. _LT_EOF
  25218. fi
  25219. ;;
  25220. amigaos*)
  25221. case $host_cpu in
  25222. powerpc)
  25223. # see comment about AmigaOS4 .so support
  25224. archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25225. archive_expsym_cmds=''
  25226. ;;
  25227. m68k)
  25228. archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
  25229. hardcode_libdir_flag_spec='-L$libdir'
  25230. hardcode_minus_L=yes
  25231. ;;
  25232. esac
  25233. ;;
  25234. beos*)
  25235. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  25236. allow_undefined_flag=unsupported
  25237. # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  25238. # support --undefined. This deserves some investigation. FIXME
  25239. archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25240. else
  25241. ld_shlibs=no
  25242. fi
  25243. ;;
  25244. cygwin* | mingw* | pw32* | cegcc*)
  25245. # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
  25246. # as there is no search path for DLLs.
  25247. hardcode_libdir_flag_spec='-L$libdir'
  25248. export_dynamic_flag_spec='$wl--export-all-symbols'
  25249. allow_undefined_flag=unsupported
  25250. always_export_symbols=no
  25251. enable_shared_with_static_runtimes=yes
  25252. export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
  25253. exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
  25254. if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
  25255. archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  25256. # If the export-symbols file already is a .def file, use it as
  25257. # is; otherwise, prepend EXPORTS...
  25258. archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  25259. cp $export_symbols $output_objdir/$soname.def;
  25260. else
  25261. echo EXPORTS > $output_objdir/$soname.def;
  25262. cat $export_symbols >> $output_objdir/$soname.def;
  25263. fi~
  25264. $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  25265. else
  25266. ld_shlibs=no
  25267. fi
  25268. ;;
  25269. haiku*)
  25270. archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25271. link_all_deplibs=yes
  25272. ;;
  25273. os2*)
  25274. hardcode_libdir_flag_spec='-L$libdir'
  25275. hardcode_minus_L=yes
  25276. allow_undefined_flag=unsupported
  25277. shrext_cmds=.dll
  25278. archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  25279. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  25280. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  25281. $ECHO EXPORTS >> $output_objdir/$libname.def~
  25282. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  25283. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  25284. emximp -o $lib $output_objdir/$libname.def'
  25285. archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  25286. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  25287. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  25288. $ECHO EXPORTS >> $output_objdir/$libname.def~
  25289. prefix_cmds="$SED"~
  25290. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  25291. prefix_cmds="$prefix_cmds -e 1d";
  25292. fi~
  25293. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  25294. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  25295. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  25296. emximp -o $lib $output_objdir/$libname.def'
  25297. old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  25298. enable_shared_with_static_runtimes=yes
  25299. ;;
  25300. interix[3-9]*)
  25301. hardcode_direct=no
  25302. hardcode_shlibpath_var=no
  25303. hardcode_libdir_flag_spec='$wl-rpath,$libdir'
  25304. export_dynamic_flag_spec='$wl-E'
  25305. # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
  25306. # Instead, shared libraries are loaded at an image base (0x10000000 by
  25307. # default) and relocated if they conflict, which is a slow very memory
  25308. # consuming and fragmenting process. To avoid this, we pick a random,
  25309. # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
  25310. # time. Moving up from 0x10000000 also allows more sbrk(2) space.
  25311. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  25312. archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  25313. ;;
  25314. gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
  25315. tmp_diet=no
  25316. if test linux-dietlibc = "$host_os"; then
  25317. case $cc_basename in
  25318. diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
  25319. esac
  25320. fi
  25321. if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
  25322. && test no = "$tmp_diet"
  25323. then
  25324. tmp_addflag=' $pic_flag'
  25325. tmp_sharedflag='-shared'
  25326. case $cc_basename,$host_cpu in
  25327. pgcc*) # Portland Group C compiler
  25328. whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  25329. tmp_addflag=' $pic_flag'
  25330. ;;
  25331. pgf77* | pgf90* | pgf95* | pgfortran*)
  25332. # Portland Group f77 and f90 compilers
  25333. whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  25334. tmp_addflag=' $pic_flag -Mnomain' ;;
  25335. ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
  25336. tmp_addflag=' -i_dynamic' ;;
  25337. efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
  25338. tmp_addflag=' -i_dynamic -nofor_main' ;;
  25339. ifc* | ifort*) # Intel Fortran compiler
  25340. tmp_addflag=' -nofor_main' ;;
  25341. lf95*) # Lahey Fortran 8.1
  25342. whole_archive_flag_spec=
  25343. tmp_sharedflag='--shared' ;;
  25344. nagfor*) # NAGFOR 5.3
  25345. tmp_sharedflag='-Wl,-shared' ;;
  25346. xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
  25347. tmp_sharedflag='-qmkshrobj'
  25348. tmp_addflag= ;;
  25349. nvcc*) # Cuda Compiler Driver 2.2
  25350. whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  25351. compiler_needs_object=yes
  25352. ;;
  25353. esac
  25354. case `$CC -V 2>&1 | sed 5q` in
  25355. *Sun\ C*) # Sun C 5.9
  25356. whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  25357. compiler_needs_object=yes
  25358. tmp_sharedflag='-G' ;;
  25359. *Sun\ F*) # Sun Fortran 8.3
  25360. tmp_sharedflag='-G' ;;
  25361. esac
  25362. archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25363. if test yes = "$supports_anon_versioning"; then
  25364. archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
  25365. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  25366. echo "local: *; };" >> $output_objdir/$libname.ver~
  25367. $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
  25368. fi
  25369. case $cc_basename in
  25370. tcc*)
  25371. export_dynamic_flag_spec='-rdynamic'
  25372. ;;
  25373. xlf* | bgf* | bgxlf* | mpixlf*)
  25374. # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
  25375. whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
  25376. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  25377. archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
  25378. if test yes = "$supports_anon_versioning"; then
  25379. archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
  25380. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  25381. echo "local: *; };" >> $output_objdir/$libname.ver~
  25382. $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
  25383. fi
  25384. ;;
  25385. esac
  25386. else
  25387. ld_shlibs=no
  25388. fi
  25389. ;;
  25390. netbsd*)
  25391. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  25392. archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  25393. wlarc=
  25394. else
  25395. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25396. archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  25397. fi
  25398. ;;
  25399. solaris*)
  25400. if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
  25401. ld_shlibs=no
  25402. cat <<_LT_EOF 1>&2
  25403. *** Warning: The releases 2.8.* of the GNU linker cannot reliably
  25404. *** create shared libraries on Solaris systems. Therefore, libtool
  25405. *** is disabling shared libraries support. We urge you to upgrade GNU
  25406. *** binutils to release 2.9.1 or newer. Another option is to modify
  25407. *** your PATH or compiler configuration so that the native linker is
  25408. *** used, and then restart.
  25409. _LT_EOF
  25410. elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  25411. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25412. archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  25413. else
  25414. ld_shlibs=no
  25415. fi
  25416. ;;
  25417. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
  25418. case `$LD -v 2>&1` in
  25419. *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
  25420. ld_shlibs=no
  25421. cat <<_LT_EOF 1>&2
  25422. *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
  25423. *** reliably create shared libraries on SCO systems. Therefore, libtool
  25424. *** is disabling shared libraries support. We urge you to upgrade GNU
  25425. *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
  25426. *** your PATH or compiler configuration so that the native linker is
  25427. *** used, and then restart.
  25428. _LT_EOF
  25429. ;;
  25430. *)
  25431. # For security reasons, it is highly recommended that you always
  25432. # use absolute paths for naming shared libraries, and exclude the
  25433. # DT_RUNPATH tag from executables and libraries. But doing so
  25434. # requires that you compile everything twice, which is a pain.
  25435. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  25436. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  25437. archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25438. archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  25439. else
  25440. ld_shlibs=no
  25441. fi
  25442. ;;
  25443. esac
  25444. ;;
  25445. sunos4*)
  25446. archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  25447. wlarc=
  25448. hardcode_direct=yes
  25449. hardcode_shlibpath_var=no
  25450. ;;
  25451. *)
  25452. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  25453. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25454. archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  25455. else
  25456. ld_shlibs=no
  25457. fi
  25458. ;;
  25459. esac
  25460. if test no = "$ld_shlibs"; then
  25461. runpath_var=
  25462. hardcode_libdir_flag_spec=
  25463. export_dynamic_flag_spec=
  25464. whole_archive_flag_spec=
  25465. fi
  25466. else
  25467. # PORTME fill in a description of your system's linker (not GNU ld)
  25468. case $host_os in
  25469. aix3*)
  25470. allow_undefined_flag=unsupported
  25471. always_export_symbols=yes
  25472. archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
  25473. # Note: this linker hardcodes the directories in LIBPATH if there
  25474. # are no directories specified by -L.
  25475. hardcode_minus_L=yes
  25476. if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
  25477. # Neither direct hardcoding nor static linking is supported with a
  25478. # broken collect2.
  25479. hardcode_direct=unsupported
  25480. fi
  25481. ;;
  25482. aix[4-9]*)
  25483. if test ia64 = "$host_cpu"; then
  25484. # On IA64, the linker does run time linking by default, so we don't
  25485. # have to do anything special.
  25486. aix_use_runtimelinking=no
  25487. exp_sym_flag='-Bexport'
  25488. no_entry_flag=
  25489. else
  25490. # If we're using GNU nm, then we don't want the "-C" option.
  25491. # -C means demangle to GNU nm, but means don't demangle to AIX nm.
  25492. # Without the "-l" option, or with the "-B" option, AIX nm treats
  25493. # weak defined symbols like other global defined symbols, whereas
  25494. # GNU nm marks them as "W".
  25495. # While the 'weak' keyword is ignored in the Export File, we need
  25496. # it in the Import File for the 'aix-soname' feature, so we have
  25497. # to replace the "-B" option with "-P" for AIX nm.
  25498. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
  25499. export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
  25500. else
  25501. export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
  25502. fi
  25503. aix_use_runtimelinking=no
  25504. # Test if we are trying to use run time linking or normal
  25505. # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  25506. # have runtime linking enabled, and use it for executables.
  25507. # For shared libraries, we enable/disable runtime linking
  25508. # depending on the kind of the shared library created -
  25509. # when "with_aix_soname,aix_use_runtimelinking" is:
  25510. # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
  25511. # "aix,yes" lib.so shared, rtl:yes, for executables
  25512. # lib.a static archive
  25513. # "both,no" lib.so.V(shr.o) shared, rtl:yes
  25514. # lib.a(lib.so.V) shared, rtl:no, for executables
  25515. # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
  25516. # lib.a(lib.so.V) shared, rtl:no
  25517. # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
  25518. # lib.a static archive
  25519. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
  25520. for ld_flag in $LDFLAGS; do
  25521. if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
  25522. aix_use_runtimelinking=yes
  25523. break
  25524. fi
  25525. done
  25526. if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
  25527. # With aix-soname=svr4, we create the lib.so.V shared archives only,
  25528. # so we don't have lib.a shared libs to link our executables.
  25529. # We have to force runtime linking in this case.
  25530. aix_use_runtimelinking=yes
  25531. LDFLAGS="$LDFLAGS -Wl,-brtl"
  25532. fi
  25533. ;;
  25534. esac
  25535. exp_sym_flag='-bexport'
  25536. no_entry_flag='-bnoentry'
  25537. fi
  25538. # When large executables or shared objects are built, AIX ld can
  25539. # have problems creating the table of contents. If linking a library
  25540. # or program results in "error TOC overflow" add -mminimal-toc to
  25541. # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
  25542. # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
  25543. archive_cmds=''
  25544. hardcode_direct=yes
  25545. hardcode_direct_absolute=yes
  25546. hardcode_libdir_separator=':'
  25547. link_all_deplibs=yes
  25548. file_list_spec='$wl-f,'
  25549. case $with_aix_soname,$aix_use_runtimelinking in
  25550. aix,*) ;; # traditional, no import file
  25551. svr4,* | *,yes) # use import file
  25552. # The Import File defines what to hardcode.
  25553. hardcode_direct=no
  25554. hardcode_direct_absolute=no
  25555. ;;
  25556. esac
  25557. if test yes = "$GCC"; then
  25558. case $host_os in aix4.[012]|aix4.[012].*)
  25559. # We only want to do this on AIX 4.2 and lower, the check
  25560. # below for broken collect2 doesn't work under 4.3+
  25561. collect2name=`$CC -print-prog-name=collect2`
  25562. if test -f "$collect2name" &&
  25563. strings "$collect2name" | $GREP resolve_lib_name >/dev/null
  25564. then
  25565. # We have reworked collect2
  25566. :
  25567. else
  25568. # We have old collect2
  25569. hardcode_direct=unsupported
  25570. # It fails to find uninstalled libraries when the uninstalled
  25571. # path is not listed in the libpath. Setting hardcode_minus_L
  25572. # to unsupported forces relinking
  25573. hardcode_minus_L=yes
  25574. hardcode_libdir_flag_spec='-L$libdir'
  25575. hardcode_libdir_separator=
  25576. fi
  25577. ;;
  25578. esac
  25579. shared_flag='-shared'
  25580. if test yes = "$aix_use_runtimelinking"; then
  25581. shared_flag="$shared_flag "'$wl-G'
  25582. fi
  25583. # Need to ensure runtime linking is disabled for the traditional
  25584. # shared library, or the linker may eventually find shared libraries
  25585. # /with/ Import File - we do not want to mix them.
  25586. shared_flag_aix='-shared'
  25587. shared_flag_svr4='-shared $wl-G'
  25588. else
  25589. # not using gcc
  25590. if test ia64 = "$host_cpu"; then
  25591. # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
  25592. # chokes on -Wl,-G. The following line is correct:
  25593. shared_flag='-G'
  25594. else
  25595. if test yes = "$aix_use_runtimelinking"; then
  25596. shared_flag='$wl-G'
  25597. else
  25598. shared_flag='$wl-bM:SRE'
  25599. fi
  25600. shared_flag_aix='$wl-bM:SRE'
  25601. shared_flag_svr4='$wl-G'
  25602. fi
  25603. fi
  25604. export_dynamic_flag_spec='$wl-bexpall'
  25605. # It seems that -bexpall does not export symbols beginning with
  25606. # underscore (_), so it is better to generate a list of symbols to export.
  25607. always_export_symbols=yes
  25608. if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
  25609. # Warning - without using the other runtime loading flags (-brtl),
  25610. # -berok will link without error, but may produce a broken library.
  25611. allow_undefined_flag='-berok'
  25612. # Determine the default libpath from the value encoded in an
  25613. # empty executable.
  25614. if test set = "${lt_cv_aix_libpath+set}"; then
  25615. aix_libpath=$lt_cv_aix_libpath
  25616. else
  25617. if ${lt_cv_aix_libpath_+:} false; then :
  25618. $as_echo_n "(cached) " >&6
  25619. else
  25620. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  25621. /* end confdefs.h. */
  25622. int
  25623. main ()
  25624. {
  25625. ;
  25626. return 0;
  25627. }
  25628. _ACEOF
  25629. if ac_fn_c_try_link "$LINENO"; then :
  25630. lt_aix_libpath_sed='
  25631. /Import File Strings/,/^$/ {
  25632. /^0/ {
  25633. s/^0 *\([^ ]*\) *$/\1/
  25634. p
  25635. }
  25636. }'
  25637. lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  25638. # Check for a 64-bit object if we didn't find anything.
  25639. if test -z "$lt_cv_aix_libpath_"; then
  25640. lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  25641. fi
  25642. fi
  25643. rm -f core conftest.err conftest.$ac_objext \
  25644. conftest$ac_exeext conftest.$ac_ext
  25645. if test -z "$lt_cv_aix_libpath_"; then
  25646. lt_cv_aix_libpath_=/usr/lib:/lib
  25647. fi
  25648. fi
  25649. aix_libpath=$lt_cv_aix_libpath_
  25650. fi
  25651. hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
  25652. archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
  25653. else
  25654. if test ia64 = "$host_cpu"; then
  25655. hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
  25656. allow_undefined_flag="-z nodefs"
  25657. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
  25658. else
  25659. # Determine the default libpath from the value encoded in an
  25660. # empty executable.
  25661. if test set = "${lt_cv_aix_libpath+set}"; then
  25662. aix_libpath=$lt_cv_aix_libpath
  25663. else
  25664. if ${lt_cv_aix_libpath_+:} false; then :
  25665. $as_echo_n "(cached) " >&6
  25666. else
  25667. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  25668. /* end confdefs.h. */
  25669. int
  25670. main ()
  25671. {
  25672. ;
  25673. return 0;
  25674. }
  25675. _ACEOF
  25676. if ac_fn_c_try_link "$LINENO"; then :
  25677. lt_aix_libpath_sed='
  25678. /Import File Strings/,/^$/ {
  25679. /^0/ {
  25680. s/^0 *\([^ ]*\) *$/\1/
  25681. p
  25682. }
  25683. }'
  25684. lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  25685. # Check for a 64-bit object if we didn't find anything.
  25686. if test -z "$lt_cv_aix_libpath_"; then
  25687. lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  25688. fi
  25689. fi
  25690. rm -f core conftest.err conftest.$ac_objext \
  25691. conftest$ac_exeext conftest.$ac_ext
  25692. if test -z "$lt_cv_aix_libpath_"; then
  25693. lt_cv_aix_libpath_=/usr/lib:/lib
  25694. fi
  25695. fi
  25696. aix_libpath=$lt_cv_aix_libpath_
  25697. fi
  25698. hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
  25699. # Warning - without using the other run time loading flags,
  25700. # -berok will link without error, but may produce a broken library.
  25701. no_undefined_flag=' $wl-bernotok'
  25702. allow_undefined_flag=' $wl-berok'
  25703. if test yes = "$with_gnu_ld"; then
  25704. # We only use this code for GNU lds that support --whole-archive.
  25705. whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
  25706. else
  25707. # Exported symbols can be pulled into shared objects from archives
  25708. whole_archive_flag_spec='$convenience'
  25709. fi
  25710. archive_cmds_need_lc=yes
  25711. archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
  25712. # -brtl affects multiple linker settings, -berok does not and is overridden later
  25713. compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
  25714. if test svr4 != "$with_aix_soname"; then
  25715. # This is similar to how AIX traditionally builds its shared libraries.
  25716. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
  25717. fi
  25718. if test aix != "$with_aix_soname"; then
  25719. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
  25720. else
  25721. # used by -dlpreopen to get the symbols
  25722. archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
  25723. fi
  25724. archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
  25725. fi
  25726. fi
  25727. ;;
  25728. amigaos*)
  25729. case $host_cpu in
  25730. powerpc)
  25731. # see comment about AmigaOS4 .so support
  25732. archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  25733. archive_expsym_cmds=''
  25734. ;;
  25735. m68k)
  25736. archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
  25737. hardcode_libdir_flag_spec='-L$libdir'
  25738. hardcode_minus_L=yes
  25739. ;;
  25740. esac
  25741. ;;
  25742. bsdi[45]*)
  25743. export_dynamic_flag_spec=-rdynamic
  25744. ;;
  25745. cygwin* | mingw* | pw32* | cegcc*)
  25746. # When not using gcc, we currently assume that we are using
  25747. # Microsoft Visual C++.
  25748. # hardcode_libdir_flag_spec is actually meaningless, as there is
  25749. # no search path for DLLs.
  25750. case $cc_basename in
  25751. cl*)
  25752. # Native MSVC
  25753. hardcode_libdir_flag_spec=' '
  25754. allow_undefined_flag=unsupported
  25755. always_export_symbols=yes
  25756. file_list_spec='@'
  25757. # Tell ltmain to make .lib files, not .a files.
  25758. libext=lib
  25759. # Tell ltmain to make .dll files, not .so files.
  25760. shrext_cmds=.dll
  25761. # FIXME: Setting linknames here is a bad hack.
  25762. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
  25763. archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  25764. cp "$export_symbols" "$output_objdir/$soname.def";
  25765. echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
  25766. else
  25767. $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
  25768. fi~
  25769. $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
  25770. linknames='
  25771. # The linker will not automatically build a static lib if we build a DLL.
  25772. # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
  25773. enable_shared_with_static_runtimes=yes
  25774. exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
  25775. export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
  25776. # Don't use ranlib
  25777. old_postinstall_cmds='chmod 644 $oldlib'
  25778. postlink_cmds='lt_outputfile="@OUTPUT@"~
  25779. lt_tool_outputfile="@TOOL_OUTPUT@"~
  25780. case $lt_outputfile in
  25781. *.exe|*.EXE) ;;
  25782. *)
  25783. lt_outputfile=$lt_outputfile.exe
  25784. lt_tool_outputfile=$lt_tool_outputfile.exe
  25785. ;;
  25786. esac~
  25787. if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
  25788. $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
  25789. $RM "$lt_outputfile.manifest";
  25790. fi'
  25791. ;;
  25792. *)
  25793. # Assume MSVC wrapper
  25794. hardcode_libdir_flag_spec=' '
  25795. allow_undefined_flag=unsupported
  25796. # Tell ltmain to make .lib files, not .a files.
  25797. libext=lib
  25798. # Tell ltmain to make .dll files, not .so files.
  25799. shrext_cmds=.dll
  25800. # FIXME: Setting linknames here is a bad hack.
  25801. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
  25802. # The linker will automatically build a .lib file if we build a DLL.
  25803. old_archive_from_new_cmds='true'
  25804. # FIXME: Should let the user specify the lib program.
  25805. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
  25806. enable_shared_with_static_runtimes=yes
  25807. ;;
  25808. esac
  25809. ;;
  25810. darwin* | rhapsody*)
  25811. archive_cmds_need_lc=no
  25812. hardcode_direct=no
  25813. hardcode_automatic=yes
  25814. hardcode_shlibpath_var=unsupported
  25815. if test yes = "$lt_cv_ld_force_load"; then
  25816. whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
  25817. else
  25818. whole_archive_flag_spec=''
  25819. fi
  25820. link_all_deplibs=yes
  25821. allow_undefined_flag=$_lt_dar_allow_undefined
  25822. case $cc_basename in
  25823. ifort*|nagfor*) _lt_dar_can_shared=yes ;;
  25824. *) _lt_dar_can_shared=$GCC ;;
  25825. esac
  25826. if test yes = "$_lt_dar_can_shared"; then
  25827. output_verbose_link_cmd=func_echo_all
  25828. archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
  25829. module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
  25830. archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
  25831. module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
  25832. else
  25833. ld_shlibs=no
  25834. fi
  25835. ;;
  25836. dgux*)
  25837. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  25838. hardcode_libdir_flag_spec='-L$libdir'
  25839. hardcode_shlibpath_var=no
  25840. ;;
  25841. # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
  25842. # support. Future versions do this automatically, but an explicit c++rt0.o
  25843. # does not break anything, and helps significantly (at the cost of a little
  25844. # extra space).
  25845. freebsd2.2*)
  25846. archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
  25847. hardcode_libdir_flag_spec='-R$libdir'
  25848. hardcode_direct=yes
  25849. hardcode_shlibpath_var=no
  25850. ;;
  25851. # Unfortunately, older versions of FreeBSD 2 do not have this feature.
  25852. freebsd2.*)
  25853. archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  25854. hardcode_direct=yes
  25855. hardcode_minus_L=yes
  25856. hardcode_shlibpath_var=no
  25857. ;;
  25858. # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
  25859. freebsd* | dragonfly*)
  25860. archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  25861. hardcode_libdir_flag_spec='-R$libdir'
  25862. hardcode_direct=yes
  25863. hardcode_shlibpath_var=no
  25864. ;;
  25865. hpux9*)
  25866. if test yes = "$GCC"; then
  25867. archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  25868. else
  25869. archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  25870. fi
  25871. hardcode_libdir_flag_spec='$wl+b $wl$libdir'
  25872. hardcode_libdir_separator=:
  25873. hardcode_direct=yes
  25874. # hardcode_minus_L: Not really in the search PATH,
  25875. # but as the default location of the library.
  25876. hardcode_minus_L=yes
  25877. export_dynamic_flag_spec='$wl-E'
  25878. ;;
  25879. hpux10*)
  25880. if test yes,no = "$GCC,$with_gnu_ld"; then
  25881. archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  25882. else
  25883. archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
  25884. fi
  25885. if test no = "$with_gnu_ld"; then
  25886. hardcode_libdir_flag_spec='$wl+b $wl$libdir'
  25887. hardcode_libdir_separator=:
  25888. hardcode_direct=yes
  25889. hardcode_direct_absolute=yes
  25890. export_dynamic_flag_spec='$wl-E'
  25891. # hardcode_minus_L: Not really in the search PATH,
  25892. # but as the default location of the library.
  25893. hardcode_minus_L=yes
  25894. fi
  25895. ;;
  25896. hpux11*)
  25897. if test yes,no = "$GCC,$with_gnu_ld"; then
  25898. case $host_cpu in
  25899. hppa*64*)
  25900. archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  25901. ;;
  25902. ia64*)
  25903. archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  25904. ;;
  25905. *)
  25906. archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  25907. ;;
  25908. esac
  25909. else
  25910. case $host_cpu in
  25911. hppa*64*)
  25912. archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  25913. ;;
  25914. ia64*)
  25915. archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  25916. ;;
  25917. *)
  25918. # Older versions of the 11.00 compiler do not understand -b yet
  25919. # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
  25920. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
  25921. $as_echo_n "checking if $CC understands -b... " >&6; }
  25922. if ${lt_cv_prog_compiler__b+:} false; then :
  25923. $as_echo_n "(cached) " >&6
  25924. else
  25925. lt_cv_prog_compiler__b=no
  25926. save_LDFLAGS=$LDFLAGS
  25927. LDFLAGS="$LDFLAGS -b"
  25928. echo "$lt_simple_link_test_code" > conftest.$ac_ext
  25929. if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
  25930. # The linker can only warn and ignore the option if not recognized
  25931. # So say no if there are warnings
  25932. if test -s conftest.err; then
  25933. # Append any errors to the config.log.
  25934. cat conftest.err 1>&5
  25935. $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
  25936. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  25937. if diff conftest.exp conftest.er2 >/dev/null; then
  25938. lt_cv_prog_compiler__b=yes
  25939. fi
  25940. else
  25941. lt_cv_prog_compiler__b=yes
  25942. fi
  25943. fi
  25944. $RM -r conftest*
  25945. LDFLAGS=$save_LDFLAGS
  25946. fi
  25947. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
  25948. $as_echo "$lt_cv_prog_compiler__b" >&6; }
  25949. if test yes = "$lt_cv_prog_compiler__b"; then
  25950. archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  25951. else
  25952. archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
  25953. fi
  25954. ;;
  25955. esac
  25956. fi
  25957. if test no = "$with_gnu_ld"; then
  25958. hardcode_libdir_flag_spec='$wl+b $wl$libdir'
  25959. hardcode_libdir_separator=:
  25960. case $host_cpu in
  25961. hppa*64*|ia64*)
  25962. hardcode_direct=no
  25963. hardcode_shlibpath_var=no
  25964. ;;
  25965. *)
  25966. hardcode_direct=yes
  25967. hardcode_direct_absolute=yes
  25968. export_dynamic_flag_spec='$wl-E'
  25969. # hardcode_minus_L: Not really in the search PATH,
  25970. # but as the default location of the library.
  25971. hardcode_minus_L=yes
  25972. ;;
  25973. esac
  25974. fi
  25975. ;;
  25976. irix5* | irix6* | nonstopux*)
  25977. if test yes = "$GCC"; then
  25978. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  25979. # Try to use the -exported_symbol ld option, if it does not
  25980. # work, assume that -exports_file does not work either and
  25981. # implicitly export all symbols.
  25982. # This should be the same for all languages, so no per-tag cache variable.
  25983. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
  25984. $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
  25985. if ${lt_cv_irix_exported_symbol+:} false; then :
  25986. $as_echo_n "(cached) " >&6
  25987. else
  25988. save_LDFLAGS=$LDFLAGS
  25989. LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
  25990. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  25991. /* end confdefs.h. */
  25992. int foo (void) { return 0; }
  25993. _ACEOF
  25994. if ac_fn_c_try_link "$LINENO"; then :
  25995. lt_cv_irix_exported_symbol=yes
  25996. else
  25997. lt_cv_irix_exported_symbol=no
  25998. fi
  25999. rm -f core conftest.err conftest.$ac_objext \
  26000. conftest$ac_exeext conftest.$ac_ext
  26001. LDFLAGS=$save_LDFLAGS
  26002. fi
  26003. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
  26004. $as_echo "$lt_cv_irix_exported_symbol" >&6; }
  26005. if test yes = "$lt_cv_irix_exported_symbol"; then
  26006. archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
  26007. fi
  26008. else
  26009. archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  26010. archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
  26011. fi
  26012. archive_cmds_need_lc='no'
  26013. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  26014. hardcode_libdir_separator=:
  26015. inherit_rpath=yes
  26016. link_all_deplibs=yes
  26017. ;;
  26018. linux*)
  26019. case $cc_basename in
  26020. tcc*)
  26021. # Fabrice Bellard et al's Tiny C Compiler
  26022. ld_shlibs=yes
  26023. archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  26024. ;;
  26025. esac
  26026. ;;
  26027. netbsd*)
  26028. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  26029. archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
  26030. else
  26031. archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
  26032. fi
  26033. hardcode_libdir_flag_spec='-R$libdir'
  26034. hardcode_direct=yes
  26035. hardcode_shlibpath_var=no
  26036. ;;
  26037. newsos6)
  26038. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26039. hardcode_direct=yes
  26040. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  26041. hardcode_libdir_separator=:
  26042. hardcode_shlibpath_var=no
  26043. ;;
  26044. *nto* | *qnx*)
  26045. ;;
  26046. openbsd* | bitrig*)
  26047. if test -f /usr/libexec/ld.so; then
  26048. hardcode_direct=yes
  26049. hardcode_shlibpath_var=no
  26050. hardcode_direct_absolute=yes
  26051. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  26052. archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  26053. archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
  26054. hardcode_libdir_flag_spec='$wl-rpath,$libdir'
  26055. export_dynamic_flag_spec='$wl-E'
  26056. else
  26057. archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  26058. hardcode_libdir_flag_spec='$wl-rpath,$libdir'
  26059. fi
  26060. else
  26061. ld_shlibs=no
  26062. fi
  26063. ;;
  26064. os2*)
  26065. hardcode_libdir_flag_spec='-L$libdir'
  26066. hardcode_minus_L=yes
  26067. allow_undefined_flag=unsupported
  26068. shrext_cmds=.dll
  26069. archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  26070. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  26071. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  26072. $ECHO EXPORTS >> $output_objdir/$libname.def~
  26073. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  26074. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  26075. emximp -o $lib $output_objdir/$libname.def'
  26076. archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  26077. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  26078. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  26079. $ECHO EXPORTS >> $output_objdir/$libname.def~
  26080. prefix_cmds="$SED"~
  26081. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  26082. prefix_cmds="$prefix_cmds -e 1d";
  26083. fi~
  26084. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  26085. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  26086. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  26087. emximp -o $lib $output_objdir/$libname.def'
  26088. old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  26089. enable_shared_with_static_runtimes=yes
  26090. ;;
  26091. osf3*)
  26092. if test yes = "$GCC"; then
  26093. allow_undefined_flag=' $wl-expect_unresolved $wl\*'
  26094. archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  26095. else
  26096. allow_undefined_flag=' -expect_unresolved \*'
  26097. archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  26098. fi
  26099. archive_cmds_need_lc='no'
  26100. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  26101. hardcode_libdir_separator=:
  26102. ;;
  26103. osf4* | osf5*) # as osf3* with the addition of -msym flag
  26104. if test yes = "$GCC"; then
  26105. allow_undefined_flag=' $wl-expect_unresolved $wl\*'
  26106. archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  26107. hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
  26108. else
  26109. allow_undefined_flag=' -expect_unresolved \*'
  26110. archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  26111. archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
  26112. $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
  26113. # Both c and cxx compiler support -rpath directly
  26114. hardcode_libdir_flag_spec='-rpath $libdir'
  26115. fi
  26116. archive_cmds_need_lc='no'
  26117. hardcode_libdir_separator=:
  26118. ;;
  26119. solaris*)
  26120. no_undefined_flag=' -z defs'
  26121. if test yes = "$GCC"; then
  26122. wlarc='$wl'
  26123. archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  26124. archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  26125. $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  26126. else
  26127. case `$CC -V 2>&1` in
  26128. *"Compilers 5.0"*)
  26129. wlarc=''
  26130. archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26131. archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  26132. $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
  26133. ;;
  26134. *)
  26135. wlarc='$wl'
  26136. archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
  26137. archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  26138. $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  26139. ;;
  26140. esac
  26141. fi
  26142. hardcode_libdir_flag_spec='-R$libdir'
  26143. hardcode_shlibpath_var=no
  26144. case $host_os in
  26145. solaris2.[0-5] | solaris2.[0-5].*) ;;
  26146. *)
  26147. # The compiler driver will combine and reorder linker options,
  26148. # but understands '-z linker_flag'. GCC discards it without '$wl',
  26149. # but is careful enough not to reorder.
  26150. # Supported since Solaris 2.6 (maybe 2.5.1?)
  26151. if test yes = "$GCC"; then
  26152. whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
  26153. else
  26154. whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
  26155. fi
  26156. ;;
  26157. esac
  26158. link_all_deplibs=yes
  26159. ;;
  26160. sunos4*)
  26161. if test sequent = "$host_vendor"; then
  26162. # Use $CC to link under sequent, because it throws in some extra .o
  26163. # files that make .init and .fini sections work.
  26164. archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
  26165. else
  26166. archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
  26167. fi
  26168. hardcode_libdir_flag_spec='-L$libdir'
  26169. hardcode_direct=yes
  26170. hardcode_minus_L=yes
  26171. hardcode_shlibpath_var=no
  26172. ;;
  26173. sysv4)
  26174. case $host_vendor in
  26175. sni)
  26176. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26177. hardcode_direct=yes # is this really true???
  26178. ;;
  26179. siemens)
  26180. ## LD is ld it makes a PLAMLIB
  26181. ## CC just makes a GrossModule.
  26182. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
  26183. reload_cmds='$CC -r -o $output$reload_objs'
  26184. hardcode_direct=no
  26185. ;;
  26186. motorola)
  26187. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26188. hardcode_direct=no #Motorola manual says yes, but my tests say they lie
  26189. ;;
  26190. esac
  26191. runpath_var='LD_RUN_PATH'
  26192. hardcode_shlibpath_var=no
  26193. ;;
  26194. sysv4.3*)
  26195. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26196. hardcode_shlibpath_var=no
  26197. export_dynamic_flag_spec='-Bexport'
  26198. ;;
  26199. sysv4*MP*)
  26200. if test -d /usr/nec; then
  26201. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26202. hardcode_shlibpath_var=no
  26203. runpath_var=LD_RUN_PATH
  26204. hardcode_runpath_var=yes
  26205. ld_shlibs=yes
  26206. fi
  26207. ;;
  26208. sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
  26209. no_undefined_flag='$wl-z,text'
  26210. archive_cmds_need_lc=no
  26211. hardcode_shlibpath_var=no
  26212. runpath_var='LD_RUN_PATH'
  26213. if test yes = "$GCC"; then
  26214. archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26215. archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26216. else
  26217. archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26218. archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26219. fi
  26220. ;;
  26221. sysv5* | sco3.2v5* | sco5v6*)
  26222. # Note: We CANNOT use -z defs as we might desire, because we do not
  26223. # link with -lc, and that would cause any symbols used from libc to
  26224. # always be unresolved, which means just about no library would
  26225. # ever link correctly. If we're not using GNU ld we use -z text
  26226. # though, which does catch some bad symbols but isn't as heavy-handed
  26227. # as -z defs.
  26228. no_undefined_flag='$wl-z,text'
  26229. allow_undefined_flag='$wl-z,nodefs'
  26230. archive_cmds_need_lc=no
  26231. hardcode_shlibpath_var=no
  26232. hardcode_libdir_flag_spec='$wl-R,$libdir'
  26233. hardcode_libdir_separator=':'
  26234. link_all_deplibs=yes
  26235. export_dynamic_flag_spec='$wl-Bexport'
  26236. runpath_var='LD_RUN_PATH'
  26237. if test yes = "$GCC"; then
  26238. archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26239. archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26240. else
  26241. archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26242. archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  26243. fi
  26244. ;;
  26245. uts4*)
  26246. archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  26247. hardcode_libdir_flag_spec='-L$libdir'
  26248. hardcode_shlibpath_var=no
  26249. ;;
  26250. *)
  26251. ld_shlibs=no
  26252. ;;
  26253. esac
  26254. if test sni = "$host_vendor"; then
  26255. case $host in
  26256. sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  26257. export_dynamic_flag_spec='$wl-Blargedynsym'
  26258. ;;
  26259. esac
  26260. fi
  26261. fi
  26262. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
  26263. $as_echo "$ld_shlibs" >&6; }
  26264. test no = "$ld_shlibs" && can_build_shared=no
  26265. with_gnu_ld=$with_gnu_ld
  26266. #
  26267. # Do we need to explicitly link libc?
  26268. #
  26269. case "x$archive_cmds_need_lc" in
  26270. x|xyes)
  26271. # Assume -lc should be added
  26272. archive_cmds_need_lc=yes
  26273. if test yes,yes = "$GCC,$enable_shared"; then
  26274. case $archive_cmds in
  26275. *'~'*)
  26276. # FIXME: we may have to deal with multi-command sequences.
  26277. ;;
  26278. '$CC '*)
  26279. # Test whether the compiler implicitly links with -lc since on some
  26280. # systems, -lgcc has to come before -lc. If gcc already passes -lc
  26281. # to ld, don't add -lc before -lgcc.
  26282. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
  26283. $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
  26284. if ${lt_cv_archive_cmds_need_lc+:} false; then :
  26285. $as_echo_n "(cached) " >&6
  26286. else
  26287. $RM conftest*
  26288. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  26289. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  26290. (eval $ac_compile) 2>&5
  26291. ac_status=$?
  26292. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  26293. test $ac_status = 0; } 2>conftest.err; then
  26294. soname=conftest
  26295. lib=conftest
  26296. libobjs=conftest.$ac_objext
  26297. deplibs=
  26298. wl=$lt_prog_compiler_wl
  26299. pic_flag=$lt_prog_compiler_pic
  26300. compiler_flags=-v
  26301. linker_flags=-v
  26302. verstring=
  26303. output_objdir=.
  26304. libname=conftest
  26305. lt_save_allow_undefined_flag=$allow_undefined_flag
  26306. allow_undefined_flag=
  26307. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
  26308. (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
  26309. ac_status=$?
  26310. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  26311. test $ac_status = 0; }
  26312. then
  26313. lt_cv_archive_cmds_need_lc=no
  26314. else
  26315. lt_cv_archive_cmds_need_lc=yes
  26316. fi
  26317. allow_undefined_flag=$lt_save_allow_undefined_flag
  26318. else
  26319. cat conftest.err 1>&5
  26320. fi
  26321. $RM conftest*
  26322. fi
  26323. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
  26324. $as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
  26325. archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
  26326. ;;
  26327. esac
  26328. fi
  26329. ;;
  26330. esac
  26331. { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
  26332. $as_echo_n "checking dynamic linker characteristics... " >&6; }
  26333. if test yes = "$GCC"; then
  26334. case $host_os in
  26335. darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
  26336. *) lt_awk_arg='/^libraries:/' ;;
  26337. esac
  26338. case $host_os in
  26339. mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
  26340. *) lt_sed_strip_eq='s|=/|/|g' ;;
  26341. esac
  26342. lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
  26343. case $lt_search_path_spec in
  26344. *\;*)
  26345. # if the path contains ";" then we assume it to be the separator
  26346. # otherwise default to the standard path separator (i.e. ":") - it is
  26347. # assumed that no part of a normal pathname contains ";" but that should
  26348. # okay in the real world where ";" in dirpaths is itself problematic.
  26349. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
  26350. ;;
  26351. *)
  26352. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
  26353. ;;
  26354. esac
  26355. # Ok, now we have the path, separated by spaces, we can step through it
  26356. # and add multilib dir if necessary...
  26357. lt_tmp_lt_search_path_spec=
  26358. lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
  26359. # ...but if some path component already ends with the multilib dir we assume
  26360. # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
  26361. case "$lt_multi_os_dir; $lt_search_path_spec " in
  26362. "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
  26363. lt_multi_os_dir=
  26364. ;;
  26365. esac
  26366. for lt_sys_path in $lt_search_path_spec; do
  26367. if test -d "$lt_sys_path$lt_multi_os_dir"; then
  26368. lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
  26369. elif test -n "$lt_multi_os_dir"; then
  26370. test -d "$lt_sys_path" && \
  26371. lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
  26372. fi
  26373. done
  26374. lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
  26375. BEGIN {RS = " "; FS = "/|\n";} {
  26376. lt_foo = "";
  26377. lt_count = 0;
  26378. for (lt_i = NF; lt_i > 0; lt_i--) {
  26379. if ($lt_i != "" && $lt_i != ".") {
  26380. if ($lt_i == "..") {
  26381. lt_count++;
  26382. } else {
  26383. if (lt_count == 0) {
  26384. lt_foo = "/" $lt_i lt_foo;
  26385. } else {
  26386. lt_count--;
  26387. }
  26388. }
  26389. }
  26390. }
  26391. if (lt_foo != "") { lt_freq[lt_foo]++; }
  26392. if (lt_freq[lt_foo] == 1) { print lt_foo; }
  26393. }'`
  26394. # AWK program above erroneously prepends '/' to C:/dos/paths
  26395. # for these hosts.
  26396. case $host_os in
  26397. mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
  26398. $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
  26399. esac
  26400. sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
  26401. else
  26402. sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
  26403. fi
  26404. library_names_spec=
  26405. libname_spec='lib$name'
  26406. soname_spec=
  26407. shrext_cmds=.so
  26408. postinstall_cmds=
  26409. postuninstall_cmds=
  26410. finish_cmds=
  26411. finish_eval=
  26412. shlibpath_var=
  26413. shlibpath_overrides_runpath=unknown
  26414. version_type=none
  26415. dynamic_linker="$host_os ld.so"
  26416. sys_lib_dlsearch_path_spec="/lib /usr/lib"
  26417. need_lib_prefix=unknown
  26418. hardcode_into_libs=no
  26419. # when you set need_version to no, make sure it does not cause -set_version
  26420. # flags to be left without arguments
  26421. need_version=unknown
  26422. case $host_os in
  26423. aix3*)
  26424. version_type=linux # correct to gnu/linux during the next big refactor
  26425. library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
  26426. shlibpath_var=LIBPATH
  26427. # AIX 3 has no versioning support, so we append a major version to the name.
  26428. soname_spec='$libname$release$shared_ext$major'
  26429. ;;
  26430. aix[4-9]*)
  26431. version_type=linux # correct to gnu/linux during the next big refactor
  26432. need_lib_prefix=no
  26433. need_version=no
  26434. hardcode_into_libs=yes
  26435. if test ia64 = "$host_cpu"; then
  26436. # AIX 5 supports IA64
  26437. library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
  26438. shlibpath_var=LD_LIBRARY_PATH
  26439. else
  26440. # With GCC up to 2.95.x, collect2 would create an import file
  26441. # for dependence libraries. The import file would start with
  26442. # the line '#! .'. This would cause the generated library to
  26443. # depend on '.', always an invalid library. This was fixed in
  26444. # development snapshots of GCC prior to 3.0.
  26445. case $host_os in
  26446. aix4 | aix4.[01] | aix4.[01].*)
  26447. if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
  26448. echo ' yes '
  26449. echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
  26450. :
  26451. else
  26452. can_build_shared=no
  26453. fi
  26454. ;;
  26455. esac
  26456. # Using Import Files as archive members, it is possible to support
  26457. # filename-based versioning of shared library archives on AIX. While
  26458. # this would work for both with and without runtime linking, it will
  26459. # prevent static linking of such archives. So we do filename-based
  26460. # shared library versioning with .so extension only, which is used
  26461. # when both runtime linking and shared linking is enabled.
  26462. # Unfortunately, runtime linking may impact performance, so we do
  26463. # not want this to be the default eventually. Also, we use the
  26464. # versioned .so libs for executables only if there is the -brtl
  26465. # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
  26466. # To allow for filename-based versioning support, we need to create
  26467. # libNAME.so.V as an archive file, containing:
  26468. # *) an Import File, referring to the versioned filename of the
  26469. # archive as well as the shared archive member, telling the
  26470. # bitwidth (32 or 64) of that shared object, and providing the
  26471. # list of exported symbols of that shared object, eventually
  26472. # decorated with the 'weak' keyword
  26473. # *) the shared object with the F_LOADONLY flag set, to really avoid
  26474. # it being seen by the linker.
  26475. # At run time we better use the real file rather than another symlink,
  26476. # but for link time we create the symlink libNAME.so -> libNAME.so.V
  26477. case $with_aix_soname,$aix_use_runtimelinking in
  26478. # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
  26479. # soname into executable. Probably we can add versioning support to
  26480. # collect2, so additional links can be useful in future.
  26481. aix,yes) # traditional libtool
  26482. dynamic_linker='AIX unversionable lib.so'
  26483. # If using run time linking (on AIX 4.2 or later) use lib<name>.so
  26484. # instead of lib<name>.a to let people know that these are not
  26485. # typical AIX shared libraries.
  26486. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26487. ;;
  26488. aix,no) # traditional AIX only
  26489. dynamic_linker='AIX lib.a(lib.so.V)'
  26490. # We preserve .a as extension for shared libraries through AIX4.2
  26491. # and later when we are not doing run time linking.
  26492. library_names_spec='$libname$release.a $libname.a'
  26493. soname_spec='$libname$release$shared_ext$major'
  26494. ;;
  26495. svr4,*) # full svr4 only
  26496. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
  26497. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  26498. # We do not specify a path in Import Files, so LIBPATH fires.
  26499. shlibpath_overrides_runpath=yes
  26500. ;;
  26501. *,yes) # both, prefer svr4
  26502. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
  26503. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  26504. # unpreferred sharedlib libNAME.a needs extra handling
  26505. postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
  26506. postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
  26507. # We do not specify a path in Import Files, so LIBPATH fires.
  26508. shlibpath_overrides_runpath=yes
  26509. ;;
  26510. *,no) # both, prefer aix
  26511. dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
  26512. library_names_spec='$libname$release.a $libname.a'
  26513. soname_spec='$libname$release$shared_ext$major'
  26514. # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
  26515. postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
  26516. postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
  26517. ;;
  26518. esac
  26519. shlibpath_var=LIBPATH
  26520. fi
  26521. ;;
  26522. amigaos*)
  26523. case $host_cpu in
  26524. powerpc)
  26525. # Since July 2007 AmigaOS4 officially supports .so libraries.
  26526. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
  26527. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26528. ;;
  26529. m68k)
  26530. library_names_spec='$libname.ixlibrary $libname.a'
  26531. # Create ${libname}_ixlibrary.a entries in /sys/libs.
  26532. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
  26533. ;;
  26534. esac
  26535. ;;
  26536. beos*)
  26537. library_names_spec='$libname$shared_ext'
  26538. dynamic_linker="$host_os ld.so"
  26539. shlibpath_var=LIBRARY_PATH
  26540. ;;
  26541. bsdi[45]*)
  26542. version_type=linux # correct to gnu/linux during the next big refactor
  26543. need_version=no
  26544. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26545. soname_spec='$libname$release$shared_ext$major'
  26546. finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
  26547. shlibpath_var=LD_LIBRARY_PATH
  26548. sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
  26549. sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
  26550. # the default ld.so.conf also contains /usr/contrib/lib and
  26551. # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
  26552. # libtool to hard-code these into programs
  26553. ;;
  26554. cygwin* | mingw* | pw32* | cegcc*)
  26555. version_type=windows
  26556. shrext_cmds=.dll
  26557. need_version=no
  26558. need_lib_prefix=no
  26559. case $GCC,$cc_basename in
  26560. yes,*)
  26561. # gcc
  26562. library_names_spec='$libname.dll.a'
  26563. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  26564. postinstall_cmds='base_file=`basename \$file`~
  26565. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  26566. dldir=$destdir/`dirname \$dlpath`~
  26567. test -d \$dldir || mkdir -p \$dldir~
  26568. $install_prog $dir/$dlname \$dldir/$dlname~
  26569. chmod a+x \$dldir/$dlname~
  26570. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  26571. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  26572. fi'
  26573. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  26574. dlpath=$dir/\$dldll~
  26575. $RM \$dlpath'
  26576. shlibpath_overrides_runpath=yes
  26577. case $host_os in
  26578. cygwin*)
  26579. # Cygwin DLLs use 'cyg' prefix rather than 'lib'
  26580. soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  26581. sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
  26582. ;;
  26583. mingw* | cegcc*)
  26584. # MinGW DLLs use traditional 'lib' prefix
  26585. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  26586. ;;
  26587. pw32*)
  26588. # pw32 DLLs use 'pw' prefix rather than 'lib'
  26589. library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  26590. ;;
  26591. esac
  26592. dynamic_linker='Win32 ld.exe'
  26593. ;;
  26594. *,cl*)
  26595. # Native MSVC
  26596. libname_spec='$name'
  26597. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  26598. library_names_spec='$libname.dll.lib'
  26599. case $build_os in
  26600. mingw*)
  26601. sys_lib_search_path_spec=
  26602. lt_save_ifs=$IFS
  26603. IFS=';'
  26604. for lt_path in $LIB
  26605. do
  26606. IFS=$lt_save_ifs
  26607. # Let DOS variable expansion print the short 8.3 style file name.
  26608. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
  26609. sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
  26610. done
  26611. IFS=$lt_save_ifs
  26612. # Convert to MSYS style.
  26613. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
  26614. ;;
  26615. cygwin*)
  26616. # Convert to unix form, then to dos form, then back to unix form
  26617. # but this time dos style (no spaces!) so that the unix form looks
  26618. # like /cygdrive/c/PROGRA~1:/cygdr...
  26619. sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
  26620. sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
  26621. sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  26622. ;;
  26623. *)
  26624. sys_lib_search_path_spec=$LIB
  26625. if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
  26626. # It is most probably a Windows format PATH.
  26627. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
  26628. else
  26629. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  26630. fi
  26631. # FIXME: find the short name or the path components, as spaces are
  26632. # common. (e.g. "Program Files" -> "PROGRA~1")
  26633. ;;
  26634. esac
  26635. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  26636. postinstall_cmds='base_file=`basename \$file`~
  26637. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  26638. dldir=$destdir/`dirname \$dlpath`~
  26639. test -d \$dldir || mkdir -p \$dldir~
  26640. $install_prog $dir/$dlname \$dldir/$dlname'
  26641. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  26642. dlpath=$dir/\$dldll~
  26643. $RM \$dlpath'
  26644. shlibpath_overrides_runpath=yes
  26645. dynamic_linker='Win32 link.exe'
  26646. ;;
  26647. *)
  26648. # Assume MSVC wrapper
  26649. library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
  26650. dynamic_linker='Win32 ld.exe'
  26651. ;;
  26652. esac
  26653. # FIXME: first we should search . and the directory the executable is in
  26654. shlibpath_var=PATH
  26655. ;;
  26656. darwin* | rhapsody*)
  26657. dynamic_linker="$host_os dyld"
  26658. version_type=darwin
  26659. need_lib_prefix=no
  26660. need_version=no
  26661. library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
  26662. soname_spec='$libname$release$major$shared_ext'
  26663. shlibpath_overrides_runpath=yes
  26664. shlibpath_var=DYLD_LIBRARY_PATH
  26665. shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
  26666. sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
  26667. sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
  26668. ;;
  26669. dgux*)
  26670. version_type=linux # correct to gnu/linux during the next big refactor
  26671. need_lib_prefix=no
  26672. need_version=no
  26673. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26674. soname_spec='$libname$release$shared_ext$major'
  26675. shlibpath_var=LD_LIBRARY_PATH
  26676. ;;
  26677. freebsd* | dragonfly*)
  26678. # DragonFly does not have aout. When/if they implement a new
  26679. # versioning mechanism, adjust this.
  26680. if test -x /usr/bin/objformat; then
  26681. objformat=`/usr/bin/objformat`
  26682. else
  26683. case $host_os in
  26684. freebsd[23].*) objformat=aout ;;
  26685. *) objformat=elf ;;
  26686. esac
  26687. fi
  26688. version_type=freebsd-$objformat
  26689. case $version_type in
  26690. freebsd-elf*)
  26691. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26692. soname_spec='$libname$release$shared_ext$major'
  26693. need_version=no
  26694. need_lib_prefix=no
  26695. ;;
  26696. freebsd-*)
  26697. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  26698. need_version=yes
  26699. ;;
  26700. esac
  26701. shlibpath_var=LD_LIBRARY_PATH
  26702. case $host_os in
  26703. freebsd2.*)
  26704. shlibpath_overrides_runpath=yes
  26705. ;;
  26706. freebsd3.[01]* | freebsdelf3.[01]*)
  26707. shlibpath_overrides_runpath=yes
  26708. hardcode_into_libs=yes
  26709. ;;
  26710. freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
  26711. freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
  26712. shlibpath_overrides_runpath=no
  26713. hardcode_into_libs=yes
  26714. ;;
  26715. *) # from 4.6 on, and DragonFly
  26716. shlibpath_overrides_runpath=yes
  26717. hardcode_into_libs=yes
  26718. ;;
  26719. esac
  26720. ;;
  26721. haiku*)
  26722. version_type=linux # correct to gnu/linux during the next big refactor
  26723. need_lib_prefix=no
  26724. need_version=no
  26725. dynamic_linker="$host_os runtime_loader"
  26726. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26727. soname_spec='$libname$release$shared_ext$major'
  26728. shlibpath_var=LIBRARY_PATH
  26729. shlibpath_overrides_runpath=no
  26730. sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
  26731. hardcode_into_libs=yes
  26732. ;;
  26733. hpux9* | hpux10* | hpux11*)
  26734. # Give a soname corresponding to the major version so that dld.sl refuses to
  26735. # link against other versions.
  26736. version_type=sunos
  26737. need_lib_prefix=no
  26738. need_version=no
  26739. case $host_cpu in
  26740. ia64*)
  26741. shrext_cmds='.so'
  26742. hardcode_into_libs=yes
  26743. dynamic_linker="$host_os dld.so"
  26744. shlibpath_var=LD_LIBRARY_PATH
  26745. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  26746. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26747. soname_spec='$libname$release$shared_ext$major'
  26748. if test 32 = "$HPUX_IA64_MODE"; then
  26749. sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
  26750. sys_lib_dlsearch_path_spec=/usr/lib/hpux32
  26751. else
  26752. sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
  26753. sys_lib_dlsearch_path_spec=/usr/lib/hpux64
  26754. fi
  26755. ;;
  26756. hppa*64*)
  26757. shrext_cmds='.sl'
  26758. hardcode_into_libs=yes
  26759. dynamic_linker="$host_os dld.sl"
  26760. shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
  26761. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  26762. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26763. soname_spec='$libname$release$shared_ext$major'
  26764. sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
  26765. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  26766. ;;
  26767. *)
  26768. shrext_cmds='.sl'
  26769. dynamic_linker="$host_os dld.sl"
  26770. shlibpath_var=SHLIB_PATH
  26771. shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
  26772. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26773. soname_spec='$libname$release$shared_ext$major'
  26774. ;;
  26775. esac
  26776. # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
  26777. postinstall_cmds='chmod 555 $lib'
  26778. # or fails outright, so override atomically:
  26779. install_override_mode=555
  26780. ;;
  26781. interix[3-9]*)
  26782. version_type=linux # correct to gnu/linux during the next big refactor
  26783. need_lib_prefix=no
  26784. need_version=no
  26785. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26786. soname_spec='$libname$release$shared_ext$major'
  26787. dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
  26788. shlibpath_var=LD_LIBRARY_PATH
  26789. shlibpath_overrides_runpath=no
  26790. hardcode_into_libs=yes
  26791. ;;
  26792. irix5* | irix6* | nonstopux*)
  26793. case $host_os in
  26794. nonstopux*) version_type=nonstopux ;;
  26795. *)
  26796. if test yes = "$lt_cv_prog_gnu_ld"; then
  26797. version_type=linux # correct to gnu/linux during the next big refactor
  26798. else
  26799. version_type=irix
  26800. fi ;;
  26801. esac
  26802. need_lib_prefix=no
  26803. need_version=no
  26804. soname_spec='$libname$release$shared_ext$major'
  26805. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
  26806. case $host_os in
  26807. irix5* | nonstopux*)
  26808. libsuff= shlibsuff=
  26809. ;;
  26810. *)
  26811. case $LD in # libtool.m4 will add one of these switches to LD
  26812. *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
  26813. libsuff= shlibsuff= libmagic=32-bit;;
  26814. *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
  26815. libsuff=32 shlibsuff=N32 libmagic=N32;;
  26816. *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
  26817. libsuff=64 shlibsuff=64 libmagic=64-bit;;
  26818. *) libsuff= shlibsuff= libmagic=never-match;;
  26819. esac
  26820. ;;
  26821. esac
  26822. shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
  26823. shlibpath_overrides_runpath=no
  26824. sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
  26825. sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
  26826. hardcode_into_libs=yes
  26827. ;;
  26828. # No shared lib support for Linux oldld, aout, or coff.
  26829. linux*oldld* | linux*aout* | linux*coff*)
  26830. dynamic_linker=no
  26831. ;;
  26832. linux*android*)
  26833. version_type=none # Android doesn't support versioned libraries.
  26834. need_lib_prefix=no
  26835. need_version=no
  26836. library_names_spec='$libname$release$shared_ext'
  26837. soname_spec='$libname$release$shared_ext'
  26838. finish_cmds=
  26839. shlibpath_var=LD_LIBRARY_PATH
  26840. shlibpath_overrides_runpath=yes
  26841. # This implies no fast_install, which is unacceptable.
  26842. # Some rework will be needed to allow for fast_install
  26843. # before this can be enabled.
  26844. hardcode_into_libs=yes
  26845. dynamic_linker='Android linker'
  26846. # Don't embed -rpath directories since the linker doesn't support them.
  26847. hardcode_libdir_flag_spec='-L$libdir'
  26848. ;;
  26849. # This must be glibc/ELF.
  26850. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  26851. version_type=linux # correct to gnu/linux during the next big refactor
  26852. need_lib_prefix=no
  26853. need_version=no
  26854. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26855. soname_spec='$libname$release$shared_ext$major'
  26856. finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
  26857. shlibpath_var=LD_LIBRARY_PATH
  26858. shlibpath_overrides_runpath=no
  26859. # Some binutils ld are patched to set DT_RUNPATH
  26860. if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
  26861. $as_echo_n "(cached) " >&6
  26862. else
  26863. lt_cv_shlibpath_overrides_runpath=no
  26864. save_LDFLAGS=$LDFLAGS
  26865. save_libdir=$libdir
  26866. eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
  26867. LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
  26868. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  26869. /* end confdefs.h. */
  26870. int
  26871. main ()
  26872. {
  26873. ;
  26874. return 0;
  26875. }
  26876. _ACEOF
  26877. if ac_fn_c_try_link "$LINENO"; then :
  26878. if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
  26879. lt_cv_shlibpath_overrides_runpath=yes
  26880. fi
  26881. fi
  26882. rm -f core conftest.err conftest.$ac_objext \
  26883. conftest$ac_exeext conftest.$ac_ext
  26884. LDFLAGS=$save_LDFLAGS
  26885. libdir=$save_libdir
  26886. fi
  26887. shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
  26888. # This implies no fast_install, which is unacceptable.
  26889. # Some rework will be needed to allow for fast_install
  26890. # before this can be enabled.
  26891. hardcode_into_libs=yes
  26892. # Ideally, we could use ldconfig to report *all* directores which are
  26893. # searched for libraries, however this is still not possible. Aside from not
  26894. # being certain /sbin/ldconfig is available, command
  26895. # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
  26896. # even though it is searched at run-time. Try to do the best guess by
  26897. # appending ld.so.conf contents (and includes) to the search path.
  26898. if test -f /etc/ld.so.conf; then
  26899. lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
  26900. sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
  26901. fi
  26902. # We used to test for /lib/ld.so.1 and disable shared libraries on
  26903. # powerpc, because MkLinux only supported shared libraries with the
  26904. # GNU dynamic linker. Since this was broken with cross compilers,
  26905. # most powerpc-linux boxes support dynamic linking these days and
  26906. # people can always --disable-shared, the test was removed, and we
  26907. # assume the GNU/Linux dynamic linker is in use.
  26908. dynamic_linker='GNU/Linux ld.so'
  26909. ;;
  26910. netbsd*)
  26911. version_type=sunos
  26912. need_lib_prefix=no
  26913. need_version=no
  26914. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  26915. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  26916. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  26917. dynamic_linker='NetBSD (a.out) ld.so'
  26918. else
  26919. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26920. soname_spec='$libname$release$shared_ext$major'
  26921. dynamic_linker='NetBSD ld.elf_so'
  26922. fi
  26923. shlibpath_var=LD_LIBRARY_PATH
  26924. shlibpath_overrides_runpath=yes
  26925. hardcode_into_libs=yes
  26926. ;;
  26927. newsos6)
  26928. version_type=linux # correct to gnu/linux during the next big refactor
  26929. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26930. shlibpath_var=LD_LIBRARY_PATH
  26931. shlibpath_overrides_runpath=yes
  26932. ;;
  26933. *nto* | *qnx*)
  26934. version_type=qnx
  26935. need_lib_prefix=no
  26936. need_version=no
  26937. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26938. soname_spec='$libname$release$shared_ext$major'
  26939. shlibpath_var=LD_LIBRARY_PATH
  26940. shlibpath_overrides_runpath=no
  26941. hardcode_into_libs=yes
  26942. dynamic_linker='ldqnx.so'
  26943. ;;
  26944. openbsd* | bitrig*)
  26945. version_type=sunos
  26946. sys_lib_dlsearch_path_spec=/usr/lib
  26947. need_lib_prefix=no
  26948. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  26949. need_version=no
  26950. else
  26951. need_version=yes
  26952. fi
  26953. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  26954. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  26955. shlibpath_var=LD_LIBRARY_PATH
  26956. shlibpath_overrides_runpath=yes
  26957. ;;
  26958. os2*)
  26959. libname_spec='$name'
  26960. version_type=windows
  26961. shrext_cmds=.dll
  26962. need_version=no
  26963. need_lib_prefix=no
  26964. # OS/2 can only load a DLL with a base name of 8 characters or less.
  26965. soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
  26966. v=$($ECHO $release$versuffix | tr -d .-);
  26967. n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
  26968. $ECHO $n$v`$shared_ext'
  26969. library_names_spec='${libname}_dll.$libext'
  26970. dynamic_linker='OS/2 ld.exe'
  26971. shlibpath_var=BEGINLIBPATH
  26972. sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
  26973. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  26974. postinstall_cmds='base_file=`basename \$file`~
  26975. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
  26976. dldir=$destdir/`dirname \$dlpath`~
  26977. test -d \$dldir || mkdir -p \$dldir~
  26978. $install_prog $dir/$dlname \$dldir/$dlname~
  26979. chmod a+x \$dldir/$dlname~
  26980. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  26981. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  26982. fi'
  26983. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
  26984. dlpath=$dir/\$dldll~
  26985. $RM \$dlpath'
  26986. ;;
  26987. osf3* | osf4* | osf5*)
  26988. version_type=osf
  26989. need_lib_prefix=no
  26990. need_version=no
  26991. soname_spec='$libname$release$shared_ext$major'
  26992. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  26993. shlibpath_var=LD_LIBRARY_PATH
  26994. sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
  26995. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  26996. ;;
  26997. rdos*)
  26998. dynamic_linker=no
  26999. ;;
  27000. solaris*)
  27001. version_type=linux # correct to gnu/linux during the next big refactor
  27002. need_lib_prefix=no
  27003. need_version=no
  27004. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  27005. soname_spec='$libname$release$shared_ext$major'
  27006. shlibpath_var=LD_LIBRARY_PATH
  27007. shlibpath_overrides_runpath=yes
  27008. hardcode_into_libs=yes
  27009. # ldd complains unless libraries are executable
  27010. postinstall_cmds='chmod +x $lib'
  27011. ;;
  27012. sunos4*)
  27013. version_type=sunos
  27014. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  27015. finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
  27016. shlibpath_var=LD_LIBRARY_PATH
  27017. shlibpath_overrides_runpath=yes
  27018. if test yes = "$with_gnu_ld"; then
  27019. need_lib_prefix=no
  27020. fi
  27021. need_version=yes
  27022. ;;
  27023. sysv4 | sysv4.3*)
  27024. version_type=linux # correct to gnu/linux during the next big refactor
  27025. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  27026. soname_spec='$libname$release$shared_ext$major'
  27027. shlibpath_var=LD_LIBRARY_PATH
  27028. case $host_vendor in
  27029. sni)
  27030. shlibpath_overrides_runpath=no
  27031. need_lib_prefix=no
  27032. runpath_var=LD_RUN_PATH
  27033. ;;
  27034. siemens)
  27035. need_lib_prefix=no
  27036. ;;
  27037. motorola)
  27038. need_lib_prefix=no
  27039. need_version=no
  27040. shlibpath_overrides_runpath=no
  27041. sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
  27042. ;;
  27043. esac
  27044. ;;
  27045. sysv4*MP*)
  27046. if test -d /usr/nec; then
  27047. version_type=linux # correct to gnu/linux during the next big refactor
  27048. library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
  27049. soname_spec='$libname$shared_ext.$major'
  27050. shlibpath_var=LD_LIBRARY_PATH
  27051. fi
  27052. ;;
  27053. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  27054. version_type=sco
  27055. need_lib_prefix=no
  27056. need_version=no
  27057. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
  27058. soname_spec='$libname$release$shared_ext$major'
  27059. shlibpath_var=LD_LIBRARY_PATH
  27060. shlibpath_overrides_runpath=yes
  27061. hardcode_into_libs=yes
  27062. if test yes = "$with_gnu_ld"; then
  27063. sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
  27064. else
  27065. sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
  27066. case $host_os in
  27067. sco3.2v5*)
  27068. sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
  27069. ;;
  27070. esac
  27071. fi
  27072. sys_lib_dlsearch_path_spec='/usr/lib'
  27073. ;;
  27074. tpf*)
  27075. # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
  27076. version_type=linux # correct to gnu/linux during the next big refactor
  27077. need_lib_prefix=no
  27078. need_version=no
  27079. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  27080. shlibpath_var=LD_LIBRARY_PATH
  27081. shlibpath_overrides_runpath=no
  27082. hardcode_into_libs=yes
  27083. ;;
  27084. uts4*)
  27085. version_type=linux # correct to gnu/linux during the next big refactor
  27086. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  27087. soname_spec='$libname$release$shared_ext$major'
  27088. shlibpath_var=LD_LIBRARY_PATH
  27089. ;;
  27090. *)
  27091. dynamic_linker=no
  27092. ;;
  27093. esac
  27094. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
  27095. $as_echo "$dynamic_linker" >&6; }
  27096. test no = "$dynamic_linker" && can_build_shared=no
  27097. variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
  27098. if test yes = "$GCC"; then
  27099. variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
  27100. fi
  27101. if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
  27102. sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
  27103. fi
  27104. if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
  27105. sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
  27106. fi
  27107. # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
  27108. configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
  27109. # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
  27110. func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
  27111. # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
  27112. configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
  27113. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
  27114. $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
  27115. hardcode_action=
  27116. if test -n "$hardcode_libdir_flag_spec" ||
  27117. test -n "$runpath_var" ||
  27118. test yes = "$hardcode_automatic"; then
  27119. # We can hardcode non-existent directories.
  27120. if test no != "$hardcode_direct" &&
  27121. # If the only mechanism to avoid hardcoding is shlibpath_var, we
  27122. # have to relink, otherwise we might link with an installed library
  27123. # when we should be linking with a yet-to-be-installed one
  27124. ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
  27125. test no != "$hardcode_minus_L"; then
  27126. # Linking always hardcodes the temporary library directory.
  27127. hardcode_action=relink
  27128. else
  27129. # We can link without hardcoding, and we can hardcode nonexisting dirs.
  27130. hardcode_action=immediate
  27131. fi
  27132. else
  27133. # We cannot hardcode anything, or else we can only hardcode existing
  27134. # directories.
  27135. hardcode_action=unsupported
  27136. fi
  27137. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
  27138. $as_echo "$hardcode_action" >&6; }
  27139. if test relink = "$hardcode_action" ||
  27140. test yes = "$inherit_rpath"; then
  27141. # Fast installation is not supported
  27142. enable_fast_install=no
  27143. elif test yes = "$shlibpath_overrides_runpath" ||
  27144. test no = "$enable_shared"; then
  27145. # Fast installation is not necessary
  27146. enable_fast_install=needless
  27147. fi
  27148. if test yes != "$enable_dlopen"; then
  27149. enable_dlopen=unknown
  27150. enable_dlopen_self=unknown
  27151. enable_dlopen_self_static=unknown
  27152. else
  27153. lt_cv_dlopen=no
  27154. lt_cv_dlopen_libs=
  27155. case $host_os in
  27156. beos*)
  27157. lt_cv_dlopen=load_add_on
  27158. lt_cv_dlopen_libs=
  27159. lt_cv_dlopen_self=yes
  27160. ;;
  27161. mingw* | pw32* | cegcc*)
  27162. lt_cv_dlopen=LoadLibrary
  27163. lt_cv_dlopen_libs=
  27164. ;;
  27165. cygwin*)
  27166. lt_cv_dlopen=dlopen
  27167. lt_cv_dlopen_libs=
  27168. ;;
  27169. darwin*)
  27170. # if libdl is installed we need to link against it
  27171. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
  27172. $as_echo_n "checking for dlopen in -ldl... " >&6; }
  27173. if ${ac_cv_lib_dl_dlopen+:} false; then :
  27174. $as_echo_n "(cached) " >&6
  27175. else
  27176. ac_check_lib_save_LIBS=$LIBS
  27177. LIBS="-ldl $LIBS"
  27178. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27179. /* end confdefs.h. */
  27180. /* Override any GCC internal prototype to avoid an error.
  27181. Use char because int might match the return type of a GCC
  27182. builtin and then its argument prototype would still apply. */
  27183. #ifdef __cplusplus
  27184. extern "C"
  27185. #endif
  27186. char dlopen ();
  27187. int
  27188. main ()
  27189. {
  27190. return dlopen ();
  27191. ;
  27192. return 0;
  27193. }
  27194. _ACEOF
  27195. if ac_fn_c_try_link "$LINENO"; then :
  27196. ac_cv_lib_dl_dlopen=yes
  27197. else
  27198. ac_cv_lib_dl_dlopen=no
  27199. fi
  27200. rm -f core conftest.err conftest.$ac_objext \
  27201. conftest$ac_exeext conftest.$ac_ext
  27202. LIBS=$ac_check_lib_save_LIBS
  27203. fi
  27204. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
  27205. $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
  27206. if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
  27207. lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
  27208. else
  27209. lt_cv_dlopen=dyld
  27210. lt_cv_dlopen_libs=
  27211. lt_cv_dlopen_self=yes
  27212. fi
  27213. ;;
  27214. tpf*)
  27215. # Don't try to run any link tests for TPF. We know it's impossible
  27216. # because TPF is a cross-compiler, and we know how we open DSOs.
  27217. lt_cv_dlopen=dlopen
  27218. lt_cv_dlopen_libs=
  27219. lt_cv_dlopen_self=no
  27220. ;;
  27221. *)
  27222. ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
  27223. if test "x$ac_cv_func_shl_load" = xyes; then :
  27224. lt_cv_dlopen=shl_load
  27225. else
  27226. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
  27227. $as_echo_n "checking for shl_load in -ldld... " >&6; }
  27228. if ${ac_cv_lib_dld_shl_load+:} false; then :
  27229. $as_echo_n "(cached) " >&6
  27230. else
  27231. ac_check_lib_save_LIBS=$LIBS
  27232. LIBS="-ldld $LIBS"
  27233. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27234. /* end confdefs.h. */
  27235. /* Override any GCC internal prototype to avoid an error.
  27236. Use char because int might match the return type of a GCC
  27237. builtin and then its argument prototype would still apply. */
  27238. #ifdef __cplusplus
  27239. extern "C"
  27240. #endif
  27241. char shl_load ();
  27242. int
  27243. main ()
  27244. {
  27245. return shl_load ();
  27246. ;
  27247. return 0;
  27248. }
  27249. _ACEOF
  27250. if ac_fn_c_try_link "$LINENO"; then :
  27251. ac_cv_lib_dld_shl_load=yes
  27252. else
  27253. ac_cv_lib_dld_shl_load=no
  27254. fi
  27255. rm -f core conftest.err conftest.$ac_objext \
  27256. conftest$ac_exeext conftest.$ac_ext
  27257. LIBS=$ac_check_lib_save_LIBS
  27258. fi
  27259. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
  27260. $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
  27261. if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
  27262. lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
  27263. else
  27264. ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
  27265. if test "x$ac_cv_func_dlopen" = xyes; then :
  27266. lt_cv_dlopen=dlopen
  27267. else
  27268. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
  27269. $as_echo_n "checking for dlopen in -ldl... " >&6; }
  27270. if ${ac_cv_lib_dl_dlopen+:} false; then :
  27271. $as_echo_n "(cached) " >&6
  27272. else
  27273. ac_check_lib_save_LIBS=$LIBS
  27274. LIBS="-ldl $LIBS"
  27275. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27276. /* end confdefs.h. */
  27277. /* Override any GCC internal prototype to avoid an error.
  27278. Use char because int might match the return type of a GCC
  27279. builtin and then its argument prototype would still apply. */
  27280. #ifdef __cplusplus
  27281. extern "C"
  27282. #endif
  27283. char dlopen ();
  27284. int
  27285. main ()
  27286. {
  27287. return dlopen ();
  27288. ;
  27289. return 0;
  27290. }
  27291. _ACEOF
  27292. if ac_fn_c_try_link "$LINENO"; then :
  27293. ac_cv_lib_dl_dlopen=yes
  27294. else
  27295. ac_cv_lib_dl_dlopen=no
  27296. fi
  27297. rm -f core conftest.err conftest.$ac_objext \
  27298. conftest$ac_exeext conftest.$ac_ext
  27299. LIBS=$ac_check_lib_save_LIBS
  27300. fi
  27301. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
  27302. $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
  27303. if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
  27304. lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
  27305. else
  27306. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
  27307. $as_echo_n "checking for dlopen in -lsvld... " >&6; }
  27308. if ${ac_cv_lib_svld_dlopen+:} false; then :
  27309. $as_echo_n "(cached) " >&6
  27310. else
  27311. ac_check_lib_save_LIBS=$LIBS
  27312. LIBS="-lsvld $LIBS"
  27313. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27314. /* end confdefs.h. */
  27315. /* Override any GCC internal prototype to avoid an error.
  27316. Use char because int might match the return type of a GCC
  27317. builtin and then its argument prototype would still apply. */
  27318. #ifdef __cplusplus
  27319. extern "C"
  27320. #endif
  27321. char dlopen ();
  27322. int
  27323. main ()
  27324. {
  27325. return dlopen ();
  27326. ;
  27327. return 0;
  27328. }
  27329. _ACEOF
  27330. if ac_fn_c_try_link "$LINENO"; then :
  27331. ac_cv_lib_svld_dlopen=yes
  27332. else
  27333. ac_cv_lib_svld_dlopen=no
  27334. fi
  27335. rm -f core conftest.err conftest.$ac_objext \
  27336. conftest$ac_exeext conftest.$ac_ext
  27337. LIBS=$ac_check_lib_save_LIBS
  27338. fi
  27339. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
  27340. $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
  27341. if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
  27342. lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
  27343. else
  27344. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
  27345. $as_echo_n "checking for dld_link in -ldld... " >&6; }
  27346. if ${ac_cv_lib_dld_dld_link+:} false; then :
  27347. $as_echo_n "(cached) " >&6
  27348. else
  27349. ac_check_lib_save_LIBS=$LIBS
  27350. LIBS="-ldld $LIBS"
  27351. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27352. /* end confdefs.h. */
  27353. /* Override any GCC internal prototype to avoid an error.
  27354. Use char because int might match the return type of a GCC
  27355. builtin and then its argument prototype would still apply. */
  27356. #ifdef __cplusplus
  27357. extern "C"
  27358. #endif
  27359. char dld_link ();
  27360. int
  27361. main ()
  27362. {
  27363. return dld_link ();
  27364. ;
  27365. return 0;
  27366. }
  27367. _ACEOF
  27368. if ac_fn_c_try_link "$LINENO"; then :
  27369. ac_cv_lib_dld_dld_link=yes
  27370. else
  27371. ac_cv_lib_dld_dld_link=no
  27372. fi
  27373. rm -f core conftest.err conftest.$ac_objext \
  27374. conftest$ac_exeext conftest.$ac_ext
  27375. LIBS=$ac_check_lib_save_LIBS
  27376. fi
  27377. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
  27378. $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
  27379. if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
  27380. lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
  27381. fi
  27382. fi
  27383. fi
  27384. fi
  27385. fi
  27386. fi
  27387. ;;
  27388. esac
  27389. if test no = "$lt_cv_dlopen"; then
  27390. enable_dlopen=no
  27391. else
  27392. enable_dlopen=yes
  27393. fi
  27394. case $lt_cv_dlopen in
  27395. dlopen)
  27396. save_CPPFLAGS=$CPPFLAGS
  27397. test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
  27398. save_LDFLAGS=$LDFLAGS
  27399. wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
  27400. save_LIBS=$LIBS
  27401. LIBS="$lt_cv_dlopen_libs $LIBS"
  27402. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
  27403. $as_echo_n "checking whether a program can dlopen itself... " >&6; }
  27404. if ${lt_cv_dlopen_self+:} false; then :
  27405. $as_echo_n "(cached) " >&6
  27406. else
  27407. if test yes = "$cross_compiling"; then :
  27408. lt_cv_dlopen_self=cross
  27409. else
  27410. lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
  27411. lt_status=$lt_dlunknown
  27412. cat > conftest.$ac_ext <<_LT_EOF
  27413. #line $LINENO "configure"
  27414. #include "confdefs.h"
  27415. #if HAVE_DLFCN_H
  27416. #include <dlfcn.h>
  27417. #endif
  27418. #include <stdio.h>
  27419. #ifdef RTLD_GLOBAL
  27420. # define LT_DLGLOBAL RTLD_GLOBAL
  27421. #else
  27422. # ifdef DL_GLOBAL
  27423. # define LT_DLGLOBAL DL_GLOBAL
  27424. # else
  27425. # define LT_DLGLOBAL 0
  27426. # endif
  27427. #endif
  27428. /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
  27429. find out it does not work in some platform. */
  27430. #ifndef LT_DLLAZY_OR_NOW
  27431. # ifdef RTLD_LAZY
  27432. # define LT_DLLAZY_OR_NOW RTLD_LAZY
  27433. # else
  27434. # ifdef DL_LAZY
  27435. # define LT_DLLAZY_OR_NOW DL_LAZY
  27436. # else
  27437. # ifdef RTLD_NOW
  27438. # define LT_DLLAZY_OR_NOW RTLD_NOW
  27439. # else
  27440. # ifdef DL_NOW
  27441. # define LT_DLLAZY_OR_NOW DL_NOW
  27442. # else
  27443. # define LT_DLLAZY_OR_NOW 0
  27444. # endif
  27445. # endif
  27446. # endif
  27447. # endif
  27448. #endif
  27449. /* When -fvisibility=hidden is used, assume the code has been annotated
  27450. correspondingly for the symbols needed. */
  27451. #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
  27452. int fnord () __attribute__((visibility("default")));
  27453. #endif
  27454. int fnord () { return 42; }
  27455. int main ()
  27456. {
  27457. void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
  27458. int status = $lt_dlunknown;
  27459. if (self)
  27460. {
  27461. if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
  27462. else
  27463. {
  27464. if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
  27465. else puts (dlerror ());
  27466. }
  27467. /* dlclose (self); */
  27468. }
  27469. else
  27470. puts (dlerror ());
  27471. return status;
  27472. }
  27473. _LT_EOF
  27474. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
  27475. (eval $ac_link) 2>&5
  27476. ac_status=$?
  27477. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  27478. test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
  27479. (./conftest; exit; ) >&5 2>/dev/null
  27480. lt_status=$?
  27481. case x$lt_status in
  27482. x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
  27483. x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
  27484. x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
  27485. esac
  27486. else :
  27487. # compilation failed
  27488. lt_cv_dlopen_self=no
  27489. fi
  27490. fi
  27491. rm -fr conftest*
  27492. fi
  27493. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
  27494. $as_echo "$lt_cv_dlopen_self" >&6; }
  27495. if test yes = "$lt_cv_dlopen_self"; then
  27496. wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
  27497. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
  27498. $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
  27499. if ${lt_cv_dlopen_self_static+:} false; then :
  27500. $as_echo_n "(cached) " >&6
  27501. else
  27502. if test yes = "$cross_compiling"; then :
  27503. lt_cv_dlopen_self_static=cross
  27504. else
  27505. lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
  27506. lt_status=$lt_dlunknown
  27507. cat > conftest.$ac_ext <<_LT_EOF
  27508. #line $LINENO "configure"
  27509. #include "confdefs.h"
  27510. #if HAVE_DLFCN_H
  27511. #include <dlfcn.h>
  27512. #endif
  27513. #include <stdio.h>
  27514. #ifdef RTLD_GLOBAL
  27515. # define LT_DLGLOBAL RTLD_GLOBAL
  27516. #else
  27517. # ifdef DL_GLOBAL
  27518. # define LT_DLGLOBAL DL_GLOBAL
  27519. # else
  27520. # define LT_DLGLOBAL 0
  27521. # endif
  27522. #endif
  27523. /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
  27524. find out it does not work in some platform. */
  27525. #ifndef LT_DLLAZY_OR_NOW
  27526. # ifdef RTLD_LAZY
  27527. # define LT_DLLAZY_OR_NOW RTLD_LAZY
  27528. # else
  27529. # ifdef DL_LAZY
  27530. # define LT_DLLAZY_OR_NOW DL_LAZY
  27531. # else
  27532. # ifdef RTLD_NOW
  27533. # define LT_DLLAZY_OR_NOW RTLD_NOW
  27534. # else
  27535. # ifdef DL_NOW
  27536. # define LT_DLLAZY_OR_NOW DL_NOW
  27537. # else
  27538. # define LT_DLLAZY_OR_NOW 0
  27539. # endif
  27540. # endif
  27541. # endif
  27542. # endif
  27543. #endif
  27544. /* When -fvisibility=hidden is used, assume the code has been annotated
  27545. correspondingly for the symbols needed. */
  27546. #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
  27547. int fnord () __attribute__((visibility("default")));
  27548. #endif
  27549. int fnord () { return 42; }
  27550. int main ()
  27551. {
  27552. void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
  27553. int status = $lt_dlunknown;
  27554. if (self)
  27555. {
  27556. if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
  27557. else
  27558. {
  27559. if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
  27560. else puts (dlerror ());
  27561. }
  27562. /* dlclose (self); */
  27563. }
  27564. else
  27565. puts (dlerror ());
  27566. return status;
  27567. }
  27568. _LT_EOF
  27569. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
  27570. (eval $ac_link) 2>&5
  27571. ac_status=$?
  27572. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  27573. test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
  27574. (./conftest; exit; ) >&5 2>/dev/null
  27575. lt_status=$?
  27576. case x$lt_status in
  27577. x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
  27578. x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
  27579. x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
  27580. esac
  27581. else :
  27582. # compilation failed
  27583. lt_cv_dlopen_self_static=no
  27584. fi
  27585. fi
  27586. rm -fr conftest*
  27587. fi
  27588. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
  27589. $as_echo "$lt_cv_dlopen_self_static" >&6; }
  27590. fi
  27591. CPPFLAGS=$save_CPPFLAGS
  27592. LDFLAGS=$save_LDFLAGS
  27593. LIBS=$save_LIBS
  27594. ;;
  27595. esac
  27596. case $lt_cv_dlopen_self in
  27597. yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
  27598. *) enable_dlopen_self=unknown ;;
  27599. esac
  27600. case $lt_cv_dlopen_self_static in
  27601. yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
  27602. *) enable_dlopen_self_static=unknown ;;
  27603. esac
  27604. fi
  27605. striplib=
  27606. old_striplib=
  27607. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
  27608. $as_echo_n "checking whether stripping libraries is possible... " >&6; }
  27609. if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
  27610. test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
  27611. test -z "$striplib" && striplib="$STRIP --strip-unneeded"
  27612. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  27613. $as_echo "yes" >&6; }
  27614. else
  27615. # FIXME - insert some real tests, host_os isn't really good enough
  27616. case $host_os in
  27617. darwin*)
  27618. if test -n "$STRIP"; then
  27619. striplib="$STRIP -x"
  27620. old_striplib="$STRIP -S"
  27621. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  27622. $as_echo "yes" >&6; }
  27623. else
  27624. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  27625. $as_echo "no" >&6; }
  27626. fi
  27627. ;;
  27628. *)
  27629. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  27630. $as_echo "no" >&6; }
  27631. ;;
  27632. esac
  27633. fi
  27634. # Report what library types will actually be built
  27635. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
  27636. $as_echo_n "checking if libtool supports shared libraries... " >&6; }
  27637. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
  27638. $as_echo "$can_build_shared" >&6; }
  27639. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
  27640. $as_echo_n "checking whether to build shared libraries... " >&6; }
  27641. test no = "$can_build_shared" && enable_shared=no
  27642. # On AIX, shared libraries and static libraries use the same namespace, and
  27643. # are all built from PIC.
  27644. case $host_os in
  27645. aix3*)
  27646. test yes = "$enable_shared" && enable_static=no
  27647. if test -n "$RANLIB"; then
  27648. archive_cmds="$archive_cmds~\$RANLIB \$lib"
  27649. postinstall_cmds='$RANLIB $lib'
  27650. fi
  27651. ;;
  27652. aix[4-9]*)
  27653. if test ia64 != "$host_cpu"; then
  27654. case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
  27655. yes,aix,yes) ;; # shared object as lib.so file only
  27656. yes,svr4,*) ;; # shared object as lib.so archive member only
  27657. yes,*) enable_static=no ;; # shared object in lib.a archive as well
  27658. esac
  27659. fi
  27660. ;;
  27661. esac
  27662. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
  27663. $as_echo "$enable_shared" >&6; }
  27664. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
  27665. $as_echo_n "checking whether to build static libraries... " >&6; }
  27666. # Make sure either enable_shared or enable_static is yes.
  27667. test yes = "$enable_shared" || enable_static=yes
  27668. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
  27669. $as_echo "$enable_static" >&6; }
  27670. fi
  27671. ac_ext=cpp
  27672. ac_cpp='$CXXCPP $CPPFLAGS'
  27673. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  27674. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  27675. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  27676. CC=$lt_save_CC
  27677. if test -n "$CXX" && ( test no != "$CXX" &&
  27678. ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
  27679. (test g++ != "$CXX"))); then
  27680. ac_ext=cpp
  27681. ac_cpp='$CXXCPP $CPPFLAGS'
  27682. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  27683. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  27684. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  27685. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
  27686. $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
  27687. if test -z "$CXXCPP"; then
  27688. if ${ac_cv_prog_CXXCPP+:} false; then :
  27689. $as_echo_n "(cached) " >&6
  27690. else
  27691. # Double quotes because CXXCPP needs to be expanded
  27692. for CXXCPP in "$CXX -E" "/lib/cpp"
  27693. do
  27694. ac_preproc_ok=false
  27695. for ac_cxx_preproc_warn_flag in '' yes
  27696. do
  27697. # Use a header file that comes with gcc, so configuring glibc
  27698. # with a fresh cross-compiler works.
  27699. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  27700. # <limits.h> exists even on freestanding compilers.
  27701. # On the NeXT, cc -E runs the code through the compiler's parser,
  27702. # not just through cpp. "Syntax error" is here to catch this case.
  27703. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27704. /* end confdefs.h. */
  27705. #ifdef __STDC__
  27706. # include <limits.h>
  27707. #else
  27708. # include <assert.h>
  27709. #endif
  27710. Syntax error
  27711. _ACEOF
  27712. if ac_fn_cxx_try_cpp "$LINENO"; then :
  27713. else
  27714. # Broken: fails on valid input.
  27715. continue
  27716. fi
  27717. rm -f conftest.err conftest.i conftest.$ac_ext
  27718. # OK, works on sane cases. Now check whether nonexistent headers
  27719. # can be detected and how.
  27720. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27721. /* end confdefs.h. */
  27722. #include <ac_nonexistent.h>
  27723. _ACEOF
  27724. if ac_fn_cxx_try_cpp "$LINENO"; then :
  27725. # Broken: success on invalid input.
  27726. continue
  27727. else
  27728. # Passes both tests.
  27729. ac_preproc_ok=:
  27730. break
  27731. fi
  27732. rm -f conftest.err conftest.i conftest.$ac_ext
  27733. done
  27734. # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
  27735. rm -f conftest.i conftest.err conftest.$ac_ext
  27736. if $ac_preproc_ok; then :
  27737. break
  27738. fi
  27739. done
  27740. ac_cv_prog_CXXCPP=$CXXCPP
  27741. fi
  27742. CXXCPP=$ac_cv_prog_CXXCPP
  27743. else
  27744. ac_cv_prog_CXXCPP=$CXXCPP
  27745. fi
  27746. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
  27747. $as_echo "$CXXCPP" >&6; }
  27748. ac_preproc_ok=false
  27749. for ac_cxx_preproc_warn_flag in '' yes
  27750. do
  27751. # Use a header file that comes with gcc, so configuring glibc
  27752. # with a fresh cross-compiler works.
  27753. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  27754. # <limits.h> exists even on freestanding compilers.
  27755. # On the NeXT, cc -E runs the code through the compiler's parser,
  27756. # not just through cpp. "Syntax error" is here to catch this case.
  27757. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27758. /* end confdefs.h. */
  27759. #ifdef __STDC__
  27760. # include <limits.h>
  27761. #else
  27762. # include <assert.h>
  27763. #endif
  27764. Syntax error
  27765. _ACEOF
  27766. if ac_fn_cxx_try_cpp "$LINENO"; then :
  27767. else
  27768. # Broken: fails on valid input.
  27769. continue
  27770. fi
  27771. rm -f conftest.err conftest.i conftest.$ac_ext
  27772. # OK, works on sane cases. Now check whether nonexistent headers
  27773. # can be detected and how.
  27774. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  27775. /* end confdefs.h. */
  27776. #include <ac_nonexistent.h>
  27777. _ACEOF
  27778. if ac_fn_cxx_try_cpp "$LINENO"; then :
  27779. # Broken: success on invalid input.
  27780. continue
  27781. else
  27782. # Passes both tests.
  27783. ac_preproc_ok=:
  27784. break
  27785. fi
  27786. rm -f conftest.err conftest.i conftest.$ac_ext
  27787. done
  27788. # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
  27789. rm -f conftest.i conftest.err conftest.$ac_ext
  27790. if $ac_preproc_ok; then :
  27791. else
  27792. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  27793. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  27794. as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
  27795. See \`config.log' for more details" "$LINENO" 5; }
  27796. fi
  27797. ac_ext=cpp
  27798. ac_cpp='$CXXCPP $CPPFLAGS'
  27799. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  27800. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  27801. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  27802. else
  27803. _lt_caught_CXX_error=yes
  27804. fi
  27805. ac_ext=cpp
  27806. ac_cpp='$CXXCPP $CPPFLAGS'
  27807. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  27808. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  27809. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  27810. archive_cmds_need_lc_CXX=no
  27811. allow_undefined_flag_CXX=
  27812. always_export_symbols_CXX=no
  27813. archive_expsym_cmds_CXX=
  27814. compiler_needs_object_CXX=no
  27815. export_dynamic_flag_spec_CXX=
  27816. hardcode_direct_CXX=no
  27817. hardcode_direct_absolute_CXX=no
  27818. hardcode_libdir_flag_spec_CXX=
  27819. hardcode_libdir_separator_CXX=
  27820. hardcode_minus_L_CXX=no
  27821. hardcode_shlibpath_var_CXX=unsupported
  27822. hardcode_automatic_CXX=no
  27823. inherit_rpath_CXX=no
  27824. module_cmds_CXX=
  27825. module_expsym_cmds_CXX=
  27826. link_all_deplibs_CXX=unknown
  27827. old_archive_cmds_CXX=$old_archive_cmds
  27828. reload_flag_CXX=$reload_flag
  27829. reload_cmds_CXX=$reload_cmds
  27830. no_undefined_flag_CXX=
  27831. whole_archive_flag_spec_CXX=
  27832. enable_shared_with_static_runtimes_CXX=no
  27833. # Source file extension for C++ test sources.
  27834. ac_ext=cpp
  27835. # Object file extension for compiled C++ test sources.
  27836. objext=o
  27837. objext_CXX=$objext
  27838. # No sense in running all these tests if we already determined that
  27839. # the CXX compiler isn't working. Some variables (like enable_shared)
  27840. # are currently assumed to apply to all compilers on this platform,
  27841. # and will be corrupted by setting them based on a non-working compiler.
  27842. if test yes != "$_lt_caught_CXX_error"; then
  27843. # Code to be used in simple compile tests
  27844. lt_simple_compile_test_code="int some_variable = 0;"
  27845. # Code to be used in simple link tests
  27846. lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
  27847. # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  27848. # If no C compiler was specified, use CC.
  27849. LTCC=${LTCC-"$CC"}
  27850. # If no C compiler flags were specified, use CFLAGS.
  27851. LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
  27852. # Allow CC to be a program name with arguments.
  27853. compiler=$CC
  27854. # save warnings/boilerplate of simple test code
  27855. ac_outfile=conftest.$ac_objext
  27856. echo "$lt_simple_compile_test_code" >conftest.$ac_ext
  27857. eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  27858. _lt_compiler_boilerplate=`cat conftest.err`
  27859. $RM conftest*
  27860. ac_outfile=conftest.$ac_objext
  27861. echo "$lt_simple_link_test_code" >conftest.$ac_ext
  27862. eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  27863. _lt_linker_boilerplate=`cat conftest.err`
  27864. $RM -r conftest*
  27865. # Allow CC to be a program name with arguments.
  27866. lt_save_CC=$CC
  27867. lt_save_CFLAGS=$CFLAGS
  27868. lt_save_LD=$LD
  27869. lt_save_GCC=$GCC
  27870. GCC=$GXX
  27871. lt_save_with_gnu_ld=$with_gnu_ld
  27872. lt_save_path_LD=$lt_cv_path_LD
  27873. if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
  27874. lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
  27875. else
  27876. $as_unset lt_cv_prog_gnu_ld
  27877. fi
  27878. if test -n "${lt_cv_path_LDCXX+set}"; then
  27879. lt_cv_path_LD=$lt_cv_path_LDCXX
  27880. else
  27881. $as_unset lt_cv_path_LD
  27882. fi
  27883. test -z "${LDCXX+set}" || LD=$LDCXX
  27884. CC=${CXX-"c++"}
  27885. CFLAGS=$CXXFLAGS
  27886. compiler=$CC
  27887. compiler_CXX=$CC
  27888. func_cc_basename $compiler
  27889. cc_basename=$func_cc_basename_result
  27890. if test -n "$compiler"; then
  27891. # We don't want -fno-exception when compiling C++ code, so set the
  27892. # no_builtin_flag separately
  27893. if test yes = "$GXX"; then
  27894. lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
  27895. else
  27896. lt_prog_compiler_no_builtin_flag_CXX=
  27897. fi
  27898. if test yes = "$GXX"; then
  27899. # Set up default GNU C++ configuration
  27900. # Check whether --with-gnu-ld was given.
  27901. if test "${with_gnu_ld+set}" = set; then :
  27902. withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
  27903. else
  27904. with_gnu_ld=no
  27905. fi
  27906. ac_prog=ld
  27907. if test yes = "$GCC"; then
  27908. # Check if gcc -print-prog-name=ld gives a path.
  27909. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
  27910. $as_echo_n "checking for ld used by $CC... " >&6; }
  27911. case $host in
  27912. *-*-mingw*)
  27913. # gcc leaves a trailing carriage return, which upsets mingw
  27914. ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
  27915. *)
  27916. ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
  27917. esac
  27918. case $ac_prog in
  27919. # Accept absolute paths.
  27920. [\\/]* | ?:[\\/]*)
  27921. re_direlt='/[^/][^/]*/\.\./'
  27922. # Canonicalize the pathname of ld
  27923. ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
  27924. while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
  27925. ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
  27926. done
  27927. test -z "$LD" && LD=$ac_prog
  27928. ;;
  27929. "")
  27930. # If it fails, then pretend we aren't using GCC.
  27931. ac_prog=ld
  27932. ;;
  27933. *)
  27934. # If it is relative, then search for the first ld in PATH.
  27935. with_gnu_ld=unknown
  27936. ;;
  27937. esac
  27938. elif test yes = "$with_gnu_ld"; then
  27939. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
  27940. $as_echo_n "checking for GNU ld... " >&6; }
  27941. else
  27942. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
  27943. $as_echo_n "checking for non-GNU ld... " >&6; }
  27944. fi
  27945. if ${lt_cv_path_LD+:} false; then :
  27946. $as_echo_n "(cached) " >&6
  27947. else
  27948. if test -z "$LD"; then
  27949. lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
  27950. for ac_dir in $PATH; do
  27951. IFS=$lt_save_ifs
  27952. test -z "$ac_dir" && ac_dir=.
  27953. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
  27954. lt_cv_path_LD=$ac_dir/$ac_prog
  27955. # Check to see if the program is GNU ld. I'd rather use --version,
  27956. # but apparently some variants of GNU ld only accept -v.
  27957. # Break only if it was the GNU/non-GNU ld that we prefer.
  27958. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
  27959. *GNU* | *'with BFD'*)
  27960. test no != "$with_gnu_ld" && break
  27961. ;;
  27962. *)
  27963. test yes != "$with_gnu_ld" && break
  27964. ;;
  27965. esac
  27966. fi
  27967. done
  27968. IFS=$lt_save_ifs
  27969. else
  27970. lt_cv_path_LD=$LD # Let the user override the test with a path.
  27971. fi
  27972. fi
  27973. LD=$lt_cv_path_LD
  27974. if test -n "$LD"; then
  27975. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
  27976. $as_echo "$LD" >&6; }
  27977. else
  27978. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  27979. $as_echo "no" >&6; }
  27980. fi
  27981. test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
  27982. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
  27983. $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
  27984. if ${lt_cv_prog_gnu_ld+:} false; then :
  27985. $as_echo_n "(cached) " >&6
  27986. else
  27987. # I'd rather use --version here, but apparently some GNU lds only accept -v.
  27988. case `$LD -v 2>&1 </dev/null` in
  27989. *GNU* | *'with BFD'*)
  27990. lt_cv_prog_gnu_ld=yes
  27991. ;;
  27992. *)
  27993. lt_cv_prog_gnu_ld=no
  27994. ;;
  27995. esac
  27996. fi
  27997. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
  27998. $as_echo "$lt_cv_prog_gnu_ld" >&6; }
  27999. with_gnu_ld=$lt_cv_prog_gnu_ld
  28000. # Check if GNU C++ uses GNU ld as the underlying linker, since the
  28001. # archiving commands below assume that GNU ld is being used.
  28002. if test yes = "$with_gnu_ld"; then
  28003. archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
  28004. archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  28005. hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
  28006. export_dynamic_flag_spec_CXX='$wl--export-dynamic'
  28007. # If archive_cmds runs LD, not CC, wlarc should be empty
  28008. # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
  28009. # investigate it a little bit more. (MM)
  28010. wlarc='$wl'
  28011. # ancient GNU ld didn't support --whole-archive et. al.
  28012. if eval "`$CC -print-prog-name=ld` --help 2>&1" |
  28013. $GREP 'no-whole-archive' > /dev/null; then
  28014. whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
  28015. else
  28016. whole_archive_flag_spec_CXX=
  28017. fi
  28018. else
  28019. with_gnu_ld=no
  28020. wlarc=
  28021. # A generic and very simple default shared library creation
  28022. # command for GNU C++ for the case where it uses the native
  28023. # linker, instead of GNU ld. If possible, this setting should
  28024. # overridden to take advantage of the native linker features on
  28025. # the platform it is being used on.
  28026. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
  28027. fi
  28028. # Commands to make compiler produce verbose output that lists
  28029. # what "hidden" libraries, object files and flags are used when
  28030. # linking a shared library.
  28031. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
  28032. else
  28033. GXX=no
  28034. with_gnu_ld=no
  28035. wlarc=
  28036. fi
  28037. # PORTME: fill in a description of your system's C++ link characteristics
  28038. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
  28039. $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
  28040. ld_shlibs_CXX=yes
  28041. case $host_os in
  28042. aix3*)
  28043. # FIXME: insert proper C++ library support
  28044. ld_shlibs_CXX=no
  28045. ;;
  28046. aix[4-9]*)
  28047. if test ia64 = "$host_cpu"; then
  28048. # On IA64, the linker does run time linking by default, so we don't
  28049. # have to do anything special.
  28050. aix_use_runtimelinking=no
  28051. exp_sym_flag='-Bexport'
  28052. no_entry_flag=
  28053. else
  28054. aix_use_runtimelinking=no
  28055. # Test if we are trying to use run time linking or normal
  28056. # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  28057. # have runtime linking enabled, and use it for executables.
  28058. # For shared libraries, we enable/disable runtime linking
  28059. # depending on the kind of the shared library created -
  28060. # when "with_aix_soname,aix_use_runtimelinking" is:
  28061. # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
  28062. # "aix,yes" lib.so shared, rtl:yes, for executables
  28063. # lib.a static archive
  28064. # "both,no" lib.so.V(shr.o) shared, rtl:yes
  28065. # lib.a(lib.so.V) shared, rtl:no, for executables
  28066. # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
  28067. # lib.a(lib.so.V) shared, rtl:no
  28068. # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
  28069. # lib.a static archive
  28070. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
  28071. for ld_flag in $LDFLAGS; do
  28072. case $ld_flag in
  28073. *-brtl*)
  28074. aix_use_runtimelinking=yes
  28075. break
  28076. ;;
  28077. esac
  28078. done
  28079. if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
  28080. # With aix-soname=svr4, we create the lib.so.V shared archives only,
  28081. # so we don't have lib.a shared libs to link our executables.
  28082. # We have to force runtime linking in this case.
  28083. aix_use_runtimelinking=yes
  28084. LDFLAGS="$LDFLAGS -Wl,-brtl"
  28085. fi
  28086. ;;
  28087. esac
  28088. exp_sym_flag='-bexport'
  28089. no_entry_flag='-bnoentry'
  28090. fi
  28091. # When large executables or shared objects are built, AIX ld can
  28092. # have problems creating the table of contents. If linking a library
  28093. # or program results in "error TOC overflow" add -mminimal-toc to
  28094. # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
  28095. # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
  28096. archive_cmds_CXX=''
  28097. hardcode_direct_CXX=yes
  28098. hardcode_direct_absolute_CXX=yes
  28099. hardcode_libdir_separator_CXX=':'
  28100. link_all_deplibs_CXX=yes
  28101. file_list_spec_CXX='$wl-f,'
  28102. case $with_aix_soname,$aix_use_runtimelinking in
  28103. aix,*) ;; # no import file
  28104. svr4,* | *,yes) # use import file
  28105. # The Import File defines what to hardcode.
  28106. hardcode_direct_CXX=no
  28107. hardcode_direct_absolute_CXX=no
  28108. ;;
  28109. esac
  28110. if test yes = "$GXX"; then
  28111. case $host_os in aix4.[012]|aix4.[012].*)
  28112. # We only want to do this on AIX 4.2 and lower, the check
  28113. # below for broken collect2 doesn't work under 4.3+
  28114. collect2name=`$CC -print-prog-name=collect2`
  28115. if test -f "$collect2name" &&
  28116. strings "$collect2name" | $GREP resolve_lib_name >/dev/null
  28117. then
  28118. # We have reworked collect2
  28119. :
  28120. else
  28121. # We have old collect2
  28122. hardcode_direct_CXX=unsupported
  28123. # It fails to find uninstalled libraries when the uninstalled
  28124. # path is not listed in the libpath. Setting hardcode_minus_L
  28125. # to unsupported forces relinking
  28126. hardcode_minus_L_CXX=yes
  28127. hardcode_libdir_flag_spec_CXX='-L$libdir'
  28128. hardcode_libdir_separator_CXX=
  28129. fi
  28130. esac
  28131. shared_flag='-shared'
  28132. if test yes = "$aix_use_runtimelinking"; then
  28133. shared_flag=$shared_flag' $wl-G'
  28134. fi
  28135. # Need to ensure runtime linking is disabled for the traditional
  28136. # shared library, or the linker may eventually find shared libraries
  28137. # /with/ Import File - we do not want to mix them.
  28138. shared_flag_aix='-shared'
  28139. shared_flag_svr4='-shared $wl-G'
  28140. else
  28141. # not using gcc
  28142. if test ia64 = "$host_cpu"; then
  28143. # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
  28144. # chokes on -Wl,-G. The following line is correct:
  28145. shared_flag='-G'
  28146. else
  28147. if test yes = "$aix_use_runtimelinking"; then
  28148. shared_flag='$wl-G'
  28149. else
  28150. shared_flag='$wl-bM:SRE'
  28151. fi
  28152. shared_flag_aix='$wl-bM:SRE'
  28153. shared_flag_svr4='$wl-G'
  28154. fi
  28155. fi
  28156. export_dynamic_flag_spec_CXX='$wl-bexpall'
  28157. # It seems that -bexpall does not export symbols beginning with
  28158. # underscore (_), so it is better to generate a list of symbols to
  28159. # export.
  28160. always_export_symbols_CXX=yes
  28161. if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
  28162. # Warning - without using the other runtime loading flags (-brtl),
  28163. # -berok will link without error, but may produce a broken library.
  28164. # The "-G" linker flag allows undefined symbols.
  28165. no_undefined_flag_CXX='-bernotok'
  28166. # Determine the default libpath from the value encoded in an empty
  28167. # executable.
  28168. if test set = "${lt_cv_aix_libpath+set}"; then
  28169. aix_libpath=$lt_cv_aix_libpath
  28170. else
  28171. if ${lt_cv_aix_libpath__CXX+:} false; then :
  28172. $as_echo_n "(cached) " >&6
  28173. else
  28174. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  28175. /* end confdefs.h. */
  28176. int
  28177. main ()
  28178. {
  28179. ;
  28180. return 0;
  28181. }
  28182. _ACEOF
  28183. if ac_fn_cxx_try_link "$LINENO"; then :
  28184. lt_aix_libpath_sed='
  28185. /Import File Strings/,/^$/ {
  28186. /^0/ {
  28187. s/^0 *\([^ ]*\) *$/\1/
  28188. p
  28189. }
  28190. }'
  28191. lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  28192. # Check for a 64-bit object if we didn't find anything.
  28193. if test -z "$lt_cv_aix_libpath__CXX"; then
  28194. lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  28195. fi
  28196. fi
  28197. rm -f core conftest.err conftest.$ac_objext \
  28198. conftest$ac_exeext conftest.$ac_ext
  28199. if test -z "$lt_cv_aix_libpath__CXX"; then
  28200. lt_cv_aix_libpath__CXX=/usr/lib:/lib
  28201. fi
  28202. fi
  28203. aix_libpath=$lt_cv_aix_libpath__CXX
  28204. fi
  28205. hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
  28206. archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
  28207. else
  28208. if test ia64 = "$host_cpu"; then
  28209. hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
  28210. allow_undefined_flag_CXX="-z nodefs"
  28211. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
  28212. else
  28213. # Determine the default libpath from the value encoded in an
  28214. # empty executable.
  28215. if test set = "${lt_cv_aix_libpath+set}"; then
  28216. aix_libpath=$lt_cv_aix_libpath
  28217. else
  28218. if ${lt_cv_aix_libpath__CXX+:} false; then :
  28219. $as_echo_n "(cached) " >&6
  28220. else
  28221. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  28222. /* end confdefs.h. */
  28223. int
  28224. main ()
  28225. {
  28226. ;
  28227. return 0;
  28228. }
  28229. _ACEOF
  28230. if ac_fn_cxx_try_link "$LINENO"; then :
  28231. lt_aix_libpath_sed='
  28232. /Import File Strings/,/^$/ {
  28233. /^0/ {
  28234. s/^0 *\([^ ]*\) *$/\1/
  28235. p
  28236. }
  28237. }'
  28238. lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  28239. # Check for a 64-bit object if we didn't find anything.
  28240. if test -z "$lt_cv_aix_libpath__CXX"; then
  28241. lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  28242. fi
  28243. fi
  28244. rm -f core conftest.err conftest.$ac_objext \
  28245. conftest$ac_exeext conftest.$ac_ext
  28246. if test -z "$lt_cv_aix_libpath__CXX"; then
  28247. lt_cv_aix_libpath__CXX=/usr/lib:/lib
  28248. fi
  28249. fi
  28250. aix_libpath=$lt_cv_aix_libpath__CXX
  28251. fi
  28252. hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
  28253. # Warning - without using the other run time loading flags,
  28254. # -berok will link without error, but may produce a broken library.
  28255. no_undefined_flag_CXX=' $wl-bernotok'
  28256. allow_undefined_flag_CXX=' $wl-berok'
  28257. if test yes = "$with_gnu_ld"; then
  28258. # We only use this code for GNU lds that support --whole-archive.
  28259. whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
  28260. else
  28261. # Exported symbols can be pulled into shared objects from archives
  28262. whole_archive_flag_spec_CXX='$convenience'
  28263. fi
  28264. archive_cmds_need_lc_CXX=yes
  28265. archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
  28266. # -brtl affects multiple linker settings, -berok does not and is overridden later
  28267. compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
  28268. if test svr4 != "$with_aix_soname"; then
  28269. # This is similar to how AIX traditionally builds its shared
  28270. # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
  28271. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
  28272. fi
  28273. if test aix != "$with_aix_soname"; then
  28274. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
  28275. else
  28276. # used by -dlpreopen to get the symbols
  28277. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
  28278. fi
  28279. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
  28280. fi
  28281. fi
  28282. ;;
  28283. beos*)
  28284. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  28285. allow_undefined_flag_CXX=unsupported
  28286. # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  28287. # support --undefined. This deserves some investigation. FIXME
  28288. archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  28289. else
  28290. ld_shlibs_CXX=no
  28291. fi
  28292. ;;
  28293. chorus*)
  28294. case $cc_basename in
  28295. *)
  28296. # FIXME: insert proper C++ library support
  28297. ld_shlibs_CXX=no
  28298. ;;
  28299. esac
  28300. ;;
  28301. cygwin* | mingw* | pw32* | cegcc*)
  28302. case $GXX,$cc_basename in
  28303. ,cl* | no,cl*)
  28304. # Native MSVC
  28305. # hardcode_libdir_flag_spec is actually meaningless, as there is
  28306. # no search path for DLLs.
  28307. hardcode_libdir_flag_spec_CXX=' '
  28308. allow_undefined_flag_CXX=unsupported
  28309. always_export_symbols_CXX=yes
  28310. file_list_spec_CXX='@'
  28311. # Tell ltmain to make .lib files, not .a files.
  28312. libext=lib
  28313. # Tell ltmain to make .dll files, not .so files.
  28314. shrext_cmds=.dll
  28315. # FIXME: Setting linknames here is a bad hack.
  28316. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
  28317. archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  28318. cp "$export_symbols" "$output_objdir/$soname.def";
  28319. echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
  28320. else
  28321. $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
  28322. fi~
  28323. $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
  28324. linknames='
  28325. # The linker will not automatically build a static lib if we build a DLL.
  28326. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
  28327. enable_shared_with_static_runtimes_CXX=yes
  28328. # Don't use ranlib
  28329. old_postinstall_cmds_CXX='chmod 644 $oldlib'
  28330. postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
  28331. lt_tool_outputfile="@TOOL_OUTPUT@"~
  28332. case $lt_outputfile in
  28333. *.exe|*.EXE) ;;
  28334. *)
  28335. lt_outputfile=$lt_outputfile.exe
  28336. lt_tool_outputfile=$lt_tool_outputfile.exe
  28337. ;;
  28338. esac~
  28339. func_to_tool_file "$lt_outputfile"~
  28340. if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
  28341. $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
  28342. $RM "$lt_outputfile.manifest";
  28343. fi'
  28344. ;;
  28345. *)
  28346. # g++
  28347. # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
  28348. # as there is no search path for DLLs.
  28349. hardcode_libdir_flag_spec_CXX='-L$libdir'
  28350. export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
  28351. allow_undefined_flag_CXX=unsupported
  28352. always_export_symbols_CXX=no
  28353. enable_shared_with_static_runtimes_CXX=yes
  28354. if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
  28355. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  28356. # If the export-symbols file already is a .def file, use it as
  28357. # is; otherwise, prepend EXPORTS...
  28358. archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  28359. cp $export_symbols $output_objdir/$soname.def;
  28360. else
  28361. echo EXPORTS > $output_objdir/$soname.def;
  28362. cat $export_symbols >> $output_objdir/$soname.def;
  28363. fi~
  28364. $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  28365. else
  28366. ld_shlibs_CXX=no
  28367. fi
  28368. ;;
  28369. esac
  28370. ;;
  28371. darwin* | rhapsody*)
  28372. archive_cmds_need_lc_CXX=no
  28373. hardcode_direct_CXX=no
  28374. hardcode_automatic_CXX=yes
  28375. hardcode_shlibpath_var_CXX=unsupported
  28376. if test yes = "$lt_cv_ld_force_load"; then
  28377. whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
  28378. else
  28379. whole_archive_flag_spec_CXX=''
  28380. fi
  28381. link_all_deplibs_CXX=yes
  28382. allow_undefined_flag_CXX=$_lt_dar_allow_undefined
  28383. case $cc_basename in
  28384. ifort*|nagfor*) _lt_dar_can_shared=yes ;;
  28385. *) _lt_dar_can_shared=$GCC ;;
  28386. esac
  28387. if test yes = "$_lt_dar_can_shared"; then
  28388. output_verbose_link_cmd=func_echo_all
  28389. archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
  28390. module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
  28391. archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
  28392. module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
  28393. if test yes != "$lt_cv_apple_cc_single_mod"; then
  28394. archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
  28395. archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
  28396. fi
  28397. else
  28398. ld_shlibs_CXX=no
  28399. fi
  28400. ;;
  28401. os2*)
  28402. hardcode_libdir_flag_spec_CXX='-L$libdir'
  28403. hardcode_minus_L_CXX=yes
  28404. allow_undefined_flag_CXX=unsupported
  28405. shrext_cmds=.dll
  28406. archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  28407. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  28408. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  28409. $ECHO EXPORTS >> $output_objdir/$libname.def~
  28410. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  28411. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  28412. emximp -o $lib $output_objdir/$libname.def'
  28413. archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  28414. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  28415. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  28416. $ECHO EXPORTS >> $output_objdir/$libname.def~
  28417. prefix_cmds="$SED"~
  28418. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  28419. prefix_cmds="$prefix_cmds -e 1d";
  28420. fi~
  28421. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  28422. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  28423. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  28424. emximp -o $lib $output_objdir/$libname.def'
  28425. old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  28426. enable_shared_with_static_runtimes_CXX=yes
  28427. ;;
  28428. dgux*)
  28429. case $cc_basename in
  28430. ec++*)
  28431. # FIXME: insert proper C++ library support
  28432. ld_shlibs_CXX=no
  28433. ;;
  28434. ghcx*)
  28435. # Green Hills C++ Compiler
  28436. # FIXME: insert proper C++ library support
  28437. ld_shlibs_CXX=no
  28438. ;;
  28439. *)
  28440. # FIXME: insert proper C++ library support
  28441. ld_shlibs_CXX=no
  28442. ;;
  28443. esac
  28444. ;;
  28445. freebsd2.*)
  28446. # C++ shared libraries reported to be fairly broken before
  28447. # switch to ELF
  28448. ld_shlibs_CXX=no
  28449. ;;
  28450. freebsd-elf*)
  28451. archive_cmds_need_lc_CXX=no
  28452. ;;
  28453. freebsd* | dragonfly*)
  28454. # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
  28455. # conventions
  28456. ld_shlibs_CXX=yes
  28457. ;;
  28458. haiku*)
  28459. archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  28460. link_all_deplibs_CXX=yes
  28461. ;;
  28462. hpux9*)
  28463. hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
  28464. hardcode_libdir_separator_CXX=:
  28465. export_dynamic_flag_spec_CXX='$wl-E'
  28466. hardcode_direct_CXX=yes
  28467. hardcode_minus_L_CXX=yes # Not in the search PATH,
  28468. # but as the default
  28469. # location of the library.
  28470. case $cc_basename in
  28471. CC*)
  28472. # FIXME: insert proper C++ library support
  28473. ld_shlibs_CXX=no
  28474. ;;
  28475. aCC*)
  28476. archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  28477. # Commands to make compiler produce verbose output that lists
  28478. # what "hidden" libraries, object files and flags are used when
  28479. # linking a shared library.
  28480. #
  28481. # There doesn't appear to be a way to prevent this compiler from
  28482. # explicitly linking system object files so we need to strip them
  28483. # from the output so that they don't get included in the library
  28484. # dependencies.
  28485. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
  28486. ;;
  28487. *)
  28488. if test yes = "$GXX"; then
  28489. archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  28490. else
  28491. # FIXME: insert proper C++ library support
  28492. ld_shlibs_CXX=no
  28493. fi
  28494. ;;
  28495. esac
  28496. ;;
  28497. hpux10*|hpux11*)
  28498. if test no = "$with_gnu_ld"; then
  28499. hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
  28500. hardcode_libdir_separator_CXX=:
  28501. case $host_cpu in
  28502. hppa*64*|ia64*)
  28503. ;;
  28504. *)
  28505. export_dynamic_flag_spec_CXX='$wl-E'
  28506. ;;
  28507. esac
  28508. fi
  28509. case $host_cpu in
  28510. hppa*64*|ia64*)
  28511. hardcode_direct_CXX=no
  28512. hardcode_shlibpath_var_CXX=no
  28513. ;;
  28514. *)
  28515. hardcode_direct_CXX=yes
  28516. hardcode_direct_absolute_CXX=yes
  28517. hardcode_minus_L_CXX=yes # Not in the search PATH,
  28518. # but as the default
  28519. # location of the library.
  28520. ;;
  28521. esac
  28522. case $cc_basename in
  28523. CC*)
  28524. # FIXME: insert proper C++ library support
  28525. ld_shlibs_CXX=no
  28526. ;;
  28527. aCC*)
  28528. case $host_cpu in
  28529. hppa*64*)
  28530. archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28531. ;;
  28532. ia64*)
  28533. archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28534. ;;
  28535. *)
  28536. archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28537. ;;
  28538. esac
  28539. # Commands to make compiler produce verbose output that lists
  28540. # what "hidden" libraries, object files and flags are used when
  28541. # linking a shared library.
  28542. #
  28543. # There doesn't appear to be a way to prevent this compiler from
  28544. # explicitly linking system object files so we need to strip them
  28545. # from the output so that they don't get included in the library
  28546. # dependencies.
  28547. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
  28548. ;;
  28549. *)
  28550. if test yes = "$GXX"; then
  28551. if test no = "$with_gnu_ld"; then
  28552. case $host_cpu in
  28553. hppa*64*)
  28554. archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28555. ;;
  28556. ia64*)
  28557. archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28558. ;;
  28559. *)
  28560. archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28561. ;;
  28562. esac
  28563. fi
  28564. else
  28565. # FIXME: insert proper C++ library support
  28566. ld_shlibs_CXX=no
  28567. fi
  28568. ;;
  28569. esac
  28570. ;;
  28571. interix[3-9]*)
  28572. hardcode_direct_CXX=no
  28573. hardcode_shlibpath_var_CXX=no
  28574. hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
  28575. export_dynamic_flag_spec_CXX='$wl-E'
  28576. # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
  28577. # Instead, shared libraries are loaded at an image base (0x10000000 by
  28578. # default) and relocated if they conflict, which is a slow very memory
  28579. # consuming and fragmenting process. To avoid this, we pick a random,
  28580. # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
  28581. # time. Moving up from 0x10000000 also allows more sbrk(2) space.
  28582. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  28583. archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  28584. ;;
  28585. irix5* | irix6*)
  28586. case $cc_basename in
  28587. CC*)
  28588. # SGI C++
  28589. archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  28590. # Archives containing C++ object files must be created using
  28591. # "CC -ar", where "CC" is the IRIX C++ compiler. This is
  28592. # necessary to make sure instantiated templates are included
  28593. # in the archive.
  28594. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
  28595. ;;
  28596. *)
  28597. if test yes = "$GXX"; then
  28598. if test no = "$with_gnu_ld"; then
  28599. archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  28600. else
  28601. archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
  28602. fi
  28603. fi
  28604. link_all_deplibs_CXX=yes
  28605. ;;
  28606. esac
  28607. hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
  28608. hardcode_libdir_separator_CXX=:
  28609. inherit_rpath_CXX=yes
  28610. ;;
  28611. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  28612. case $cc_basename in
  28613. KCC*)
  28614. # Kuck and Associates, Inc. (KAI) C++ Compiler
  28615. # KCC will only create a shared library if the output file
  28616. # ends with ".so" (or ".sl" for HP-UX), so rename the library
  28617. # to its proper name (with version) after linking.
  28618. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
  28619. archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
  28620. # Commands to make compiler produce verbose output that lists
  28621. # what "hidden" libraries, object files and flags are used when
  28622. # linking a shared library.
  28623. #
  28624. # There doesn't appear to be a way to prevent this compiler from
  28625. # explicitly linking system object files so we need to strip them
  28626. # from the output so that they don't get included in the library
  28627. # dependencies.
  28628. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
  28629. hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
  28630. export_dynamic_flag_spec_CXX='$wl--export-dynamic'
  28631. # Archives containing C++ object files must be created using
  28632. # "CC -Bstatic", where "CC" is the KAI C++ compiler.
  28633. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
  28634. ;;
  28635. icpc* | ecpc* )
  28636. # Intel C++
  28637. with_gnu_ld=yes
  28638. # version 8.0 and above of icpc choke on multiply defined symbols
  28639. # if we add $predep_objects and $postdep_objects, however 7.1 and
  28640. # earlier do not add the objects themselves.
  28641. case `$CC -V 2>&1` in
  28642. *"Version 7."*)
  28643. archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
  28644. archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  28645. ;;
  28646. *) # Version 8.0 or newer
  28647. tmp_idyn=
  28648. case $host_cpu in
  28649. ia64*) tmp_idyn=' -i_dynamic';;
  28650. esac
  28651. archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  28652. archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  28653. ;;
  28654. esac
  28655. archive_cmds_need_lc_CXX=no
  28656. hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
  28657. export_dynamic_flag_spec_CXX='$wl--export-dynamic'
  28658. whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
  28659. ;;
  28660. pgCC* | pgcpp*)
  28661. # Portland Group C++ compiler
  28662. case `$CC -V` in
  28663. *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
  28664. prelink_cmds_CXX='tpldir=Template.dir~
  28665. rm -rf $tpldir~
  28666. $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
  28667. compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
  28668. old_archive_cmds_CXX='tpldir=Template.dir~
  28669. rm -rf $tpldir~
  28670. $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
  28671. $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
  28672. $RANLIB $oldlib'
  28673. archive_cmds_CXX='tpldir=Template.dir~
  28674. rm -rf $tpldir~
  28675. $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
  28676. $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
  28677. archive_expsym_cmds_CXX='tpldir=Template.dir~
  28678. rm -rf $tpldir~
  28679. $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
  28680. $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  28681. ;;
  28682. *) # Version 6 and above use weak symbols
  28683. archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
  28684. archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  28685. ;;
  28686. esac
  28687. hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
  28688. export_dynamic_flag_spec_CXX='$wl--export-dynamic'
  28689. whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  28690. ;;
  28691. cxx*)
  28692. # Compaq C++
  28693. archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
  28694. archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
  28695. runpath_var=LD_RUN_PATH
  28696. hardcode_libdir_flag_spec_CXX='-rpath $libdir'
  28697. hardcode_libdir_separator_CXX=:
  28698. # Commands to make compiler produce verbose output that lists
  28699. # what "hidden" libraries, object files and flags are used when
  28700. # linking a shared library.
  28701. #
  28702. # There doesn't appear to be a way to prevent this compiler from
  28703. # explicitly linking system object files so we need to strip them
  28704. # from the output so that they don't get included in the library
  28705. # dependencies.
  28706. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
  28707. ;;
  28708. xl* | mpixl* | bgxl*)
  28709. # IBM XL 8.0 on PPC, with GNU ld
  28710. hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
  28711. export_dynamic_flag_spec_CXX='$wl--export-dynamic'
  28712. archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  28713. if test yes = "$supports_anon_versioning"; then
  28714. archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
  28715. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  28716. echo "local: *; };" >> $output_objdir/$libname.ver~
  28717. $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
  28718. fi
  28719. ;;
  28720. *)
  28721. case `$CC -V 2>&1 | sed 5q` in
  28722. *Sun\ C*)
  28723. # Sun C++ 5.9
  28724. no_undefined_flag_CXX=' -zdefs'
  28725. archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28726. archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
  28727. hardcode_libdir_flag_spec_CXX='-R$libdir'
  28728. whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  28729. compiler_needs_object_CXX=yes
  28730. # Not sure whether something based on
  28731. # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
  28732. # would be better.
  28733. output_verbose_link_cmd='func_echo_all'
  28734. # Archives containing C++ object files must be created using
  28735. # "CC -xar", where "CC" is the Sun C++ compiler. This is
  28736. # necessary to make sure instantiated templates are included
  28737. # in the archive.
  28738. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
  28739. ;;
  28740. esac
  28741. ;;
  28742. esac
  28743. ;;
  28744. lynxos*)
  28745. # FIXME: insert proper C++ library support
  28746. ld_shlibs_CXX=no
  28747. ;;
  28748. m88k*)
  28749. # FIXME: insert proper C++ library support
  28750. ld_shlibs_CXX=no
  28751. ;;
  28752. mvs*)
  28753. case $cc_basename in
  28754. cxx*)
  28755. # FIXME: insert proper C++ library support
  28756. ld_shlibs_CXX=no
  28757. ;;
  28758. *)
  28759. # FIXME: insert proper C++ library support
  28760. ld_shlibs_CXX=no
  28761. ;;
  28762. esac
  28763. ;;
  28764. netbsd*)
  28765. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  28766. archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
  28767. wlarc=
  28768. hardcode_libdir_flag_spec_CXX='-R$libdir'
  28769. hardcode_direct_CXX=yes
  28770. hardcode_shlibpath_var_CXX=no
  28771. fi
  28772. # Workaround some broken pre-1.5 toolchains
  28773. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
  28774. ;;
  28775. *nto* | *qnx*)
  28776. ld_shlibs_CXX=yes
  28777. ;;
  28778. openbsd* | bitrig*)
  28779. if test -f /usr/libexec/ld.so; then
  28780. hardcode_direct_CXX=yes
  28781. hardcode_shlibpath_var_CXX=no
  28782. hardcode_direct_absolute_CXX=yes
  28783. archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
  28784. hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
  28785. if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
  28786. archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
  28787. export_dynamic_flag_spec_CXX='$wl-E'
  28788. whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
  28789. fi
  28790. output_verbose_link_cmd=func_echo_all
  28791. else
  28792. ld_shlibs_CXX=no
  28793. fi
  28794. ;;
  28795. osf3* | osf4* | osf5*)
  28796. case $cc_basename in
  28797. KCC*)
  28798. # Kuck and Associates, Inc. (KAI) C++ Compiler
  28799. # KCC will only create a shared library if the output file
  28800. # ends with ".so" (or ".sl" for HP-UX), so rename the library
  28801. # to its proper name (with version) after linking.
  28802. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
  28803. hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
  28804. hardcode_libdir_separator_CXX=:
  28805. # Archives containing C++ object files must be created using
  28806. # the KAI C++ compiler.
  28807. case $host in
  28808. osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
  28809. *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
  28810. esac
  28811. ;;
  28812. RCC*)
  28813. # Rational C++ 2.4.1
  28814. # FIXME: insert proper C++ library support
  28815. ld_shlibs_CXX=no
  28816. ;;
  28817. cxx*)
  28818. case $host in
  28819. osf3*)
  28820. allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
  28821. archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  28822. hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
  28823. ;;
  28824. *)
  28825. allow_undefined_flag_CXX=' -expect_unresolved \*'
  28826. archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  28827. archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
  28828. echo "-hidden">> $lib.exp~
  28829. $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
  28830. $RM $lib.exp'
  28831. hardcode_libdir_flag_spec_CXX='-rpath $libdir'
  28832. ;;
  28833. esac
  28834. hardcode_libdir_separator_CXX=:
  28835. # Commands to make compiler produce verbose output that lists
  28836. # what "hidden" libraries, object files and flags are used when
  28837. # linking a shared library.
  28838. #
  28839. # There doesn't appear to be a way to prevent this compiler from
  28840. # explicitly linking system object files so we need to strip them
  28841. # from the output so that they don't get included in the library
  28842. # dependencies.
  28843. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
  28844. ;;
  28845. *)
  28846. if test yes,no = "$GXX,$with_gnu_ld"; then
  28847. allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
  28848. case $host in
  28849. osf3*)
  28850. archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  28851. ;;
  28852. *)
  28853. archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  28854. ;;
  28855. esac
  28856. hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
  28857. hardcode_libdir_separator_CXX=:
  28858. # Commands to make compiler produce verbose output that lists
  28859. # what "hidden" libraries, object files and flags are used when
  28860. # linking a shared library.
  28861. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
  28862. else
  28863. # FIXME: insert proper C++ library support
  28864. ld_shlibs_CXX=no
  28865. fi
  28866. ;;
  28867. esac
  28868. ;;
  28869. psos*)
  28870. # FIXME: insert proper C++ library support
  28871. ld_shlibs_CXX=no
  28872. ;;
  28873. sunos4*)
  28874. case $cc_basename in
  28875. CC*)
  28876. # Sun C++ 4.x
  28877. # FIXME: insert proper C++ library support
  28878. ld_shlibs_CXX=no
  28879. ;;
  28880. lcc*)
  28881. # Lucid
  28882. # FIXME: insert proper C++ library support
  28883. ld_shlibs_CXX=no
  28884. ;;
  28885. *)
  28886. # FIXME: insert proper C++ library support
  28887. ld_shlibs_CXX=no
  28888. ;;
  28889. esac
  28890. ;;
  28891. solaris*)
  28892. case $cc_basename in
  28893. CC* | sunCC*)
  28894. # Sun C++ 4.2, 5.x and Centerline C++
  28895. archive_cmds_need_lc_CXX=yes
  28896. no_undefined_flag_CXX=' -zdefs'
  28897. archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  28898. archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  28899. $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
  28900. hardcode_libdir_flag_spec_CXX='-R$libdir'
  28901. hardcode_shlibpath_var_CXX=no
  28902. case $host_os in
  28903. solaris2.[0-5] | solaris2.[0-5].*) ;;
  28904. *)
  28905. # The compiler driver will combine and reorder linker options,
  28906. # but understands '-z linker_flag'.
  28907. # Supported since Solaris 2.6 (maybe 2.5.1?)
  28908. whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
  28909. ;;
  28910. esac
  28911. link_all_deplibs_CXX=yes
  28912. output_verbose_link_cmd='func_echo_all'
  28913. # Archives containing C++ object files must be created using
  28914. # "CC -xar", where "CC" is the Sun C++ compiler. This is
  28915. # necessary to make sure instantiated templates are included
  28916. # in the archive.
  28917. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
  28918. ;;
  28919. gcx*)
  28920. # Green Hills C++ Compiler
  28921. archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
  28922. # The C++ compiler must be used to create the archive.
  28923. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
  28924. ;;
  28925. *)
  28926. # GNU C++ compiler with Solaris linker
  28927. if test yes,no = "$GXX,$with_gnu_ld"; then
  28928. no_undefined_flag_CXX=' $wl-z ${wl}defs'
  28929. if $CC --version | $GREP -v '^2\.7' > /dev/null; then
  28930. archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
  28931. archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  28932. $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
  28933. # Commands to make compiler produce verbose output that lists
  28934. # what "hidden" libraries, object files and flags are used when
  28935. # linking a shared library.
  28936. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
  28937. else
  28938. # g++ 2.7 appears to require '-G' NOT '-shared' on this
  28939. # platform.
  28940. archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
  28941. archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  28942. $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
  28943. # Commands to make compiler produce verbose output that lists
  28944. # what "hidden" libraries, object files and flags are used when
  28945. # linking a shared library.
  28946. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
  28947. fi
  28948. hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
  28949. case $host_os in
  28950. solaris2.[0-5] | solaris2.[0-5].*) ;;
  28951. *)
  28952. whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
  28953. ;;
  28954. esac
  28955. fi
  28956. ;;
  28957. esac
  28958. ;;
  28959. sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
  28960. no_undefined_flag_CXX='$wl-z,text'
  28961. archive_cmds_need_lc_CXX=no
  28962. hardcode_shlibpath_var_CXX=no
  28963. runpath_var='LD_RUN_PATH'
  28964. case $cc_basename in
  28965. CC*)
  28966. archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  28967. archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  28968. ;;
  28969. *)
  28970. archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  28971. archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  28972. ;;
  28973. esac
  28974. ;;
  28975. sysv5* | sco3.2v5* | sco5v6*)
  28976. # Note: We CANNOT use -z defs as we might desire, because we do not
  28977. # link with -lc, and that would cause any symbols used from libc to
  28978. # always be unresolved, which means just about no library would
  28979. # ever link correctly. If we're not using GNU ld we use -z text
  28980. # though, which does catch some bad symbols but isn't as heavy-handed
  28981. # as -z defs.
  28982. no_undefined_flag_CXX='$wl-z,text'
  28983. allow_undefined_flag_CXX='$wl-z,nodefs'
  28984. archive_cmds_need_lc_CXX=no
  28985. hardcode_shlibpath_var_CXX=no
  28986. hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
  28987. hardcode_libdir_separator_CXX=':'
  28988. link_all_deplibs_CXX=yes
  28989. export_dynamic_flag_spec_CXX='$wl-Bexport'
  28990. runpath_var='LD_RUN_PATH'
  28991. case $cc_basename in
  28992. CC*)
  28993. archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  28994. archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  28995. old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
  28996. '"$old_archive_cmds_CXX"
  28997. reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
  28998. '"$reload_cmds_CXX"
  28999. ;;
  29000. *)
  29001. archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  29002. archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  29003. ;;
  29004. esac
  29005. ;;
  29006. tandem*)
  29007. case $cc_basename in
  29008. NCC*)
  29009. # NonStop-UX NCC 3.20
  29010. # FIXME: insert proper C++ library support
  29011. ld_shlibs_CXX=no
  29012. ;;
  29013. *)
  29014. # FIXME: insert proper C++ library support
  29015. ld_shlibs_CXX=no
  29016. ;;
  29017. esac
  29018. ;;
  29019. vxworks*)
  29020. # FIXME: insert proper C++ library support
  29021. ld_shlibs_CXX=no
  29022. ;;
  29023. *)
  29024. # FIXME: insert proper C++ library support
  29025. ld_shlibs_CXX=no
  29026. ;;
  29027. esac
  29028. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
  29029. $as_echo "$ld_shlibs_CXX" >&6; }
  29030. test no = "$ld_shlibs_CXX" && can_build_shared=no
  29031. GCC_CXX=$GXX
  29032. LD_CXX=$LD
  29033. ## CAVEAT EMPTOR:
  29034. ## There is no encapsulation within the following macros, do not change
  29035. ## the running order or otherwise move them around unless you know exactly
  29036. ## what you are doing...
  29037. # Dependencies to place before and after the object being linked:
  29038. predep_objects_CXX=
  29039. postdep_objects_CXX=
  29040. predeps_CXX=
  29041. postdeps_CXX=
  29042. compiler_lib_search_path_CXX=
  29043. cat > conftest.$ac_ext <<_LT_EOF
  29044. class Foo
  29045. {
  29046. public:
  29047. Foo (void) { a = 0; }
  29048. private:
  29049. int a;
  29050. };
  29051. _LT_EOF
  29052. _lt_libdeps_save_CFLAGS=$CFLAGS
  29053. case "$CC $CFLAGS " in #(
  29054. *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
  29055. *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
  29056. *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
  29057. esac
  29058. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  29059. (eval $ac_compile) 2>&5
  29060. ac_status=$?
  29061. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  29062. test $ac_status = 0; }; then
  29063. # Parse the compiler output and extract the necessary
  29064. # objects, libraries and library flags.
  29065. # Sentinel used to keep track of whether or not we are before
  29066. # the conftest object file.
  29067. pre_test_object_deps_done=no
  29068. for p in `eval "$output_verbose_link_cmd"`; do
  29069. case $prev$p in
  29070. -L* | -R* | -l*)
  29071. # Some compilers place space between "-{L,R}" and the path.
  29072. # Remove the space.
  29073. if test x-L = "$p" ||
  29074. test x-R = "$p"; then
  29075. prev=$p
  29076. continue
  29077. fi
  29078. # Expand the sysroot to ease extracting the directories later.
  29079. if test -z "$prev"; then
  29080. case $p in
  29081. -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
  29082. -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
  29083. -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
  29084. esac
  29085. fi
  29086. case $p in
  29087. =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
  29088. esac
  29089. if test no = "$pre_test_object_deps_done"; then
  29090. case $prev in
  29091. -L | -R)
  29092. # Internal compiler library paths should come after those
  29093. # provided the user. The postdeps already come after the
  29094. # user supplied libs so there is no need to process them.
  29095. if test -z "$compiler_lib_search_path_CXX"; then
  29096. compiler_lib_search_path_CXX=$prev$p
  29097. else
  29098. compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
  29099. fi
  29100. ;;
  29101. # The "-l" case would never come before the object being
  29102. # linked, so don't bother handling this case.
  29103. esac
  29104. else
  29105. if test -z "$postdeps_CXX"; then
  29106. postdeps_CXX=$prev$p
  29107. else
  29108. postdeps_CXX="${postdeps_CXX} $prev$p"
  29109. fi
  29110. fi
  29111. prev=
  29112. ;;
  29113. *.lto.$objext) ;; # Ignore GCC LTO objects
  29114. *.$objext)
  29115. # This assumes that the test object file only shows up
  29116. # once in the compiler output.
  29117. if test "$p" = "conftest.$objext"; then
  29118. pre_test_object_deps_done=yes
  29119. continue
  29120. fi
  29121. if test no = "$pre_test_object_deps_done"; then
  29122. if test -z "$predep_objects_CXX"; then
  29123. predep_objects_CXX=$p
  29124. else
  29125. predep_objects_CXX="$predep_objects_CXX $p"
  29126. fi
  29127. else
  29128. if test -z "$postdep_objects_CXX"; then
  29129. postdep_objects_CXX=$p
  29130. else
  29131. postdep_objects_CXX="$postdep_objects_CXX $p"
  29132. fi
  29133. fi
  29134. ;;
  29135. *) ;; # Ignore the rest.
  29136. esac
  29137. done
  29138. # Clean up.
  29139. rm -f a.out a.exe
  29140. else
  29141. echo "libtool.m4: error: problem compiling CXX test program"
  29142. fi
  29143. $RM -f confest.$objext
  29144. CFLAGS=$_lt_libdeps_save_CFLAGS
  29145. # PORTME: override above test on systems where it is broken
  29146. case $host_os in
  29147. interix[3-9]*)
  29148. # Interix 3.5 installs completely hosed .la files for C++, so rather than
  29149. # hack all around it, let's just trust "g++" to DTRT.
  29150. predep_objects_CXX=
  29151. postdep_objects_CXX=
  29152. postdeps_CXX=
  29153. ;;
  29154. esac
  29155. case " $postdeps_CXX " in
  29156. *" -lc "*) archive_cmds_need_lc_CXX=no ;;
  29157. esac
  29158. compiler_lib_search_dirs_CXX=
  29159. if test -n "${compiler_lib_search_path_CXX}"; then
  29160. compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
  29161. fi
  29162. lt_prog_compiler_wl_CXX=
  29163. lt_prog_compiler_pic_CXX=
  29164. lt_prog_compiler_static_CXX=
  29165. # C++ specific cases for pic, static, wl, etc.
  29166. if test yes = "$GXX"; then
  29167. lt_prog_compiler_wl_CXX='-Wl,'
  29168. lt_prog_compiler_static_CXX='-static'
  29169. case $host_os in
  29170. aix*)
  29171. # All AIX code is PIC.
  29172. if test ia64 = "$host_cpu"; then
  29173. # AIX 5 now supports IA64 processor
  29174. lt_prog_compiler_static_CXX='-Bstatic'
  29175. fi
  29176. lt_prog_compiler_pic_CXX='-fPIC'
  29177. ;;
  29178. amigaos*)
  29179. case $host_cpu in
  29180. powerpc)
  29181. # see comment about AmigaOS4 .so support
  29182. lt_prog_compiler_pic_CXX='-fPIC'
  29183. ;;
  29184. m68k)
  29185. # FIXME: we need at least 68020 code to build shared libraries, but
  29186. # adding the '-m68020' flag to GCC prevents building anything better,
  29187. # like '-m68040'.
  29188. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
  29189. ;;
  29190. esac
  29191. ;;
  29192. beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
  29193. # PIC is the default for these OSes.
  29194. ;;
  29195. mingw* | cygwin* | os2* | pw32* | cegcc*)
  29196. # This hack is so that the source file can tell whether it is being
  29197. # built for inclusion in a dll (and should export symbols for example).
  29198. # Although the cygwin gcc ignores -fPIC, still need this for old-style
  29199. # (--disable-auto-import) libraries
  29200. lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
  29201. case $host_os in
  29202. os2*)
  29203. lt_prog_compiler_static_CXX='$wl-static'
  29204. ;;
  29205. esac
  29206. ;;
  29207. darwin* | rhapsody*)
  29208. # PIC is the default on this platform
  29209. # Common symbols not allowed in MH_DYLIB files
  29210. lt_prog_compiler_pic_CXX='-fno-common'
  29211. ;;
  29212. *djgpp*)
  29213. # DJGPP does not support shared libraries at all
  29214. lt_prog_compiler_pic_CXX=
  29215. ;;
  29216. haiku*)
  29217. # PIC is the default for Haiku.
  29218. # The "-static" flag exists, but is broken.
  29219. lt_prog_compiler_static_CXX=
  29220. ;;
  29221. interix[3-9]*)
  29222. # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  29223. # Instead, we relocate shared libraries at runtime.
  29224. ;;
  29225. sysv4*MP*)
  29226. if test -d /usr/nec; then
  29227. lt_prog_compiler_pic_CXX=-Kconform_pic
  29228. fi
  29229. ;;
  29230. hpux*)
  29231. # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
  29232. # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
  29233. # sets the default TLS model and affects inlining.
  29234. case $host_cpu in
  29235. hppa*64*)
  29236. ;;
  29237. *)
  29238. lt_prog_compiler_pic_CXX='-fPIC'
  29239. ;;
  29240. esac
  29241. ;;
  29242. *qnx* | *nto*)
  29243. # QNX uses GNU C++, but need to define -shared option too, otherwise
  29244. # it will coredump.
  29245. lt_prog_compiler_pic_CXX='-fPIC -shared'
  29246. ;;
  29247. *)
  29248. lt_prog_compiler_pic_CXX='-fPIC'
  29249. ;;
  29250. esac
  29251. else
  29252. case $host_os in
  29253. aix[4-9]*)
  29254. # All AIX code is PIC.
  29255. if test ia64 = "$host_cpu"; then
  29256. # AIX 5 now supports IA64 processor
  29257. lt_prog_compiler_static_CXX='-Bstatic'
  29258. else
  29259. lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
  29260. fi
  29261. ;;
  29262. chorus*)
  29263. case $cc_basename in
  29264. cxch68*)
  29265. # Green Hills C++ Compiler
  29266. # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
  29267. ;;
  29268. esac
  29269. ;;
  29270. mingw* | cygwin* | os2* | pw32* | cegcc*)
  29271. # This hack is so that the source file can tell whether it is being
  29272. # built for inclusion in a dll (and should export symbols for example).
  29273. lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
  29274. ;;
  29275. dgux*)
  29276. case $cc_basename in
  29277. ec++*)
  29278. lt_prog_compiler_pic_CXX='-KPIC'
  29279. ;;
  29280. ghcx*)
  29281. # Green Hills C++ Compiler
  29282. lt_prog_compiler_pic_CXX='-pic'
  29283. ;;
  29284. *)
  29285. ;;
  29286. esac
  29287. ;;
  29288. freebsd* | dragonfly*)
  29289. # FreeBSD uses GNU C++
  29290. ;;
  29291. hpux9* | hpux10* | hpux11*)
  29292. case $cc_basename in
  29293. CC*)
  29294. lt_prog_compiler_wl_CXX='-Wl,'
  29295. lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
  29296. if test ia64 != "$host_cpu"; then
  29297. lt_prog_compiler_pic_CXX='+Z'
  29298. fi
  29299. ;;
  29300. aCC*)
  29301. lt_prog_compiler_wl_CXX='-Wl,'
  29302. lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
  29303. case $host_cpu in
  29304. hppa*64*|ia64*)
  29305. # +Z the default
  29306. ;;
  29307. *)
  29308. lt_prog_compiler_pic_CXX='+Z'
  29309. ;;
  29310. esac
  29311. ;;
  29312. *)
  29313. ;;
  29314. esac
  29315. ;;
  29316. interix*)
  29317. # This is c89, which is MS Visual C++ (no shared libs)
  29318. # Anyone wants to do a port?
  29319. ;;
  29320. irix5* | irix6* | nonstopux*)
  29321. case $cc_basename in
  29322. CC*)
  29323. lt_prog_compiler_wl_CXX='-Wl,'
  29324. lt_prog_compiler_static_CXX='-non_shared'
  29325. # CC pic flag -KPIC is the default.
  29326. ;;
  29327. *)
  29328. ;;
  29329. esac
  29330. ;;
  29331. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  29332. case $cc_basename in
  29333. KCC*)
  29334. # KAI C++ Compiler
  29335. lt_prog_compiler_wl_CXX='--backend -Wl,'
  29336. lt_prog_compiler_pic_CXX='-fPIC'
  29337. ;;
  29338. ecpc* )
  29339. # old Intel C++ for x86_64, which still supported -KPIC.
  29340. lt_prog_compiler_wl_CXX='-Wl,'
  29341. lt_prog_compiler_pic_CXX='-KPIC'
  29342. lt_prog_compiler_static_CXX='-static'
  29343. ;;
  29344. icpc* )
  29345. # Intel C++, used to be incompatible with GCC.
  29346. # ICC 10 doesn't accept -KPIC any more.
  29347. lt_prog_compiler_wl_CXX='-Wl,'
  29348. lt_prog_compiler_pic_CXX='-fPIC'
  29349. lt_prog_compiler_static_CXX='-static'
  29350. ;;
  29351. pgCC* | pgcpp*)
  29352. # Portland Group C++ compiler
  29353. lt_prog_compiler_wl_CXX='-Wl,'
  29354. lt_prog_compiler_pic_CXX='-fpic'
  29355. lt_prog_compiler_static_CXX='-Bstatic'
  29356. ;;
  29357. cxx*)
  29358. # Compaq C++
  29359. # Make sure the PIC flag is empty. It appears that all Alpha
  29360. # Linux and Compaq Tru64 Unix objects are PIC.
  29361. lt_prog_compiler_pic_CXX=
  29362. lt_prog_compiler_static_CXX='-non_shared'
  29363. ;;
  29364. xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
  29365. # IBM XL 8.0, 9.0 on PPC and BlueGene
  29366. lt_prog_compiler_wl_CXX='-Wl,'
  29367. lt_prog_compiler_pic_CXX='-qpic'
  29368. lt_prog_compiler_static_CXX='-qstaticlink'
  29369. ;;
  29370. *)
  29371. case `$CC -V 2>&1 | sed 5q` in
  29372. *Sun\ C*)
  29373. # Sun C++ 5.9
  29374. lt_prog_compiler_pic_CXX='-KPIC'
  29375. lt_prog_compiler_static_CXX='-Bstatic'
  29376. lt_prog_compiler_wl_CXX='-Qoption ld '
  29377. ;;
  29378. esac
  29379. ;;
  29380. esac
  29381. ;;
  29382. lynxos*)
  29383. ;;
  29384. m88k*)
  29385. ;;
  29386. mvs*)
  29387. case $cc_basename in
  29388. cxx*)
  29389. lt_prog_compiler_pic_CXX='-W c,exportall'
  29390. ;;
  29391. *)
  29392. ;;
  29393. esac
  29394. ;;
  29395. netbsd*)
  29396. ;;
  29397. *qnx* | *nto*)
  29398. # QNX uses GNU C++, but need to define -shared option too, otherwise
  29399. # it will coredump.
  29400. lt_prog_compiler_pic_CXX='-fPIC -shared'
  29401. ;;
  29402. osf3* | osf4* | osf5*)
  29403. case $cc_basename in
  29404. KCC*)
  29405. lt_prog_compiler_wl_CXX='--backend -Wl,'
  29406. ;;
  29407. RCC*)
  29408. # Rational C++ 2.4.1
  29409. lt_prog_compiler_pic_CXX='-pic'
  29410. ;;
  29411. cxx*)
  29412. # Digital/Compaq C++
  29413. lt_prog_compiler_wl_CXX='-Wl,'
  29414. # Make sure the PIC flag is empty. It appears that all Alpha
  29415. # Linux and Compaq Tru64 Unix objects are PIC.
  29416. lt_prog_compiler_pic_CXX=
  29417. lt_prog_compiler_static_CXX='-non_shared'
  29418. ;;
  29419. *)
  29420. ;;
  29421. esac
  29422. ;;
  29423. psos*)
  29424. ;;
  29425. solaris*)
  29426. case $cc_basename in
  29427. CC* | sunCC*)
  29428. # Sun C++ 4.2, 5.x and Centerline C++
  29429. lt_prog_compiler_pic_CXX='-KPIC'
  29430. lt_prog_compiler_static_CXX='-Bstatic'
  29431. lt_prog_compiler_wl_CXX='-Qoption ld '
  29432. ;;
  29433. gcx*)
  29434. # Green Hills C++ Compiler
  29435. lt_prog_compiler_pic_CXX='-PIC'
  29436. ;;
  29437. *)
  29438. ;;
  29439. esac
  29440. ;;
  29441. sunos4*)
  29442. case $cc_basename in
  29443. CC*)
  29444. # Sun C++ 4.x
  29445. lt_prog_compiler_pic_CXX='-pic'
  29446. lt_prog_compiler_static_CXX='-Bstatic'
  29447. ;;
  29448. lcc*)
  29449. # Lucid
  29450. lt_prog_compiler_pic_CXX='-pic'
  29451. ;;
  29452. *)
  29453. ;;
  29454. esac
  29455. ;;
  29456. sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
  29457. case $cc_basename in
  29458. CC*)
  29459. lt_prog_compiler_wl_CXX='-Wl,'
  29460. lt_prog_compiler_pic_CXX='-KPIC'
  29461. lt_prog_compiler_static_CXX='-Bstatic'
  29462. ;;
  29463. esac
  29464. ;;
  29465. tandem*)
  29466. case $cc_basename in
  29467. NCC*)
  29468. # NonStop-UX NCC 3.20
  29469. lt_prog_compiler_pic_CXX='-KPIC'
  29470. ;;
  29471. *)
  29472. ;;
  29473. esac
  29474. ;;
  29475. vxworks*)
  29476. ;;
  29477. *)
  29478. lt_prog_compiler_can_build_shared_CXX=no
  29479. ;;
  29480. esac
  29481. fi
  29482. case $host_os in
  29483. # For platforms that do not support PIC, -DPIC is meaningless:
  29484. *djgpp*)
  29485. lt_prog_compiler_pic_CXX=
  29486. ;;
  29487. *)
  29488. lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
  29489. ;;
  29490. esac
  29491. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
  29492. $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  29493. if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
  29494. $as_echo_n "(cached) " >&6
  29495. else
  29496. lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
  29497. fi
  29498. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
  29499. $as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
  29500. lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
  29501. #
  29502. # Check to make sure the PIC flag actually works.
  29503. #
  29504. if test -n "$lt_prog_compiler_pic_CXX"; then
  29505. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
  29506. $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
  29507. if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
  29508. $as_echo_n "(cached) " >&6
  29509. else
  29510. lt_cv_prog_compiler_pic_works_CXX=no
  29511. ac_outfile=conftest.$ac_objext
  29512. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  29513. lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment
  29514. # Insert the option either (1) after the last *FLAGS variable, or
  29515. # (2) before a word containing "conftest.", or (3) at the end.
  29516. # Note that $ac_compile itself does not contain backslashes and begins
  29517. # with a dollar sign (not a hyphen), so the echo should work correctly.
  29518. # The option is referenced via a variable to avoid confusing sed.
  29519. lt_compile=`echo "$ac_compile" | $SED \
  29520. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  29521. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  29522. -e 's:$: $lt_compiler_flag:'`
  29523. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  29524. (eval "$lt_compile" 2>conftest.err)
  29525. ac_status=$?
  29526. cat conftest.err >&5
  29527. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  29528. if (exit $ac_status) && test -s "$ac_outfile"; then
  29529. # The compiler can only warn and ignore the option if not recognized
  29530. # So say no if there are warnings other than the usual output.
  29531. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
  29532. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  29533. if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
  29534. lt_cv_prog_compiler_pic_works_CXX=yes
  29535. fi
  29536. fi
  29537. $RM conftest*
  29538. fi
  29539. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
  29540. $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
  29541. if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
  29542. case $lt_prog_compiler_pic_CXX in
  29543. "" | " "*) ;;
  29544. *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
  29545. esac
  29546. else
  29547. lt_prog_compiler_pic_CXX=
  29548. lt_prog_compiler_can_build_shared_CXX=no
  29549. fi
  29550. fi
  29551. #
  29552. # Check to make sure the static flag actually works.
  29553. #
  29554. wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
  29555. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
  29556. $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
  29557. if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
  29558. $as_echo_n "(cached) " >&6
  29559. else
  29560. lt_cv_prog_compiler_static_works_CXX=no
  29561. save_LDFLAGS=$LDFLAGS
  29562. LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
  29563. echo "$lt_simple_link_test_code" > conftest.$ac_ext
  29564. if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
  29565. # The linker can only warn and ignore the option if not recognized
  29566. # So say no if there are warnings
  29567. if test -s conftest.err; then
  29568. # Append any errors to the config.log.
  29569. cat conftest.err 1>&5
  29570. $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
  29571. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  29572. if diff conftest.exp conftest.er2 >/dev/null; then
  29573. lt_cv_prog_compiler_static_works_CXX=yes
  29574. fi
  29575. else
  29576. lt_cv_prog_compiler_static_works_CXX=yes
  29577. fi
  29578. fi
  29579. $RM -r conftest*
  29580. LDFLAGS=$save_LDFLAGS
  29581. fi
  29582. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
  29583. $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
  29584. if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
  29585. :
  29586. else
  29587. lt_prog_compiler_static_CXX=
  29588. fi
  29589. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  29590. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  29591. if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
  29592. $as_echo_n "(cached) " >&6
  29593. else
  29594. lt_cv_prog_compiler_c_o_CXX=no
  29595. $RM -r conftest 2>/dev/null
  29596. mkdir conftest
  29597. cd conftest
  29598. mkdir out
  29599. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  29600. lt_compiler_flag="-o out/conftest2.$ac_objext"
  29601. # Insert the option either (1) after the last *FLAGS variable, or
  29602. # (2) before a word containing "conftest.", or (3) at the end.
  29603. # Note that $ac_compile itself does not contain backslashes and begins
  29604. # with a dollar sign (not a hyphen), so the echo should work correctly.
  29605. lt_compile=`echo "$ac_compile" | $SED \
  29606. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  29607. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  29608. -e 's:$: $lt_compiler_flag:'`
  29609. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  29610. (eval "$lt_compile" 2>out/conftest.err)
  29611. ac_status=$?
  29612. cat out/conftest.err >&5
  29613. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  29614. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  29615. then
  29616. # The compiler can only warn and ignore the option if not recognized
  29617. # So say no if there are warnings
  29618. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  29619. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  29620. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  29621. lt_cv_prog_compiler_c_o_CXX=yes
  29622. fi
  29623. fi
  29624. chmod u+w . 2>&5
  29625. $RM conftest*
  29626. # SGI C++ compiler will create directory out/ii_files/ for
  29627. # template instantiation
  29628. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  29629. $RM out/* && rmdir out
  29630. cd ..
  29631. $RM -r conftest
  29632. $RM conftest*
  29633. fi
  29634. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
  29635. $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
  29636. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  29637. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  29638. if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
  29639. $as_echo_n "(cached) " >&6
  29640. else
  29641. lt_cv_prog_compiler_c_o_CXX=no
  29642. $RM -r conftest 2>/dev/null
  29643. mkdir conftest
  29644. cd conftest
  29645. mkdir out
  29646. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  29647. lt_compiler_flag="-o out/conftest2.$ac_objext"
  29648. # Insert the option either (1) after the last *FLAGS variable, or
  29649. # (2) before a word containing "conftest.", or (3) at the end.
  29650. # Note that $ac_compile itself does not contain backslashes and begins
  29651. # with a dollar sign (not a hyphen), so the echo should work correctly.
  29652. lt_compile=`echo "$ac_compile" | $SED \
  29653. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  29654. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  29655. -e 's:$: $lt_compiler_flag:'`
  29656. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  29657. (eval "$lt_compile" 2>out/conftest.err)
  29658. ac_status=$?
  29659. cat out/conftest.err >&5
  29660. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  29661. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  29662. then
  29663. # The compiler can only warn and ignore the option if not recognized
  29664. # So say no if there are warnings
  29665. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  29666. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  29667. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  29668. lt_cv_prog_compiler_c_o_CXX=yes
  29669. fi
  29670. fi
  29671. chmod u+w . 2>&5
  29672. $RM conftest*
  29673. # SGI C++ compiler will create directory out/ii_files/ for
  29674. # template instantiation
  29675. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  29676. $RM out/* && rmdir out
  29677. cd ..
  29678. $RM -r conftest
  29679. $RM conftest*
  29680. fi
  29681. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
  29682. $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
  29683. hard_links=nottested
  29684. if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
  29685. # do not overwrite the value of need_locks provided by the user
  29686. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
  29687. $as_echo_n "checking if we can lock with hard links... " >&6; }
  29688. hard_links=yes
  29689. $RM conftest*
  29690. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  29691. touch conftest.a
  29692. ln conftest.a conftest.b 2>&5 || hard_links=no
  29693. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  29694. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
  29695. $as_echo "$hard_links" >&6; }
  29696. if test no = "$hard_links"; then
  29697. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
  29698. $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
  29699. need_locks=warn
  29700. fi
  29701. else
  29702. need_locks=no
  29703. fi
  29704. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
  29705. $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
  29706. export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  29707. exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
  29708. case $host_os in
  29709. aix[4-9]*)
  29710. # If we're using GNU nm, then we don't want the "-C" option.
  29711. # -C means demangle to GNU nm, but means don't demangle to AIX nm.
  29712. # Without the "-l" option, or with the "-B" option, AIX nm treats
  29713. # weak defined symbols like other global defined symbols, whereas
  29714. # GNU nm marks them as "W".
  29715. # While the 'weak' keyword is ignored in the Export File, we need
  29716. # it in the Import File for the 'aix-soname' feature, so we have
  29717. # to replace the "-B" option with "-P" for AIX nm.
  29718. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
  29719. export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
  29720. else
  29721. export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
  29722. fi
  29723. ;;
  29724. pw32*)
  29725. export_symbols_cmds_CXX=$ltdll_cmds
  29726. ;;
  29727. cygwin* | mingw* | cegcc*)
  29728. case $cc_basename in
  29729. cl*)
  29730. exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
  29731. ;;
  29732. *)
  29733. export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
  29734. exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
  29735. ;;
  29736. esac
  29737. ;;
  29738. *)
  29739. export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  29740. ;;
  29741. esac
  29742. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
  29743. $as_echo "$ld_shlibs_CXX" >&6; }
  29744. test no = "$ld_shlibs_CXX" && can_build_shared=no
  29745. with_gnu_ld_CXX=$with_gnu_ld
  29746. #
  29747. # Do we need to explicitly link libc?
  29748. #
  29749. case "x$archive_cmds_need_lc_CXX" in
  29750. x|xyes)
  29751. # Assume -lc should be added
  29752. archive_cmds_need_lc_CXX=yes
  29753. if test yes,yes = "$GCC,$enable_shared"; then
  29754. case $archive_cmds_CXX in
  29755. *'~'*)
  29756. # FIXME: we may have to deal with multi-command sequences.
  29757. ;;
  29758. '$CC '*)
  29759. # Test whether the compiler implicitly links with -lc since on some
  29760. # systems, -lgcc has to come before -lc. If gcc already passes -lc
  29761. # to ld, don't add -lc before -lgcc.
  29762. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
  29763. $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
  29764. if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
  29765. $as_echo_n "(cached) " >&6
  29766. else
  29767. $RM conftest*
  29768. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  29769. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  29770. (eval $ac_compile) 2>&5
  29771. ac_status=$?
  29772. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  29773. test $ac_status = 0; } 2>conftest.err; then
  29774. soname=conftest
  29775. lib=conftest
  29776. libobjs=conftest.$ac_objext
  29777. deplibs=
  29778. wl=$lt_prog_compiler_wl_CXX
  29779. pic_flag=$lt_prog_compiler_pic_CXX
  29780. compiler_flags=-v
  29781. linker_flags=-v
  29782. verstring=
  29783. output_objdir=.
  29784. libname=conftest
  29785. lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
  29786. allow_undefined_flag_CXX=
  29787. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
  29788. (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
  29789. ac_status=$?
  29790. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  29791. test $ac_status = 0; }
  29792. then
  29793. lt_cv_archive_cmds_need_lc_CXX=no
  29794. else
  29795. lt_cv_archive_cmds_need_lc_CXX=yes
  29796. fi
  29797. allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
  29798. else
  29799. cat conftest.err 1>&5
  29800. fi
  29801. $RM conftest*
  29802. fi
  29803. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
  29804. $as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
  29805. archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
  29806. ;;
  29807. esac
  29808. fi
  29809. ;;
  29810. esac
  29811. { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
  29812. $as_echo_n "checking dynamic linker characteristics... " >&6; }
  29813. library_names_spec=
  29814. libname_spec='lib$name'
  29815. soname_spec=
  29816. shrext_cmds=.so
  29817. postinstall_cmds=
  29818. postuninstall_cmds=
  29819. finish_cmds=
  29820. finish_eval=
  29821. shlibpath_var=
  29822. shlibpath_overrides_runpath=unknown
  29823. version_type=none
  29824. dynamic_linker="$host_os ld.so"
  29825. sys_lib_dlsearch_path_spec="/lib /usr/lib"
  29826. need_lib_prefix=unknown
  29827. hardcode_into_libs=no
  29828. # when you set need_version to no, make sure it does not cause -set_version
  29829. # flags to be left without arguments
  29830. need_version=unknown
  29831. case $host_os in
  29832. aix3*)
  29833. version_type=linux # correct to gnu/linux during the next big refactor
  29834. library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
  29835. shlibpath_var=LIBPATH
  29836. # AIX 3 has no versioning support, so we append a major version to the name.
  29837. soname_spec='$libname$release$shared_ext$major'
  29838. ;;
  29839. aix[4-9]*)
  29840. version_type=linux # correct to gnu/linux during the next big refactor
  29841. need_lib_prefix=no
  29842. need_version=no
  29843. hardcode_into_libs=yes
  29844. if test ia64 = "$host_cpu"; then
  29845. # AIX 5 supports IA64
  29846. library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
  29847. shlibpath_var=LD_LIBRARY_PATH
  29848. else
  29849. # With GCC up to 2.95.x, collect2 would create an import file
  29850. # for dependence libraries. The import file would start with
  29851. # the line '#! .'. This would cause the generated library to
  29852. # depend on '.', always an invalid library. This was fixed in
  29853. # development snapshots of GCC prior to 3.0.
  29854. case $host_os in
  29855. aix4 | aix4.[01] | aix4.[01].*)
  29856. if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
  29857. echo ' yes '
  29858. echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
  29859. :
  29860. else
  29861. can_build_shared=no
  29862. fi
  29863. ;;
  29864. esac
  29865. # Using Import Files as archive members, it is possible to support
  29866. # filename-based versioning of shared library archives on AIX. While
  29867. # this would work for both with and without runtime linking, it will
  29868. # prevent static linking of such archives. So we do filename-based
  29869. # shared library versioning with .so extension only, which is used
  29870. # when both runtime linking and shared linking is enabled.
  29871. # Unfortunately, runtime linking may impact performance, so we do
  29872. # not want this to be the default eventually. Also, we use the
  29873. # versioned .so libs for executables only if there is the -brtl
  29874. # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
  29875. # To allow for filename-based versioning support, we need to create
  29876. # libNAME.so.V as an archive file, containing:
  29877. # *) an Import File, referring to the versioned filename of the
  29878. # archive as well as the shared archive member, telling the
  29879. # bitwidth (32 or 64) of that shared object, and providing the
  29880. # list of exported symbols of that shared object, eventually
  29881. # decorated with the 'weak' keyword
  29882. # *) the shared object with the F_LOADONLY flag set, to really avoid
  29883. # it being seen by the linker.
  29884. # At run time we better use the real file rather than another symlink,
  29885. # but for link time we create the symlink libNAME.so -> libNAME.so.V
  29886. case $with_aix_soname,$aix_use_runtimelinking in
  29887. # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
  29888. # soname into executable. Probably we can add versioning support to
  29889. # collect2, so additional links can be useful in future.
  29890. aix,yes) # traditional libtool
  29891. dynamic_linker='AIX unversionable lib.so'
  29892. # If using run time linking (on AIX 4.2 or later) use lib<name>.so
  29893. # instead of lib<name>.a to let people know that these are not
  29894. # typical AIX shared libraries.
  29895. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  29896. ;;
  29897. aix,no) # traditional AIX only
  29898. dynamic_linker='AIX lib.a(lib.so.V)'
  29899. # We preserve .a as extension for shared libraries through AIX4.2
  29900. # and later when we are not doing run time linking.
  29901. library_names_spec='$libname$release.a $libname.a'
  29902. soname_spec='$libname$release$shared_ext$major'
  29903. ;;
  29904. svr4,*) # full svr4 only
  29905. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
  29906. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  29907. # We do not specify a path in Import Files, so LIBPATH fires.
  29908. shlibpath_overrides_runpath=yes
  29909. ;;
  29910. *,yes) # both, prefer svr4
  29911. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
  29912. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  29913. # unpreferred sharedlib libNAME.a needs extra handling
  29914. postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
  29915. postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
  29916. # We do not specify a path in Import Files, so LIBPATH fires.
  29917. shlibpath_overrides_runpath=yes
  29918. ;;
  29919. *,no) # both, prefer aix
  29920. dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
  29921. library_names_spec='$libname$release.a $libname.a'
  29922. soname_spec='$libname$release$shared_ext$major'
  29923. # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
  29924. postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
  29925. postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
  29926. ;;
  29927. esac
  29928. shlibpath_var=LIBPATH
  29929. fi
  29930. ;;
  29931. amigaos*)
  29932. case $host_cpu in
  29933. powerpc)
  29934. # Since July 2007 AmigaOS4 officially supports .so libraries.
  29935. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
  29936. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  29937. ;;
  29938. m68k)
  29939. library_names_spec='$libname.ixlibrary $libname.a'
  29940. # Create ${libname}_ixlibrary.a entries in /sys/libs.
  29941. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
  29942. ;;
  29943. esac
  29944. ;;
  29945. beos*)
  29946. library_names_spec='$libname$shared_ext'
  29947. dynamic_linker="$host_os ld.so"
  29948. shlibpath_var=LIBRARY_PATH
  29949. ;;
  29950. bsdi[45]*)
  29951. version_type=linux # correct to gnu/linux during the next big refactor
  29952. need_version=no
  29953. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  29954. soname_spec='$libname$release$shared_ext$major'
  29955. finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
  29956. shlibpath_var=LD_LIBRARY_PATH
  29957. sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
  29958. sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
  29959. # the default ld.so.conf also contains /usr/contrib/lib and
  29960. # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
  29961. # libtool to hard-code these into programs
  29962. ;;
  29963. cygwin* | mingw* | pw32* | cegcc*)
  29964. version_type=windows
  29965. shrext_cmds=.dll
  29966. need_version=no
  29967. need_lib_prefix=no
  29968. case $GCC,$cc_basename in
  29969. yes,*)
  29970. # gcc
  29971. library_names_spec='$libname.dll.a'
  29972. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  29973. postinstall_cmds='base_file=`basename \$file`~
  29974. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  29975. dldir=$destdir/`dirname \$dlpath`~
  29976. test -d \$dldir || mkdir -p \$dldir~
  29977. $install_prog $dir/$dlname \$dldir/$dlname~
  29978. chmod a+x \$dldir/$dlname~
  29979. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  29980. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  29981. fi'
  29982. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  29983. dlpath=$dir/\$dldll~
  29984. $RM \$dlpath'
  29985. shlibpath_overrides_runpath=yes
  29986. case $host_os in
  29987. cygwin*)
  29988. # Cygwin DLLs use 'cyg' prefix rather than 'lib'
  29989. soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  29990. ;;
  29991. mingw* | cegcc*)
  29992. # MinGW DLLs use traditional 'lib' prefix
  29993. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  29994. ;;
  29995. pw32*)
  29996. # pw32 DLLs use 'pw' prefix rather than 'lib'
  29997. library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  29998. ;;
  29999. esac
  30000. dynamic_linker='Win32 ld.exe'
  30001. ;;
  30002. *,cl*)
  30003. # Native MSVC
  30004. libname_spec='$name'
  30005. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  30006. library_names_spec='$libname.dll.lib'
  30007. case $build_os in
  30008. mingw*)
  30009. sys_lib_search_path_spec=
  30010. lt_save_ifs=$IFS
  30011. IFS=';'
  30012. for lt_path in $LIB
  30013. do
  30014. IFS=$lt_save_ifs
  30015. # Let DOS variable expansion print the short 8.3 style file name.
  30016. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
  30017. sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
  30018. done
  30019. IFS=$lt_save_ifs
  30020. # Convert to MSYS style.
  30021. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
  30022. ;;
  30023. cygwin*)
  30024. # Convert to unix form, then to dos form, then back to unix form
  30025. # but this time dos style (no spaces!) so that the unix form looks
  30026. # like /cygdrive/c/PROGRA~1:/cygdr...
  30027. sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
  30028. sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
  30029. sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  30030. ;;
  30031. *)
  30032. sys_lib_search_path_spec=$LIB
  30033. if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
  30034. # It is most probably a Windows format PATH.
  30035. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
  30036. else
  30037. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  30038. fi
  30039. # FIXME: find the short name or the path components, as spaces are
  30040. # common. (e.g. "Program Files" -> "PROGRA~1")
  30041. ;;
  30042. esac
  30043. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  30044. postinstall_cmds='base_file=`basename \$file`~
  30045. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  30046. dldir=$destdir/`dirname \$dlpath`~
  30047. test -d \$dldir || mkdir -p \$dldir~
  30048. $install_prog $dir/$dlname \$dldir/$dlname'
  30049. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  30050. dlpath=$dir/\$dldll~
  30051. $RM \$dlpath'
  30052. shlibpath_overrides_runpath=yes
  30053. dynamic_linker='Win32 link.exe'
  30054. ;;
  30055. *)
  30056. # Assume MSVC wrapper
  30057. library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
  30058. dynamic_linker='Win32 ld.exe'
  30059. ;;
  30060. esac
  30061. # FIXME: first we should search . and the directory the executable is in
  30062. shlibpath_var=PATH
  30063. ;;
  30064. darwin* | rhapsody*)
  30065. dynamic_linker="$host_os dyld"
  30066. version_type=darwin
  30067. need_lib_prefix=no
  30068. need_version=no
  30069. library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
  30070. soname_spec='$libname$release$major$shared_ext'
  30071. shlibpath_overrides_runpath=yes
  30072. shlibpath_var=DYLD_LIBRARY_PATH
  30073. shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
  30074. sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
  30075. ;;
  30076. dgux*)
  30077. version_type=linux # correct to gnu/linux during the next big refactor
  30078. need_lib_prefix=no
  30079. need_version=no
  30080. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30081. soname_spec='$libname$release$shared_ext$major'
  30082. shlibpath_var=LD_LIBRARY_PATH
  30083. ;;
  30084. freebsd* | dragonfly*)
  30085. # DragonFly does not have aout. When/if they implement a new
  30086. # versioning mechanism, adjust this.
  30087. if test -x /usr/bin/objformat; then
  30088. objformat=`/usr/bin/objformat`
  30089. else
  30090. case $host_os in
  30091. freebsd[23].*) objformat=aout ;;
  30092. *) objformat=elf ;;
  30093. esac
  30094. fi
  30095. version_type=freebsd-$objformat
  30096. case $version_type in
  30097. freebsd-elf*)
  30098. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30099. soname_spec='$libname$release$shared_ext$major'
  30100. need_version=no
  30101. need_lib_prefix=no
  30102. ;;
  30103. freebsd-*)
  30104. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  30105. need_version=yes
  30106. ;;
  30107. esac
  30108. shlibpath_var=LD_LIBRARY_PATH
  30109. case $host_os in
  30110. freebsd2.*)
  30111. shlibpath_overrides_runpath=yes
  30112. ;;
  30113. freebsd3.[01]* | freebsdelf3.[01]*)
  30114. shlibpath_overrides_runpath=yes
  30115. hardcode_into_libs=yes
  30116. ;;
  30117. freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
  30118. freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
  30119. shlibpath_overrides_runpath=no
  30120. hardcode_into_libs=yes
  30121. ;;
  30122. *) # from 4.6 on, and DragonFly
  30123. shlibpath_overrides_runpath=yes
  30124. hardcode_into_libs=yes
  30125. ;;
  30126. esac
  30127. ;;
  30128. haiku*)
  30129. version_type=linux # correct to gnu/linux during the next big refactor
  30130. need_lib_prefix=no
  30131. need_version=no
  30132. dynamic_linker="$host_os runtime_loader"
  30133. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30134. soname_spec='$libname$release$shared_ext$major'
  30135. shlibpath_var=LIBRARY_PATH
  30136. shlibpath_overrides_runpath=no
  30137. sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
  30138. hardcode_into_libs=yes
  30139. ;;
  30140. hpux9* | hpux10* | hpux11*)
  30141. # Give a soname corresponding to the major version so that dld.sl refuses to
  30142. # link against other versions.
  30143. version_type=sunos
  30144. need_lib_prefix=no
  30145. need_version=no
  30146. case $host_cpu in
  30147. ia64*)
  30148. shrext_cmds='.so'
  30149. hardcode_into_libs=yes
  30150. dynamic_linker="$host_os dld.so"
  30151. shlibpath_var=LD_LIBRARY_PATH
  30152. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  30153. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30154. soname_spec='$libname$release$shared_ext$major'
  30155. if test 32 = "$HPUX_IA64_MODE"; then
  30156. sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
  30157. sys_lib_dlsearch_path_spec=/usr/lib/hpux32
  30158. else
  30159. sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
  30160. sys_lib_dlsearch_path_spec=/usr/lib/hpux64
  30161. fi
  30162. ;;
  30163. hppa*64*)
  30164. shrext_cmds='.sl'
  30165. hardcode_into_libs=yes
  30166. dynamic_linker="$host_os dld.sl"
  30167. shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
  30168. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  30169. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30170. soname_spec='$libname$release$shared_ext$major'
  30171. sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
  30172. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  30173. ;;
  30174. *)
  30175. shrext_cmds='.sl'
  30176. dynamic_linker="$host_os dld.sl"
  30177. shlibpath_var=SHLIB_PATH
  30178. shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
  30179. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30180. soname_spec='$libname$release$shared_ext$major'
  30181. ;;
  30182. esac
  30183. # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
  30184. postinstall_cmds='chmod 555 $lib'
  30185. # or fails outright, so override atomically:
  30186. install_override_mode=555
  30187. ;;
  30188. interix[3-9]*)
  30189. version_type=linux # correct to gnu/linux during the next big refactor
  30190. need_lib_prefix=no
  30191. need_version=no
  30192. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30193. soname_spec='$libname$release$shared_ext$major'
  30194. dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
  30195. shlibpath_var=LD_LIBRARY_PATH
  30196. shlibpath_overrides_runpath=no
  30197. hardcode_into_libs=yes
  30198. ;;
  30199. irix5* | irix6* | nonstopux*)
  30200. case $host_os in
  30201. nonstopux*) version_type=nonstopux ;;
  30202. *)
  30203. if test yes = "$lt_cv_prog_gnu_ld"; then
  30204. version_type=linux # correct to gnu/linux during the next big refactor
  30205. else
  30206. version_type=irix
  30207. fi ;;
  30208. esac
  30209. need_lib_prefix=no
  30210. need_version=no
  30211. soname_spec='$libname$release$shared_ext$major'
  30212. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
  30213. case $host_os in
  30214. irix5* | nonstopux*)
  30215. libsuff= shlibsuff=
  30216. ;;
  30217. *)
  30218. case $LD in # libtool.m4 will add one of these switches to LD
  30219. *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
  30220. libsuff= shlibsuff= libmagic=32-bit;;
  30221. *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
  30222. libsuff=32 shlibsuff=N32 libmagic=N32;;
  30223. *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
  30224. libsuff=64 shlibsuff=64 libmagic=64-bit;;
  30225. *) libsuff= shlibsuff= libmagic=never-match;;
  30226. esac
  30227. ;;
  30228. esac
  30229. shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
  30230. shlibpath_overrides_runpath=no
  30231. sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
  30232. sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
  30233. hardcode_into_libs=yes
  30234. ;;
  30235. # No shared lib support for Linux oldld, aout, or coff.
  30236. linux*oldld* | linux*aout* | linux*coff*)
  30237. dynamic_linker=no
  30238. ;;
  30239. linux*android*)
  30240. version_type=none # Android doesn't support versioned libraries.
  30241. need_lib_prefix=no
  30242. need_version=no
  30243. library_names_spec='$libname$release$shared_ext'
  30244. soname_spec='$libname$release$shared_ext'
  30245. finish_cmds=
  30246. shlibpath_var=LD_LIBRARY_PATH
  30247. shlibpath_overrides_runpath=yes
  30248. # This implies no fast_install, which is unacceptable.
  30249. # Some rework will be needed to allow for fast_install
  30250. # before this can be enabled.
  30251. hardcode_into_libs=yes
  30252. dynamic_linker='Android linker'
  30253. # Don't embed -rpath directories since the linker doesn't support them.
  30254. hardcode_libdir_flag_spec_CXX='-L$libdir'
  30255. ;;
  30256. # This must be glibc/ELF.
  30257. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  30258. version_type=linux # correct to gnu/linux during the next big refactor
  30259. need_lib_prefix=no
  30260. need_version=no
  30261. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30262. soname_spec='$libname$release$shared_ext$major'
  30263. finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
  30264. shlibpath_var=LD_LIBRARY_PATH
  30265. shlibpath_overrides_runpath=no
  30266. # Some binutils ld are patched to set DT_RUNPATH
  30267. if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
  30268. $as_echo_n "(cached) " >&6
  30269. else
  30270. lt_cv_shlibpath_overrides_runpath=no
  30271. save_LDFLAGS=$LDFLAGS
  30272. save_libdir=$libdir
  30273. eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
  30274. LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
  30275. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  30276. /* end confdefs.h. */
  30277. int
  30278. main ()
  30279. {
  30280. ;
  30281. return 0;
  30282. }
  30283. _ACEOF
  30284. if ac_fn_cxx_try_link "$LINENO"; then :
  30285. if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
  30286. lt_cv_shlibpath_overrides_runpath=yes
  30287. fi
  30288. fi
  30289. rm -f core conftest.err conftest.$ac_objext \
  30290. conftest$ac_exeext conftest.$ac_ext
  30291. LDFLAGS=$save_LDFLAGS
  30292. libdir=$save_libdir
  30293. fi
  30294. shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
  30295. # This implies no fast_install, which is unacceptable.
  30296. # Some rework will be needed to allow for fast_install
  30297. # before this can be enabled.
  30298. hardcode_into_libs=yes
  30299. # Ideally, we could use ldconfig to report *all* directores which are
  30300. # searched for libraries, however this is still not possible. Aside from not
  30301. # being certain /sbin/ldconfig is available, command
  30302. # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
  30303. # even though it is searched at run-time. Try to do the best guess by
  30304. # appending ld.so.conf contents (and includes) to the search path.
  30305. if test -f /etc/ld.so.conf; then
  30306. lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
  30307. sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
  30308. fi
  30309. # We used to test for /lib/ld.so.1 and disable shared libraries on
  30310. # powerpc, because MkLinux only supported shared libraries with the
  30311. # GNU dynamic linker. Since this was broken with cross compilers,
  30312. # most powerpc-linux boxes support dynamic linking these days and
  30313. # people can always --disable-shared, the test was removed, and we
  30314. # assume the GNU/Linux dynamic linker is in use.
  30315. dynamic_linker='GNU/Linux ld.so'
  30316. ;;
  30317. netbsd*)
  30318. version_type=sunos
  30319. need_lib_prefix=no
  30320. need_version=no
  30321. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  30322. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  30323. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  30324. dynamic_linker='NetBSD (a.out) ld.so'
  30325. else
  30326. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30327. soname_spec='$libname$release$shared_ext$major'
  30328. dynamic_linker='NetBSD ld.elf_so'
  30329. fi
  30330. shlibpath_var=LD_LIBRARY_PATH
  30331. shlibpath_overrides_runpath=yes
  30332. hardcode_into_libs=yes
  30333. ;;
  30334. newsos6)
  30335. version_type=linux # correct to gnu/linux during the next big refactor
  30336. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30337. shlibpath_var=LD_LIBRARY_PATH
  30338. shlibpath_overrides_runpath=yes
  30339. ;;
  30340. *nto* | *qnx*)
  30341. version_type=qnx
  30342. need_lib_prefix=no
  30343. need_version=no
  30344. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30345. soname_spec='$libname$release$shared_ext$major'
  30346. shlibpath_var=LD_LIBRARY_PATH
  30347. shlibpath_overrides_runpath=no
  30348. hardcode_into_libs=yes
  30349. dynamic_linker='ldqnx.so'
  30350. ;;
  30351. openbsd* | bitrig*)
  30352. version_type=sunos
  30353. sys_lib_dlsearch_path_spec=/usr/lib
  30354. need_lib_prefix=no
  30355. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  30356. need_version=no
  30357. else
  30358. need_version=yes
  30359. fi
  30360. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  30361. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  30362. shlibpath_var=LD_LIBRARY_PATH
  30363. shlibpath_overrides_runpath=yes
  30364. ;;
  30365. os2*)
  30366. libname_spec='$name'
  30367. version_type=windows
  30368. shrext_cmds=.dll
  30369. need_version=no
  30370. need_lib_prefix=no
  30371. # OS/2 can only load a DLL with a base name of 8 characters or less.
  30372. soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
  30373. v=$($ECHO $release$versuffix | tr -d .-);
  30374. n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
  30375. $ECHO $n$v`$shared_ext'
  30376. library_names_spec='${libname}_dll.$libext'
  30377. dynamic_linker='OS/2 ld.exe'
  30378. shlibpath_var=BEGINLIBPATH
  30379. sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
  30380. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  30381. postinstall_cmds='base_file=`basename \$file`~
  30382. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
  30383. dldir=$destdir/`dirname \$dlpath`~
  30384. test -d \$dldir || mkdir -p \$dldir~
  30385. $install_prog $dir/$dlname \$dldir/$dlname~
  30386. chmod a+x \$dldir/$dlname~
  30387. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  30388. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  30389. fi'
  30390. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
  30391. dlpath=$dir/\$dldll~
  30392. $RM \$dlpath'
  30393. ;;
  30394. osf3* | osf4* | osf5*)
  30395. version_type=osf
  30396. need_lib_prefix=no
  30397. need_version=no
  30398. soname_spec='$libname$release$shared_ext$major'
  30399. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30400. shlibpath_var=LD_LIBRARY_PATH
  30401. sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
  30402. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  30403. ;;
  30404. rdos*)
  30405. dynamic_linker=no
  30406. ;;
  30407. solaris*)
  30408. version_type=linux # correct to gnu/linux during the next big refactor
  30409. need_lib_prefix=no
  30410. need_version=no
  30411. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30412. soname_spec='$libname$release$shared_ext$major'
  30413. shlibpath_var=LD_LIBRARY_PATH
  30414. shlibpath_overrides_runpath=yes
  30415. hardcode_into_libs=yes
  30416. # ldd complains unless libraries are executable
  30417. postinstall_cmds='chmod +x $lib'
  30418. ;;
  30419. sunos4*)
  30420. version_type=sunos
  30421. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  30422. finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
  30423. shlibpath_var=LD_LIBRARY_PATH
  30424. shlibpath_overrides_runpath=yes
  30425. if test yes = "$with_gnu_ld"; then
  30426. need_lib_prefix=no
  30427. fi
  30428. need_version=yes
  30429. ;;
  30430. sysv4 | sysv4.3*)
  30431. version_type=linux # correct to gnu/linux during the next big refactor
  30432. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30433. soname_spec='$libname$release$shared_ext$major'
  30434. shlibpath_var=LD_LIBRARY_PATH
  30435. case $host_vendor in
  30436. sni)
  30437. shlibpath_overrides_runpath=no
  30438. need_lib_prefix=no
  30439. runpath_var=LD_RUN_PATH
  30440. ;;
  30441. siemens)
  30442. need_lib_prefix=no
  30443. ;;
  30444. motorola)
  30445. need_lib_prefix=no
  30446. need_version=no
  30447. shlibpath_overrides_runpath=no
  30448. sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
  30449. ;;
  30450. esac
  30451. ;;
  30452. sysv4*MP*)
  30453. if test -d /usr/nec; then
  30454. version_type=linux # correct to gnu/linux during the next big refactor
  30455. library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
  30456. soname_spec='$libname$shared_ext.$major'
  30457. shlibpath_var=LD_LIBRARY_PATH
  30458. fi
  30459. ;;
  30460. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  30461. version_type=sco
  30462. need_lib_prefix=no
  30463. need_version=no
  30464. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
  30465. soname_spec='$libname$release$shared_ext$major'
  30466. shlibpath_var=LD_LIBRARY_PATH
  30467. shlibpath_overrides_runpath=yes
  30468. hardcode_into_libs=yes
  30469. if test yes = "$with_gnu_ld"; then
  30470. sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
  30471. else
  30472. sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
  30473. case $host_os in
  30474. sco3.2v5*)
  30475. sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
  30476. ;;
  30477. esac
  30478. fi
  30479. sys_lib_dlsearch_path_spec='/usr/lib'
  30480. ;;
  30481. tpf*)
  30482. # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
  30483. version_type=linux # correct to gnu/linux during the next big refactor
  30484. need_lib_prefix=no
  30485. need_version=no
  30486. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30487. shlibpath_var=LD_LIBRARY_PATH
  30488. shlibpath_overrides_runpath=no
  30489. hardcode_into_libs=yes
  30490. ;;
  30491. uts4*)
  30492. version_type=linux # correct to gnu/linux during the next big refactor
  30493. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  30494. soname_spec='$libname$release$shared_ext$major'
  30495. shlibpath_var=LD_LIBRARY_PATH
  30496. ;;
  30497. *)
  30498. dynamic_linker=no
  30499. ;;
  30500. esac
  30501. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
  30502. $as_echo "$dynamic_linker" >&6; }
  30503. test no = "$dynamic_linker" && can_build_shared=no
  30504. variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
  30505. if test yes = "$GCC"; then
  30506. variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
  30507. fi
  30508. if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
  30509. sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
  30510. fi
  30511. if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
  30512. sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
  30513. fi
  30514. # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
  30515. configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
  30516. # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
  30517. func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
  30518. # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
  30519. configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
  30520. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
  30521. $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
  30522. hardcode_action_CXX=
  30523. if test -n "$hardcode_libdir_flag_spec_CXX" ||
  30524. test -n "$runpath_var_CXX" ||
  30525. test yes = "$hardcode_automatic_CXX"; then
  30526. # We can hardcode non-existent directories.
  30527. if test no != "$hardcode_direct_CXX" &&
  30528. # If the only mechanism to avoid hardcoding is shlibpath_var, we
  30529. # have to relink, otherwise we might link with an installed library
  30530. # when we should be linking with a yet-to-be-installed one
  30531. ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
  30532. test no != "$hardcode_minus_L_CXX"; then
  30533. # Linking always hardcodes the temporary library directory.
  30534. hardcode_action_CXX=relink
  30535. else
  30536. # We can link without hardcoding, and we can hardcode nonexisting dirs.
  30537. hardcode_action_CXX=immediate
  30538. fi
  30539. else
  30540. # We cannot hardcode anything, or else we can only hardcode existing
  30541. # directories.
  30542. hardcode_action_CXX=unsupported
  30543. fi
  30544. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
  30545. $as_echo "$hardcode_action_CXX" >&6; }
  30546. if test relink = "$hardcode_action_CXX" ||
  30547. test yes = "$inherit_rpath_CXX"; then
  30548. # Fast installation is not supported
  30549. enable_fast_install=no
  30550. elif test yes = "$shlibpath_overrides_runpath" ||
  30551. test no = "$enable_shared"; then
  30552. # Fast installation is not necessary
  30553. enable_fast_install=needless
  30554. fi
  30555. fi # test -n "$compiler"
  30556. CC=$lt_save_CC
  30557. CFLAGS=$lt_save_CFLAGS
  30558. LDCXX=$LD
  30559. LD=$lt_save_LD
  30560. GCC=$lt_save_GCC
  30561. with_gnu_ld=$lt_save_with_gnu_ld
  30562. lt_cv_path_LDCXX=$lt_cv_path_LD
  30563. lt_cv_path_LD=$lt_save_path_LD
  30564. lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
  30565. lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
  30566. fi # test yes != "$_lt_caught_CXX_error"
  30567. ac_ext=cpp
  30568. ac_cpp='$CXXCPP $CPPFLAGS'
  30569. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  30570. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  30571. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  30572. ac_ext=f
  30573. ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
  30574. ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  30575. ac_compiler_gnu=$ac_cv_f77_compiler_gnu
  30576. if test -z "$F77" || test no = "$F77"; then
  30577. _lt_disable_F77=yes
  30578. fi
  30579. archive_cmds_need_lc_F77=no
  30580. allow_undefined_flag_F77=
  30581. always_export_symbols_F77=no
  30582. archive_expsym_cmds_F77=
  30583. export_dynamic_flag_spec_F77=
  30584. hardcode_direct_F77=no
  30585. hardcode_direct_absolute_F77=no
  30586. hardcode_libdir_flag_spec_F77=
  30587. hardcode_libdir_separator_F77=
  30588. hardcode_minus_L_F77=no
  30589. hardcode_automatic_F77=no
  30590. inherit_rpath_F77=no
  30591. module_cmds_F77=
  30592. module_expsym_cmds_F77=
  30593. link_all_deplibs_F77=unknown
  30594. old_archive_cmds_F77=$old_archive_cmds
  30595. reload_flag_F77=$reload_flag
  30596. reload_cmds_F77=$reload_cmds
  30597. no_undefined_flag_F77=
  30598. whole_archive_flag_spec_F77=
  30599. enable_shared_with_static_runtimes_F77=no
  30600. # Source file extension for f77 test sources.
  30601. ac_ext=f
  30602. # Object file extension for compiled f77 test sources.
  30603. objext=o
  30604. objext_F77=$objext
  30605. # No sense in running all these tests if we already determined that
  30606. # the F77 compiler isn't working. Some variables (like enable_shared)
  30607. # are currently assumed to apply to all compilers on this platform,
  30608. # and will be corrupted by setting them based on a non-working compiler.
  30609. if test yes != "$_lt_disable_F77"; then
  30610. # Code to be used in simple compile tests
  30611. lt_simple_compile_test_code="\
  30612. subroutine t
  30613. return
  30614. end
  30615. "
  30616. # Code to be used in simple link tests
  30617. lt_simple_link_test_code="\
  30618. program t
  30619. end
  30620. "
  30621. # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  30622. # If no C compiler was specified, use CC.
  30623. LTCC=${LTCC-"$CC"}
  30624. # If no C compiler flags were specified, use CFLAGS.
  30625. LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
  30626. # Allow CC to be a program name with arguments.
  30627. compiler=$CC
  30628. # save warnings/boilerplate of simple test code
  30629. ac_outfile=conftest.$ac_objext
  30630. echo "$lt_simple_compile_test_code" >conftest.$ac_ext
  30631. eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  30632. _lt_compiler_boilerplate=`cat conftest.err`
  30633. $RM conftest*
  30634. ac_outfile=conftest.$ac_objext
  30635. echo "$lt_simple_link_test_code" >conftest.$ac_ext
  30636. eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  30637. _lt_linker_boilerplate=`cat conftest.err`
  30638. $RM -r conftest*
  30639. # Allow CC to be a program name with arguments.
  30640. lt_save_CC=$CC
  30641. lt_save_GCC=$GCC
  30642. lt_save_CFLAGS=$CFLAGS
  30643. CC=${F77-"f77"}
  30644. CFLAGS=$FFLAGS
  30645. compiler=$CC
  30646. compiler_F77=$CC
  30647. func_cc_basename $compiler
  30648. cc_basename=$func_cc_basename_result
  30649. GCC=$G77
  30650. if test -n "$compiler"; then
  30651. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
  30652. $as_echo_n "checking if libtool supports shared libraries... " >&6; }
  30653. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
  30654. $as_echo "$can_build_shared" >&6; }
  30655. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
  30656. $as_echo_n "checking whether to build shared libraries... " >&6; }
  30657. test no = "$can_build_shared" && enable_shared=no
  30658. # On AIX, shared libraries and static libraries use the same namespace, and
  30659. # are all built from PIC.
  30660. case $host_os in
  30661. aix3*)
  30662. test yes = "$enable_shared" && enable_static=no
  30663. if test -n "$RANLIB"; then
  30664. archive_cmds="$archive_cmds~\$RANLIB \$lib"
  30665. postinstall_cmds='$RANLIB $lib'
  30666. fi
  30667. ;;
  30668. aix[4-9]*)
  30669. if test ia64 != "$host_cpu"; then
  30670. case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
  30671. yes,aix,yes) ;; # shared object as lib.so file only
  30672. yes,svr4,*) ;; # shared object as lib.so archive member only
  30673. yes,*) enable_static=no ;; # shared object in lib.a archive as well
  30674. esac
  30675. fi
  30676. ;;
  30677. esac
  30678. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
  30679. $as_echo "$enable_shared" >&6; }
  30680. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
  30681. $as_echo_n "checking whether to build static libraries... " >&6; }
  30682. # Make sure either enable_shared or enable_static is yes.
  30683. test yes = "$enable_shared" || enable_static=yes
  30684. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
  30685. $as_echo "$enable_static" >&6; }
  30686. GCC_F77=$G77
  30687. LD_F77=$LD
  30688. ## CAVEAT EMPTOR:
  30689. ## There is no encapsulation within the following macros, do not change
  30690. ## the running order or otherwise move them around unless you know exactly
  30691. ## what you are doing...
  30692. lt_prog_compiler_wl_F77=
  30693. lt_prog_compiler_pic_F77=
  30694. lt_prog_compiler_static_F77=
  30695. if test yes = "$GCC"; then
  30696. lt_prog_compiler_wl_F77='-Wl,'
  30697. lt_prog_compiler_static_F77='-static'
  30698. case $host_os in
  30699. aix*)
  30700. # All AIX code is PIC.
  30701. if test ia64 = "$host_cpu"; then
  30702. # AIX 5 now supports IA64 processor
  30703. lt_prog_compiler_static_F77='-Bstatic'
  30704. fi
  30705. lt_prog_compiler_pic_F77='-fPIC'
  30706. ;;
  30707. amigaos*)
  30708. case $host_cpu in
  30709. powerpc)
  30710. # see comment about AmigaOS4 .so support
  30711. lt_prog_compiler_pic_F77='-fPIC'
  30712. ;;
  30713. m68k)
  30714. # FIXME: we need at least 68020 code to build shared libraries, but
  30715. # adding the '-m68020' flag to GCC prevents building anything better,
  30716. # like '-m68040'.
  30717. lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
  30718. ;;
  30719. esac
  30720. ;;
  30721. beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
  30722. # PIC is the default for these OSes.
  30723. ;;
  30724. mingw* | cygwin* | pw32* | os2* | cegcc*)
  30725. # This hack is so that the source file can tell whether it is being
  30726. # built for inclusion in a dll (and should export symbols for example).
  30727. # Although the cygwin gcc ignores -fPIC, still need this for old-style
  30728. # (--disable-auto-import) libraries
  30729. lt_prog_compiler_pic_F77='-DDLL_EXPORT'
  30730. case $host_os in
  30731. os2*)
  30732. lt_prog_compiler_static_F77='$wl-static'
  30733. ;;
  30734. esac
  30735. ;;
  30736. darwin* | rhapsody*)
  30737. # PIC is the default on this platform
  30738. # Common symbols not allowed in MH_DYLIB files
  30739. lt_prog_compiler_pic_F77='-fno-common'
  30740. ;;
  30741. haiku*)
  30742. # PIC is the default for Haiku.
  30743. # The "-static" flag exists, but is broken.
  30744. lt_prog_compiler_static_F77=
  30745. ;;
  30746. hpux*)
  30747. # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
  30748. # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
  30749. # sets the default TLS model and affects inlining.
  30750. case $host_cpu in
  30751. hppa*64*)
  30752. # +Z the default
  30753. ;;
  30754. *)
  30755. lt_prog_compiler_pic_F77='-fPIC'
  30756. ;;
  30757. esac
  30758. ;;
  30759. interix[3-9]*)
  30760. # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  30761. # Instead, we relocate shared libraries at runtime.
  30762. ;;
  30763. msdosdjgpp*)
  30764. # Just because we use GCC doesn't mean we suddenly get shared libraries
  30765. # on systems that don't support them.
  30766. lt_prog_compiler_can_build_shared_F77=no
  30767. enable_shared=no
  30768. ;;
  30769. *nto* | *qnx*)
  30770. # QNX uses GNU C++, but need to define -shared option too, otherwise
  30771. # it will coredump.
  30772. lt_prog_compiler_pic_F77='-fPIC -shared'
  30773. ;;
  30774. sysv4*MP*)
  30775. if test -d /usr/nec; then
  30776. lt_prog_compiler_pic_F77=-Kconform_pic
  30777. fi
  30778. ;;
  30779. *)
  30780. lt_prog_compiler_pic_F77='-fPIC'
  30781. ;;
  30782. esac
  30783. case $cc_basename in
  30784. nvcc*) # Cuda Compiler Driver 2.2
  30785. lt_prog_compiler_wl_F77='-Xlinker '
  30786. if test -n "$lt_prog_compiler_pic_F77"; then
  30787. lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77"
  30788. fi
  30789. ;;
  30790. esac
  30791. else
  30792. # PORTME Check for flag to pass linker flags through the system compiler.
  30793. case $host_os in
  30794. aix*)
  30795. lt_prog_compiler_wl_F77='-Wl,'
  30796. if test ia64 = "$host_cpu"; then
  30797. # AIX 5 now supports IA64 processor
  30798. lt_prog_compiler_static_F77='-Bstatic'
  30799. else
  30800. lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
  30801. fi
  30802. ;;
  30803. darwin* | rhapsody*)
  30804. # PIC is the default on this platform
  30805. # Common symbols not allowed in MH_DYLIB files
  30806. lt_prog_compiler_pic_F77='-fno-common'
  30807. case $cc_basename in
  30808. nagfor*)
  30809. # NAG Fortran compiler
  30810. lt_prog_compiler_wl_F77='-Wl,-Wl,,'
  30811. lt_prog_compiler_pic_F77='-PIC'
  30812. lt_prog_compiler_static_F77='-Bstatic'
  30813. ;;
  30814. esac
  30815. ;;
  30816. mingw* | cygwin* | pw32* | os2* | cegcc*)
  30817. # This hack is so that the source file can tell whether it is being
  30818. # built for inclusion in a dll (and should export symbols for example).
  30819. lt_prog_compiler_pic_F77='-DDLL_EXPORT'
  30820. case $host_os in
  30821. os2*)
  30822. lt_prog_compiler_static_F77='$wl-static'
  30823. ;;
  30824. esac
  30825. ;;
  30826. hpux9* | hpux10* | hpux11*)
  30827. lt_prog_compiler_wl_F77='-Wl,'
  30828. # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
  30829. # not for PA HP-UX.
  30830. case $host_cpu in
  30831. hppa*64*|ia64*)
  30832. # +Z the default
  30833. ;;
  30834. *)
  30835. lt_prog_compiler_pic_F77='+Z'
  30836. ;;
  30837. esac
  30838. # Is there a better lt_prog_compiler_static that works with the bundled CC?
  30839. lt_prog_compiler_static_F77='$wl-a ${wl}archive'
  30840. ;;
  30841. irix5* | irix6* | nonstopux*)
  30842. lt_prog_compiler_wl_F77='-Wl,'
  30843. # PIC (with -KPIC) is the default.
  30844. lt_prog_compiler_static_F77='-non_shared'
  30845. ;;
  30846. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  30847. case $cc_basename in
  30848. # old Intel for x86_64, which still supported -KPIC.
  30849. ecc*)
  30850. lt_prog_compiler_wl_F77='-Wl,'
  30851. lt_prog_compiler_pic_F77='-KPIC'
  30852. lt_prog_compiler_static_F77='-static'
  30853. ;;
  30854. # icc used to be incompatible with GCC.
  30855. # ICC 10 doesn't accept -KPIC any more.
  30856. icc* | ifort*)
  30857. lt_prog_compiler_wl_F77='-Wl,'
  30858. lt_prog_compiler_pic_F77='-fPIC'
  30859. lt_prog_compiler_static_F77='-static'
  30860. ;;
  30861. # Lahey Fortran 8.1.
  30862. lf95*)
  30863. lt_prog_compiler_wl_F77='-Wl,'
  30864. lt_prog_compiler_pic_F77='--shared'
  30865. lt_prog_compiler_static_F77='--static'
  30866. ;;
  30867. nagfor*)
  30868. # NAG Fortran compiler
  30869. lt_prog_compiler_wl_F77='-Wl,-Wl,,'
  30870. lt_prog_compiler_pic_F77='-PIC'
  30871. lt_prog_compiler_static_F77='-Bstatic'
  30872. ;;
  30873. tcc*)
  30874. # Fabrice Bellard et al's Tiny C Compiler
  30875. lt_prog_compiler_wl_F77='-Wl,'
  30876. lt_prog_compiler_pic_F77='-fPIC'
  30877. lt_prog_compiler_static_F77='-static'
  30878. ;;
  30879. pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
  30880. # Portland Group compilers (*not* the Pentium gcc compiler,
  30881. # which looks to be a dead project)
  30882. lt_prog_compiler_wl_F77='-Wl,'
  30883. lt_prog_compiler_pic_F77='-fpic'
  30884. lt_prog_compiler_static_F77='-Bstatic'
  30885. ;;
  30886. ccc*)
  30887. lt_prog_compiler_wl_F77='-Wl,'
  30888. # All Alpha code is PIC.
  30889. lt_prog_compiler_static_F77='-non_shared'
  30890. ;;
  30891. xl* | bgxl* | bgf* | mpixl*)
  30892. # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
  30893. lt_prog_compiler_wl_F77='-Wl,'
  30894. lt_prog_compiler_pic_F77='-qpic'
  30895. lt_prog_compiler_static_F77='-qstaticlink'
  30896. ;;
  30897. *)
  30898. case `$CC -V 2>&1 | sed 5q` in
  30899. *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
  30900. # Sun Fortran 8.3 passes all unrecognized flags to the linker
  30901. lt_prog_compiler_pic_F77='-KPIC'
  30902. lt_prog_compiler_static_F77='-Bstatic'
  30903. lt_prog_compiler_wl_F77=''
  30904. ;;
  30905. *Sun\ F* | *Sun*Fortran*)
  30906. lt_prog_compiler_pic_F77='-KPIC'
  30907. lt_prog_compiler_static_F77='-Bstatic'
  30908. lt_prog_compiler_wl_F77='-Qoption ld '
  30909. ;;
  30910. *Sun\ C*)
  30911. # Sun C 5.9
  30912. lt_prog_compiler_pic_F77='-KPIC'
  30913. lt_prog_compiler_static_F77='-Bstatic'
  30914. lt_prog_compiler_wl_F77='-Wl,'
  30915. ;;
  30916. *Intel*\ [CF]*Compiler*)
  30917. lt_prog_compiler_wl_F77='-Wl,'
  30918. lt_prog_compiler_pic_F77='-fPIC'
  30919. lt_prog_compiler_static_F77='-static'
  30920. ;;
  30921. *Portland\ Group*)
  30922. lt_prog_compiler_wl_F77='-Wl,'
  30923. lt_prog_compiler_pic_F77='-fpic'
  30924. lt_prog_compiler_static_F77='-Bstatic'
  30925. ;;
  30926. esac
  30927. ;;
  30928. esac
  30929. ;;
  30930. newsos6)
  30931. lt_prog_compiler_pic_F77='-KPIC'
  30932. lt_prog_compiler_static_F77='-Bstatic'
  30933. ;;
  30934. *nto* | *qnx*)
  30935. # QNX uses GNU C++, but need to define -shared option too, otherwise
  30936. # it will coredump.
  30937. lt_prog_compiler_pic_F77='-fPIC -shared'
  30938. ;;
  30939. osf3* | osf4* | osf5*)
  30940. lt_prog_compiler_wl_F77='-Wl,'
  30941. # All OSF/1 code is PIC.
  30942. lt_prog_compiler_static_F77='-non_shared'
  30943. ;;
  30944. rdos*)
  30945. lt_prog_compiler_static_F77='-non_shared'
  30946. ;;
  30947. solaris*)
  30948. lt_prog_compiler_pic_F77='-KPIC'
  30949. lt_prog_compiler_static_F77='-Bstatic'
  30950. case $cc_basename in
  30951. f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
  30952. lt_prog_compiler_wl_F77='-Qoption ld ';;
  30953. *)
  30954. lt_prog_compiler_wl_F77='-Wl,';;
  30955. esac
  30956. ;;
  30957. sunos4*)
  30958. lt_prog_compiler_wl_F77='-Qoption ld '
  30959. lt_prog_compiler_pic_F77='-PIC'
  30960. lt_prog_compiler_static_F77='-Bstatic'
  30961. ;;
  30962. sysv4 | sysv4.2uw2* | sysv4.3*)
  30963. lt_prog_compiler_wl_F77='-Wl,'
  30964. lt_prog_compiler_pic_F77='-KPIC'
  30965. lt_prog_compiler_static_F77='-Bstatic'
  30966. ;;
  30967. sysv4*MP*)
  30968. if test -d /usr/nec; then
  30969. lt_prog_compiler_pic_F77='-Kconform_pic'
  30970. lt_prog_compiler_static_F77='-Bstatic'
  30971. fi
  30972. ;;
  30973. sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
  30974. lt_prog_compiler_wl_F77='-Wl,'
  30975. lt_prog_compiler_pic_F77='-KPIC'
  30976. lt_prog_compiler_static_F77='-Bstatic'
  30977. ;;
  30978. unicos*)
  30979. lt_prog_compiler_wl_F77='-Wl,'
  30980. lt_prog_compiler_can_build_shared_F77=no
  30981. ;;
  30982. uts4*)
  30983. lt_prog_compiler_pic_F77='-pic'
  30984. lt_prog_compiler_static_F77='-Bstatic'
  30985. ;;
  30986. *)
  30987. lt_prog_compiler_can_build_shared_F77=no
  30988. ;;
  30989. esac
  30990. fi
  30991. case $host_os in
  30992. # For platforms that do not support PIC, -DPIC is meaningless:
  30993. *djgpp*)
  30994. lt_prog_compiler_pic_F77=
  30995. ;;
  30996. *)
  30997. lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
  30998. ;;
  30999. esac
  31000. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
  31001. $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  31002. if ${lt_cv_prog_compiler_pic_F77+:} false; then :
  31003. $as_echo_n "(cached) " >&6
  31004. else
  31005. lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77
  31006. fi
  31007. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5
  31008. $as_echo "$lt_cv_prog_compiler_pic_F77" >&6; }
  31009. lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77
  31010. #
  31011. # Check to make sure the PIC flag actually works.
  31012. #
  31013. if test -n "$lt_prog_compiler_pic_F77"; then
  31014. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
  31015. $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; }
  31016. if ${lt_cv_prog_compiler_pic_works_F77+:} false; then :
  31017. $as_echo_n "(cached) " >&6
  31018. else
  31019. lt_cv_prog_compiler_pic_works_F77=no
  31020. ac_outfile=conftest.$ac_objext
  31021. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  31022. lt_compiler_flag="$lt_prog_compiler_pic_F77" ## exclude from sc_useless_quotes_in_assignment
  31023. # Insert the option either (1) after the last *FLAGS variable, or
  31024. # (2) before a word containing "conftest.", or (3) at the end.
  31025. # Note that $ac_compile itself does not contain backslashes and begins
  31026. # with a dollar sign (not a hyphen), so the echo should work correctly.
  31027. # The option is referenced via a variable to avoid confusing sed.
  31028. lt_compile=`echo "$ac_compile" | $SED \
  31029. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  31030. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  31031. -e 's:$: $lt_compiler_flag:'`
  31032. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  31033. (eval "$lt_compile" 2>conftest.err)
  31034. ac_status=$?
  31035. cat conftest.err >&5
  31036. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  31037. if (exit $ac_status) && test -s "$ac_outfile"; then
  31038. # The compiler can only warn and ignore the option if not recognized
  31039. # So say no if there are warnings other than the usual output.
  31040. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
  31041. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  31042. if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
  31043. lt_cv_prog_compiler_pic_works_F77=yes
  31044. fi
  31045. fi
  31046. $RM conftest*
  31047. fi
  31048. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5
  31049. $as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; }
  31050. if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then
  31051. case $lt_prog_compiler_pic_F77 in
  31052. "" | " "*) ;;
  31053. *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
  31054. esac
  31055. else
  31056. lt_prog_compiler_pic_F77=
  31057. lt_prog_compiler_can_build_shared_F77=no
  31058. fi
  31059. fi
  31060. #
  31061. # Check to make sure the static flag actually works.
  31062. #
  31063. wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
  31064. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
  31065. $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
  31066. if ${lt_cv_prog_compiler_static_works_F77+:} false; then :
  31067. $as_echo_n "(cached) " >&6
  31068. else
  31069. lt_cv_prog_compiler_static_works_F77=no
  31070. save_LDFLAGS=$LDFLAGS
  31071. LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
  31072. echo "$lt_simple_link_test_code" > conftest.$ac_ext
  31073. if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
  31074. # The linker can only warn and ignore the option if not recognized
  31075. # So say no if there are warnings
  31076. if test -s conftest.err; then
  31077. # Append any errors to the config.log.
  31078. cat conftest.err 1>&5
  31079. $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
  31080. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  31081. if diff conftest.exp conftest.er2 >/dev/null; then
  31082. lt_cv_prog_compiler_static_works_F77=yes
  31083. fi
  31084. else
  31085. lt_cv_prog_compiler_static_works_F77=yes
  31086. fi
  31087. fi
  31088. $RM -r conftest*
  31089. LDFLAGS=$save_LDFLAGS
  31090. fi
  31091. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5
  31092. $as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; }
  31093. if test yes = "$lt_cv_prog_compiler_static_works_F77"; then
  31094. :
  31095. else
  31096. lt_prog_compiler_static_F77=
  31097. fi
  31098. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  31099. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  31100. if ${lt_cv_prog_compiler_c_o_F77+:} false; then :
  31101. $as_echo_n "(cached) " >&6
  31102. else
  31103. lt_cv_prog_compiler_c_o_F77=no
  31104. $RM -r conftest 2>/dev/null
  31105. mkdir conftest
  31106. cd conftest
  31107. mkdir out
  31108. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  31109. lt_compiler_flag="-o out/conftest2.$ac_objext"
  31110. # Insert the option either (1) after the last *FLAGS variable, or
  31111. # (2) before a word containing "conftest.", or (3) at the end.
  31112. # Note that $ac_compile itself does not contain backslashes and begins
  31113. # with a dollar sign (not a hyphen), so the echo should work correctly.
  31114. lt_compile=`echo "$ac_compile" | $SED \
  31115. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  31116. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  31117. -e 's:$: $lt_compiler_flag:'`
  31118. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  31119. (eval "$lt_compile" 2>out/conftest.err)
  31120. ac_status=$?
  31121. cat out/conftest.err >&5
  31122. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  31123. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  31124. then
  31125. # The compiler can only warn and ignore the option if not recognized
  31126. # So say no if there are warnings
  31127. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  31128. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  31129. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  31130. lt_cv_prog_compiler_c_o_F77=yes
  31131. fi
  31132. fi
  31133. chmod u+w . 2>&5
  31134. $RM conftest*
  31135. # SGI C++ compiler will create directory out/ii_files/ for
  31136. # template instantiation
  31137. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  31138. $RM out/* && rmdir out
  31139. cd ..
  31140. $RM -r conftest
  31141. $RM conftest*
  31142. fi
  31143. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5
  31144. $as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
  31145. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  31146. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  31147. if ${lt_cv_prog_compiler_c_o_F77+:} false; then :
  31148. $as_echo_n "(cached) " >&6
  31149. else
  31150. lt_cv_prog_compiler_c_o_F77=no
  31151. $RM -r conftest 2>/dev/null
  31152. mkdir conftest
  31153. cd conftest
  31154. mkdir out
  31155. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  31156. lt_compiler_flag="-o out/conftest2.$ac_objext"
  31157. # Insert the option either (1) after the last *FLAGS variable, or
  31158. # (2) before a word containing "conftest.", or (3) at the end.
  31159. # Note that $ac_compile itself does not contain backslashes and begins
  31160. # with a dollar sign (not a hyphen), so the echo should work correctly.
  31161. lt_compile=`echo "$ac_compile" | $SED \
  31162. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  31163. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  31164. -e 's:$: $lt_compiler_flag:'`
  31165. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  31166. (eval "$lt_compile" 2>out/conftest.err)
  31167. ac_status=$?
  31168. cat out/conftest.err >&5
  31169. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  31170. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  31171. then
  31172. # The compiler can only warn and ignore the option if not recognized
  31173. # So say no if there are warnings
  31174. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  31175. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  31176. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  31177. lt_cv_prog_compiler_c_o_F77=yes
  31178. fi
  31179. fi
  31180. chmod u+w . 2>&5
  31181. $RM conftest*
  31182. # SGI C++ compiler will create directory out/ii_files/ for
  31183. # template instantiation
  31184. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  31185. $RM out/* && rmdir out
  31186. cd ..
  31187. $RM -r conftest
  31188. $RM conftest*
  31189. fi
  31190. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5
  31191. $as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
  31192. hard_links=nottested
  31193. if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then
  31194. # do not overwrite the value of need_locks provided by the user
  31195. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
  31196. $as_echo_n "checking if we can lock with hard links... " >&6; }
  31197. hard_links=yes
  31198. $RM conftest*
  31199. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  31200. touch conftest.a
  31201. ln conftest.a conftest.b 2>&5 || hard_links=no
  31202. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  31203. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
  31204. $as_echo "$hard_links" >&6; }
  31205. if test no = "$hard_links"; then
  31206. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
  31207. $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
  31208. need_locks=warn
  31209. fi
  31210. else
  31211. need_locks=no
  31212. fi
  31213. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
  31214. $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
  31215. runpath_var=
  31216. allow_undefined_flag_F77=
  31217. always_export_symbols_F77=no
  31218. archive_cmds_F77=
  31219. archive_expsym_cmds_F77=
  31220. compiler_needs_object_F77=no
  31221. enable_shared_with_static_runtimes_F77=no
  31222. export_dynamic_flag_spec_F77=
  31223. export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  31224. hardcode_automatic_F77=no
  31225. hardcode_direct_F77=no
  31226. hardcode_direct_absolute_F77=no
  31227. hardcode_libdir_flag_spec_F77=
  31228. hardcode_libdir_separator_F77=
  31229. hardcode_minus_L_F77=no
  31230. hardcode_shlibpath_var_F77=unsupported
  31231. inherit_rpath_F77=no
  31232. link_all_deplibs_F77=unknown
  31233. module_cmds_F77=
  31234. module_expsym_cmds_F77=
  31235. old_archive_from_new_cmds_F77=
  31236. old_archive_from_expsyms_cmds_F77=
  31237. thread_safe_flag_spec_F77=
  31238. whole_archive_flag_spec_F77=
  31239. # include_expsyms should be a list of space-separated symbols to be *always*
  31240. # included in the symbol list
  31241. include_expsyms_F77=
  31242. # exclude_expsyms can be an extended regexp of symbols to exclude
  31243. # it will be wrapped by ' (' and ')$', so one must not match beginning or
  31244. # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
  31245. # as well as any symbol that contains 'd'.
  31246. exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
  31247. # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
  31248. # platforms (ab)use it in PIC code, but their linkers get confused if
  31249. # the symbol is explicitly referenced. Since portable code cannot
  31250. # rely on this symbol name, it's probably fine to never include it in
  31251. # preloaded symbol tables.
  31252. # Exclude shared library initialization/finalization symbols.
  31253. extract_expsyms_cmds=
  31254. case $host_os in
  31255. cygwin* | mingw* | pw32* | cegcc*)
  31256. # FIXME: the MSVC++ port hasn't been tested in a loooong time
  31257. # When not using gcc, we currently assume that we are using
  31258. # Microsoft Visual C++.
  31259. if test yes != "$GCC"; then
  31260. with_gnu_ld=no
  31261. fi
  31262. ;;
  31263. interix*)
  31264. # we just hope/assume this is gcc and not c89 (= MSVC++)
  31265. with_gnu_ld=yes
  31266. ;;
  31267. openbsd* | bitrig*)
  31268. with_gnu_ld=no
  31269. ;;
  31270. esac
  31271. ld_shlibs_F77=yes
  31272. # On some targets, GNU ld is compatible enough with the native linker
  31273. # that we're better off using the native interface for both.
  31274. lt_use_gnu_ld_interface=no
  31275. if test yes = "$with_gnu_ld"; then
  31276. case $host_os in
  31277. aix*)
  31278. # The AIX port of GNU ld has always aspired to compatibility
  31279. # with the native linker. However, as the warning in the GNU ld
  31280. # block says, versions before 2.19.5* couldn't really create working
  31281. # shared libraries, regardless of the interface used.
  31282. case `$LD -v 2>&1` in
  31283. *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
  31284. *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
  31285. *\ \(GNU\ Binutils\)\ [3-9]*) ;;
  31286. *)
  31287. lt_use_gnu_ld_interface=yes
  31288. ;;
  31289. esac
  31290. ;;
  31291. *)
  31292. lt_use_gnu_ld_interface=yes
  31293. ;;
  31294. esac
  31295. fi
  31296. if test yes = "$lt_use_gnu_ld_interface"; then
  31297. # If archive_cmds runs LD, not CC, wlarc should be empty
  31298. wlarc='$wl'
  31299. # Set some defaults for GNU ld with shared library support. These
  31300. # are reset later if shared libraries are not supported. Putting them
  31301. # here allows them to be overridden if necessary.
  31302. runpath_var=LD_RUN_PATH
  31303. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  31304. export_dynamic_flag_spec_F77='$wl--export-dynamic'
  31305. # ancient GNU ld didn't support --whole-archive et. al.
  31306. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
  31307. whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
  31308. else
  31309. whole_archive_flag_spec_F77=
  31310. fi
  31311. supports_anon_versioning=no
  31312. case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
  31313. *GNU\ gold*) supports_anon_versioning=yes ;;
  31314. *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
  31315. *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
  31316. *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
  31317. *\ 2.11.*) ;; # other 2.11 versions
  31318. *) supports_anon_versioning=yes ;;
  31319. esac
  31320. # See if GNU ld supports shared libraries.
  31321. case $host_os in
  31322. aix[3-9]*)
  31323. # On AIX/PPC, the GNU linker is very broken
  31324. if test ia64 != "$host_cpu"; then
  31325. ld_shlibs_F77=no
  31326. cat <<_LT_EOF 1>&2
  31327. *** Warning: the GNU linker, at least up to release 2.19, is reported
  31328. *** to be unable to reliably create shared libraries on AIX.
  31329. *** Therefore, libtool is disabling shared libraries support. If you
  31330. *** really care for shared libraries, you may want to install binutils
  31331. *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
  31332. *** You will then need to restart the configuration process.
  31333. _LT_EOF
  31334. fi
  31335. ;;
  31336. amigaos*)
  31337. case $host_cpu in
  31338. powerpc)
  31339. # see comment about AmigaOS4 .so support
  31340. archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31341. archive_expsym_cmds_F77=''
  31342. ;;
  31343. m68k)
  31344. archive_cmds_F77='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
  31345. hardcode_libdir_flag_spec_F77='-L$libdir'
  31346. hardcode_minus_L_F77=yes
  31347. ;;
  31348. esac
  31349. ;;
  31350. beos*)
  31351. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  31352. allow_undefined_flag_F77=unsupported
  31353. # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  31354. # support --undefined. This deserves some investigation. FIXME
  31355. archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31356. else
  31357. ld_shlibs_F77=no
  31358. fi
  31359. ;;
  31360. cygwin* | mingw* | pw32* | cegcc*)
  31361. # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
  31362. # as there is no search path for DLLs.
  31363. hardcode_libdir_flag_spec_F77='-L$libdir'
  31364. export_dynamic_flag_spec_F77='$wl--export-all-symbols'
  31365. allow_undefined_flag_F77=unsupported
  31366. always_export_symbols_F77=no
  31367. enable_shared_with_static_runtimes_F77=yes
  31368. export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
  31369. exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
  31370. if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
  31371. archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  31372. # If the export-symbols file already is a .def file, use it as
  31373. # is; otherwise, prepend EXPORTS...
  31374. archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  31375. cp $export_symbols $output_objdir/$soname.def;
  31376. else
  31377. echo EXPORTS > $output_objdir/$soname.def;
  31378. cat $export_symbols >> $output_objdir/$soname.def;
  31379. fi~
  31380. $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  31381. else
  31382. ld_shlibs_F77=no
  31383. fi
  31384. ;;
  31385. haiku*)
  31386. archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31387. link_all_deplibs_F77=yes
  31388. ;;
  31389. os2*)
  31390. hardcode_libdir_flag_spec_F77='-L$libdir'
  31391. hardcode_minus_L_F77=yes
  31392. allow_undefined_flag_F77=unsupported
  31393. shrext_cmds=.dll
  31394. archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  31395. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  31396. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  31397. $ECHO EXPORTS >> $output_objdir/$libname.def~
  31398. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  31399. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  31400. emximp -o $lib $output_objdir/$libname.def'
  31401. archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  31402. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  31403. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  31404. $ECHO EXPORTS >> $output_objdir/$libname.def~
  31405. prefix_cmds="$SED"~
  31406. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  31407. prefix_cmds="$prefix_cmds -e 1d";
  31408. fi~
  31409. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  31410. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  31411. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  31412. emximp -o $lib $output_objdir/$libname.def'
  31413. old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  31414. enable_shared_with_static_runtimes_F77=yes
  31415. ;;
  31416. interix[3-9]*)
  31417. hardcode_direct_F77=no
  31418. hardcode_shlibpath_var_F77=no
  31419. hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir'
  31420. export_dynamic_flag_spec_F77='$wl-E'
  31421. # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
  31422. # Instead, shared libraries are loaded at an image base (0x10000000 by
  31423. # default) and relocated if they conflict, which is a slow very memory
  31424. # consuming and fragmenting process. To avoid this, we pick a random,
  31425. # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
  31426. # time. Moving up from 0x10000000 also allows more sbrk(2) space.
  31427. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  31428. archive_expsym_cmds_F77='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  31429. ;;
  31430. gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
  31431. tmp_diet=no
  31432. if test linux-dietlibc = "$host_os"; then
  31433. case $cc_basename in
  31434. diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
  31435. esac
  31436. fi
  31437. if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
  31438. && test no = "$tmp_diet"
  31439. then
  31440. tmp_addflag=' $pic_flag'
  31441. tmp_sharedflag='-shared'
  31442. case $cc_basename,$host_cpu in
  31443. pgcc*) # Portland Group C compiler
  31444. whole_archive_flag_spec_F77='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  31445. tmp_addflag=' $pic_flag'
  31446. ;;
  31447. pgf77* | pgf90* | pgf95* | pgfortran*)
  31448. # Portland Group f77 and f90 compilers
  31449. whole_archive_flag_spec_F77='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  31450. tmp_addflag=' $pic_flag -Mnomain' ;;
  31451. ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
  31452. tmp_addflag=' -i_dynamic' ;;
  31453. efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
  31454. tmp_addflag=' -i_dynamic -nofor_main' ;;
  31455. ifc* | ifort*) # Intel Fortran compiler
  31456. tmp_addflag=' -nofor_main' ;;
  31457. lf95*) # Lahey Fortran 8.1
  31458. whole_archive_flag_spec_F77=
  31459. tmp_sharedflag='--shared' ;;
  31460. nagfor*) # NAGFOR 5.3
  31461. tmp_sharedflag='-Wl,-shared' ;;
  31462. xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
  31463. tmp_sharedflag='-qmkshrobj'
  31464. tmp_addflag= ;;
  31465. nvcc*) # Cuda Compiler Driver 2.2
  31466. whole_archive_flag_spec_F77='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  31467. compiler_needs_object_F77=yes
  31468. ;;
  31469. esac
  31470. case `$CC -V 2>&1 | sed 5q` in
  31471. *Sun\ C*) # Sun C 5.9
  31472. whole_archive_flag_spec_F77='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  31473. compiler_needs_object_F77=yes
  31474. tmp_sharedflag='-G' ;;
  31475. *Sun\ F*) # Sun Fortran 8.3
  31476. tmp_sharedflag='-G' ;;
  31477. esac
  31478. archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31479. if test yes = "$supports_anon_versioning"; then
  31480. archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~
  31481. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  31482. echo "local: *; };" >> $output_objdir/$libname.ver~
  31483. $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
  31484. fi
  31485. case $cc_basename in
  31486. tcc*)
  31487. export_dynamic_flag_spec_F77='-rdynamic'
  31488. ;;
  31489. xlf* | bgf* | bgxlf* | mpixlf*)
  31490. # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
  31491. whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive'
  31492. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  31493. archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
  31494. if test yes = "$supports_anon_versioning"; then
  31495. archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~
  31496. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  31497. echo "local: *; };" >> $output_objdir/$libname.ver~
  31498. $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
  31499. fi
  31500. ;;
  31501. esac
  31502. else
  31503. ld_shlibs_F77=no
  31504. fi
  31505. ;;
  31506. netbsd*)
  31507. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  31508. archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  31509. wlarc=
  31510. else
  31511. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31512. archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  31513. fi
  31514. ;;
  31515. solaris*)
  31516. if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
  31517. ld_shlibs_F77=no
  31518. cat <<_LT_EOF 1>&2
  31519. *** Warning: The releases 2.8.* of the GNU linker cannot reliably
  31520. *** create shared libraries on Solaris systems. Therefore, libtool
  31521. *** is disabling shared libraries support. We urge you to upgrade GNU
  31522. *** binutils to release 2.9.1 or newer. Another option is to modify
  31523. *** your PATH or compiler configuration so that the native linker is
  31524. *** used, and then restart.
  31525. _LT_EOF
  31526. elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  31527. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31528. archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  31529. else
  31530. ld_shlibs_F77=no
  31531. fi
  31532. ;;
  31533. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
  31534. case `$LD -v 2>&1` in
  31535. *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
  31536. ld_shlibs_F77=no
  31537. cat <<_LT_EOF 1>&2
  31538. *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
  31539. *** reliably create shared libraries on SCO systems. Therefore, libtool
  31540. *** is disabling shared libraries support. We urge you to upgrade GNU
  31541. *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
  31542. *** your PATH or compiler configuration so that the native linker is
  31543. *** used, and then restart.
  31544. _LT_EOF
  31545. ;;
  31546. *)
  31547. # For security reasons, it is highly recommended that you always
  31548. # use absolute paths for naming shared libraries, and exclude the
  31549. # DT_RUNPATH tag from executables and libraries. But doing so
  31550. # requires that you compile everything twice, which is a pain.
  31551. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  31552. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  31553. archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31554. archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  31555. else
  31556. ld_shlibs_F77=no
  31557. fi
  31558. ;;
  31559. esac
  31560. ;;
  31561. sunos4*)
  31562. archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  31563. wlarc=
  31564. hardcode_direct_F77=yes
  31565. hardcode_shlibpath_var_F77=no
  31566. ;;
  31567. *)
  31568. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  31569. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31570. archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  31571. else
  31572. ld_shlibs_F77=no
  31573. fi
  31574. ;;
  31575. esac
  31576. if test no = "$ld_shlibs_F77"; then
  31577. runpath_var=
  31578. hardcode_libdir_flag_spec_F77=
  31579. export_dynamic_flag_spec_F77=
  31580. whole_archive_flag_spec_F77=
  31581. fi
  31582. else
  31583. # PORTME fill in a description of your system's linker (not GNU ld)
  31584. case $host_os in
  31585. aix3*)
  31586. allow_undefined_flag_F77=unsupported
  31587. always_export_symbols_F77=yes
  31588. archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
  31589. # Note: this linker hardcodes the directories in LIBPATH if there
  31590. # are no directories specified by -L.
  31591. hardcode_minus_L_F77=yes
  31592. if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
  31593. # Neither direct hardcoding nor static linking is supported with a
  31594. # broken collect2.
  31595. hardcode_direct_F77=unsupported
  31596. fi
  31597. ;;
  31598. aix[4-9]*)
  31599. if test ia64 = "$host_cpu"; then
  31600. # On IA64, the linker does run time linking by default, so we don't
  31601. # have to do anything special.
  31602. aix_use_runtimelinking=no
  31603. exp_sym_flag='-Bexport'
  31604. no_entry_flag=
  31605. else
  31606. # If we're using GNU nm, then we don't want the "-C" option.
  31607. # -C means demangle to GNU nm, but means don't demangle to AIX nm.
  31608. # Without the "-l" option, or with the "-B" option, AIX nm treats
  31609. # weak defined symbols like other global defined symbols, whereas
  31610. # GNU nm marks them as "W".
  31611. # While the 'weak' keyword is ignored in the Export File, we need
  31612. # it in the Import File for the 'aix-soname' feature, so we have
  31613. # to replace the "-B" option with "-P" for AIX nm.
  31614. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
  31615. export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
  31616. else
  31617. export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
  31618. fi
  31619. aix_use_runtimelinking=no
  31620. # Test if we are trying to use run time linking or normal
  31621. # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  31622. # have runtime linking enabled, and use it for executables.
  31623. # For shared libraries, we enable/disable runtime linking
  31624. # depending on the kind of the shared library created -
  31625. # when "with_aix_soname,aix_use_runtimelinking" is:
  31626. # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
  31627. # "aix,yes" lib.so shared, rtl:yes, for executables
  31628. # lib.a static archive
  31629. # "both,no" lib.so.V(shr.o) shared, rtl:yes
  31630. # lib.a(lib.so.V) shared, rtl:no, for executables
  31631. # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
  31632. # lib.a(lib.so.V) shared, rtl:no
  31633. # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
  31634. # lib.a static archive
  31635. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
  31636. for ld_flag in $LDFLAGS; do
  31637. if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
  31638. aix_use_runtimelinking=yes
  31639. break
  31640. fi
  31641. done
  31642. if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
  31643. # With aix-soname=svr4, we create the lib.so.V shared archives only,
  31644. # so we don't have lib.a shared libs to link our executables.
  31645. # We have to force runtime linking in this case.
  31646. aix_use_runtimelinking=yes
  31647. LDFLAGS="$LDFLAGS -Wl,-brtl"
  31648. fi
  31649. ;;
  31650. esac
  31651. exp_sym_flag='-bexport'
  31652. no_entry_flag='-bnoentry'
  31653. fi
  31654. # When large executables or shared objects are built, AIX ld can
  31655. # have problems creating the table of contents. If linking a library
  31656. # or program results in "error TOC overflow" add -mminimal-toc to
  31657. # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
  31658. # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
  31659. archive_cmds_F77=''
  31660. hardcode_direct_F77=yes
  31661. hardcode_direct_absolute_F77=yes
  31662. hardcode_libdir_separator_F77=':'
  31663. link_all_deplibs_F77=yes
  31664. file_list_spec_F77='$wl-f,'
  31665. case $with_aix_soname,$aix_use_runtimelinking in
  31666. aix,*) ;; # traditional, no import file
  31667. svr4,* | *,yes) # use import file
  31668. # The Import File defines what to hardcode.
  31669. hardcode_direct_F77=no
  31670. hardcode_direct_absolute_F77=no
  31671. ;;
  31672. esac
  31673. if test yes = "$GCC"; then
  31674. case $host_os in aix4.[012]|aix4.[012].*)
  31675. # We only want to do this on AIX 4.2 and lower, the check
  31676. # below for broken collect2 doesn't work under 4.3+
  31677. collect2name=`$CC -print-prog-name=collect2`
  31678. if test -f "$collect2name" &&
  31679. strings "$collect2name" | $GREP resolve_lib_name >/dev/null
  31680. then
  31681. # We have reworked collect2
  31682. :
  31683. else
  31684. # We have old collect2
  31685. hardcode_direct_F77=unsupported
  31686. # It fails to find uninstalled libraries when the uninstalled
  31687. # path is not listed in the libpath. Setting hardcode_minus_L
  31688. # to unsupported forces relinking
  31689. hardcode_minus_L_F77=yes
  31690. hardcode_libdir_flag_spec_F77='-L$libdir'
  31691. hardcode_libdir_separator_F77=
  31692. fi
  31693. ;;
  31694. esac
  31695. shared_flag='-shared'
  31696. if test yes = "$aix_use_runtimelinking"; then
  31697. shared_flag="$shared_flag "'$wl-G'
  31698. fi
  31699. # Need to ensure runtime linking is disabled for the traditional
  31700. # shared library, or the linker may eventually find shared libraries
  31701. # /with/ Import File - we do not want to mix them.
  31702. shared_flag_aix='-shared'
  31703. shared_flag_svr4='-shared $wl-G'
  31704. else
  31705. # not using gcc
  31706. if test ia64 = "$host_cpu"; then
  31707. # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
  31708. # chokes on -Wl,-G. The following line is correct:
  31709. shared_flag='-G'
  31710. else
  31711. if test yes = "$aix_use_runtimelinking"; then
  31712. shared_flag='$wl-G'
  31713. else
  31714. shared_flag='$wl-bM:SRE'
  31715. fi
  31716. shared_flag_aix='$wl-bM:SRE'
  31717. shared_flag_svr4='$wl-G'
  31718. fi
  31719. fi
  31720. export_dynamic_flag_spec_F77='$wl-bexpall'
  31721. # It seems that -bexpall does not export symbols beginning with
  31722. # underscore (_), so it is better to generate a list of symbols to export.
  31723. always_export_symbols_F77=yes
  31724. if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
  31725. # Warning - without using the other runtime loading flags (-brtl),
  31726. # -berok will link without error, but may produce a broken library.
  31727. allow_undefined_flag_F77='-berok'
  31728. # Determine the default libpath from the value encoded in an
  31729. # empty executable.
  31730. if test set = "${lt_cv_aix_libpath+set}"; then
  31731. aix_libpath=$lt_cv_aix_libpath
  31732. else
  31733. if ${lt_cv_aix_libpath__F77+:} false; then :
  31734. $as_echo_n "(cached) " >&6
  31735. else
  31736. cat > conftest.$ac_ext <<_ACEOF
  31737. program main
  31738. end
  31739. _ACEOF
  31740. if ac_fn_f77_try_link "$LINENO"; then :
  31741. lt_aix_libpath_sed='
  31742. /Import File Strings/,/^$/ {
  31743. /^0/ {
  31744. s/^0 *\([^ ]*\) *$/\1/
  31745. p
  31746. }
  31747. }'
  31748. lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  31749. # Check for a 64-bit object if we didn't find anything.
  31750. if test -z "$lt_cv_aix_libpath__F77"; then
  31751. lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  31752. fi
  31753. fi
  31754. rm -f core conftest.err conftest.$ac_objext \
  31755. conftest$ac_exeext conftest.$ac_ext
  31756. if test -z "$lt_cv_aix_libpath__F77"; then
  31757. lt_cv_aix_libpath__F77=/usr/lib:/lib
  31758. fi
  31759. fi
  31760. aix_libpath=$lt_cv_aix_libpath__F77
  31761. fi
  31762. hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath"
  31763. archive_expsym_cmds_F77='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
  31764. else
  31765. if test ia64 = "$host_cpu"; then
  31766. hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib'
  31767. allow_undefined_flag_F77="-z nodefs"
  31768. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
  31769. else
  31770. # Determine the default libpath from the value encoded in an
  31771. # empty executable.
  31772. if test set = "${lt_cv_aix_libpath+set}"; then
  31773. aix_libpath=$lt_cv_aix_libpath
  31774. else
  31775. if ${lt_cv_aix_libpath__F77+:} false; then :
  31776. $as_echo_n "(cached) " >&6
  31777. else
  31778. cat > conftest.$ac_ext <<_ACEOF
  31779. program main
  31780. end
  31781. _ACEOF
  31782. if ac_fn_f77_try_link "$LINENO"; then :
  31783. lt_aix_libpath_sed='
  31784. /Import File Strings/,/^$/ {
  31785. /^0/ {
  31786. s/^0 *\([^ ]*\) *$/\1/
  31787. p
  31788. }
  31789. }'
  31790. lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  31791. # Check for a 64-bit object if we didn't find anything.
  31792. if test -z "$lt_cv_aix_libpath__F77"; then
  31793. lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  31794. fi
  31795. fi
  31796. rm -f core conftest.err conftest.$ac_objext \
  31797. conftest$ac_exeext conftest.$ac_ext
  31798. if test -z "$lt_cv_aix_libpath__F77"; then
  31799. lt_cv_aix_libpath__F77=/usr/lib:/lib
  31800. fi
  31801. fi
  31802. aix_libpath=$lt_cv_aix_libpath__F77
  31803. fi
  31804. hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath"
  31805. # Warning - without using the other run time loading flags,
  31806. # -berok will link without error, but may produce a broken library.
  31807. no_undefined_flag_F77=' $wl-bernotok'
  31808. allow_undefined_flag_F77=' $wl-berok'
  31809. if test yes = "$with_gnu_ld"; then
  31810. # We only use this code for GNU lds that support --whole-archive.
  31811. whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive'
  31812. else
  31813. # Exported symbols can be pulled into shared objects from archives
  31814. whole_archive_flag_spec_F77='$convenience'
  31815. fi
  31816. archive_cmds_need_lc_F77=yes
  31817. archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
  31818. # -brtl affects multiple linker settings, -berok does not and is overridden later
  31819. compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
  31820. if test svr4 != "$with_aix_soname"; then
  31821. # This is similar to how AIX traditionally builds its shared libraries.
  31822. archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
  31823. fi
  31824. if test aix != "$with_aix_soname"; then
  31825. archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
  31826. else
  31827. # used by -dlpreopen to get the symbols
  31828. archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
  31829. fi
  31830. archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d'
  31831. fi
  31832. fi
  31833. ;;
  31834. amigaos*)
  31835. case $host_cpu in
  31836. powerpc)
  31837. # see comment about AmigaOS4 .so support
  31838. archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  31839. archive_expsym_cmds_F77=''
  31840. ;;
  31841. m68k)
  31842. archive_cmds_F77='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
  31843. hardcode_libdir_flag_spec_F77='-L$libdir'
  31844. hardcode_minus_L_F77=yes
  31845. ;;
  31846. esac
  31847. ;;
  31848. bsdi[45]*)
  31849. export_dynamic_flag_spec_F77=-rdynamic
  31850. ;;
  31851. cygwin* | mingw* | pw32* | cegcc*)
  31852. # When not using gcc, we currently assume that we are using
  31853. # Microsoft Visual C++.
  31854. # hardcode_libdir_flag_spec is actually meaningless, as there is
  31855. # no search path for DLLs.
  31856. case $cc_basename in
  31857. cl*)
  31858. # Native MSVC
  31859. hardcode_libdir_flag_spec_F77=' '
  31860. allow_undefined_flag_F77=unsupported
  31861. always_export_symbols_F77=yes
  31862. file_list_spec_F77='@'
  31863. # Tell ltmain to make .lib files, not .a files.
  31864. libext=lib
  31865. # Tell ltmain to make .dll files, not .so files.
  31866. shrext_cmds=.dll
  31867. # FIXME: Setting linknames here is a bad hack.
  31868. archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
  31869. archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  31870. cp "$export_symbols" "$output_objdir/$soname.def";
  31871. echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
  31872. else
  31873. $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
  31874. fi~
  31875. $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
  31876. linknames='
  31877. # The linker will not automatically build a static lib if we build a DLL.
  31878. # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true'
  31879. enable_shared_with_static_runtimes_F77=yes
  31880. exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
  31881. export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
  31882. # Don't use ranlib
  31883. old_postinstall_cmds_F77='chmod 644 $oldlib'
  31884. postlink_cmds_F77='lt_outputfile="@OUTPUT@"~
  31885. lt_tool_outputfile="@TOOL_OUTPUT@"~
  31886. case $lt_outputfile in
  31887. *.exe|*.EXE) ;;
  31888. *)
  31889. lt_outputfile=$lt_outputfile.exe
  31890. lt_tool_outputfile=$lt_tool_outputfile.exe
  31891. ;;
  31892. esac~
  31893. if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
  31894. $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
  31895. $RM "$lt_outputfile.manifest";
  31896. fi'
  31897. ;;
  31898. *)
  31899. # Assume MSVC wrapper
  31900. hardcode_libdir_flag_spec_F77=' '
  31901. allow_undefined_flag_F77=unsupported
  31902. # Tell ltmain to make .lib files, not .a files.
  31903. libext=lib
  31904. # Tell ltmain to make .dll files, not .so files.
  31905. shrext_cmds=.dll
  31906. # FIXME: Setting linknames here is a bad hack.
  31907. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
  31908. # The linker will automatically build a .lib file if we build a DLL.
  31909. old_archive_from_new_cmds_F77='true'
  31910. # FIXME: Should let the user specify the lib program.
  31911. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
  31912. enable_shared_with_static_runtimes_F77=yes
  31913. ;;
  31914. esac
  31915. ;;
  31916. darwin* | rhapsody*)
  31917. archive_cmds_need_lc_F77=no
  31918. hardcode_direct_F77=no
  31919. hardcode_automatic_F77=yes
  31920. hardcode_shlibpath_var_F77=unsupported
  31921. if test yes = "$lt_cv_ld_force_load"; then
  31922. whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
  31923. compiler_needs_object_F77=yes
  31924. else
  31925. whole_archive_flag_spec_F77=''
  31926. fi
  31927. link_all_deplibs_F77=yes
  31928. allow_undefined_flag_F77=$_lt_dar_allow_undefined
  31929. case $cc_basename in
  31930. ifort*|nagfor*) _lt_dar_can_shared=yes ;;
  31931. *) _lt_dar_can_shared=$GCC ;;
  31932. esac
  31933. if test yes = "$_lt_dar_can_shared"; then
  31934. output_verbose_link_cmd=func_echo_all
  31935. archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
  31936. module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
  31937. archive_expsym_cmds_F77="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
  31938. module_expsym_cmds_F77="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
  31939. else
  31940. ld_shlibs_F77=no
  31941. fi
  31942. ;;
  31943. dgux*)
  31944. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  31945. hardcode_libdir_flag_spec_F77='-L$libdir'
  31946. hardcode_shlibpath_var_F77=no
  31947. ;;
  31948. # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
  31949. # support. Future versions do this automatically, but an explicit c++rt0.o
  31950. # does not break anything, and helps significantly (at the cost of a little
  31951. # extra space).
  31952. freebsd2.2*)
  31953. archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
  31954. hardcode_libdir_flag_spec_F77='-R$libdir'
  31955. hardcode_direct_F77=yes
  31956. hardcode_shlibpath_var_F77=no
  31957. ;;
  31958. # Unfortunately, older versions of FreeBSD 2 do not have this feature.
  31959. freebsd2.*)
  31960. archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  31961. hardcode_direct_F77=yes
  31962. hardcode_minus_L_F77=yes
  31963. hardcode_shlibpath_var_F77=no
  31964. ;;
  31965. # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
  31966. freebsd* | dragonfly*)
  31967. archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  31968. hardcode_libdir_flag_spec_F77='-R$libdir'
  31969. hardcode_direct_F77=yes
  31970. hardcode_shlibpath_var_F77=no
  31971. ;;
  31972. hpux9*)
  31973. if test yes = "$GCC"; then
  31974. archive_cmds_F77='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  31975. else
  31976. archive_cmds_F77='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  31977. fi
  31978. hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir'
  31979. hardcode_libdir_separator_F77=:
  31980. hardcode_direct_F77=yes
  31981. # hardcode_minus_L: Not really in the search PATH,
  31982. # but as the default location of the library.
  31983. hardcode_minus_L_F77=yes
  31984. export_dynamic_flag_spec_F77='$wl-E'
  31985. ;;
  31986. hpux10*)
  31987. if test yes,no = "$GCC,$with_gnu_ld"; then
  31988. archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  31989. else
  31990. archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
  31991. fi
  31992. if test no = "$with_gnu_ld"; then
  31993. hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir'
  31994. hardcode_libdir_separator_F77=:
  31995. hardcode_direct_F77=yes
  31996. hardcode_direct_absolute_F77=yes
  31997. export_dynamic_flag_spec_F77='$wl-E'
  31998. # hardcode_minus_L: Not really in the search PATH,
  31999. # but as the default location of the library.
  32000. hardcode_minus_L_F77=yes
  32001. fi
  32002. ;;
  32003. hpux11*)
  32004. if test yes,no = "$GCC,$with_gnu_ld"; then
  32005. case $host_cpu in
  32006. hppa*64*)
  32007. archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  32008. ;;
  32009. ia64*)
  32010. archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  32011. ;;
  32012. *)
  32013. archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  32014. ;;
  32015. esac
  32016. else
  32017. case $host_cpu in
  32018. hppa*64*)
  32019. archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  32020. ;;
  32021. ia64*)
  32022. archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  32023. ;;
  32024. *)
  32025. archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  32026. ;;
  32027. esac
  32028. fi
  32029. if test no = "$with_gnu_ld"; then
  32030. hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir'
  32031. hardcode_libdir_separator_F77=:
  32032. case $host_cpu in
  32033. hppa*64*|ia64*)
  32034. hardcode_direct_F77=no
  32035. hardcode_shlibpath_var_F77=no
  32036. ;;
  32037. *)
  32038. hardcode_direct_F77=yes
  32039. hardcode_direct_absolute_F77=yes
  32040. export_dynamic_flag_spec_F77='$wl-E'
  32041. # hardcode_minus_L: Not really in the search PATH,
  32042. # but as the default location of the library.
  32043. hardcode_minus_L_F77=yes
  32044. ;;
  32045. esac
  32046. fi
  32047. ;;
  32048. irix5* | irix6* | nonstopux*)
  32049. if test yes = "$GCC"; then
  32050. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  32051. # Try to use the -exported_symbol ld option, if it does not
  32052. # work, assume that -exports_file does not work either and
  32053. # implicitly export all symbols.
  32054. # This should be the same for all languages, so no per-tag cache variable.
  32055. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
  32056. $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
  32057. if ${lt_cv_irix_exported_symbol+:} false; then :
  32058. $as_echo_n "(cached) " >&6
  32059. else
  32060. save_LDFLAGS=$LDFLAGS
  32061. LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
  32062. cat > conftest.$ac_ext <<_ACEOF
  32063. subroutine foo
  32064. end
  32065. _ACEOF
  32066. if ac_fn_f77_try_link "$LINENO"; then :
  32067. lt_cv_irix_exported_symbol=yes
  32068. else
  32069. lt_cv_irix_exported_symbol=no
  32070. fi
  32071. rm -f core conftest.err conftest.$ac_objext \
  32072. conftest$ac_exeext conftest.$ac_ext
  32073. LDFLAGS=$save_LDFLAGS
  32074. fi
  32075. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
  32076. $as_echo "$lt_cv_irix_exported_symbol" >&6; }
  32077. if test yes = "$lt_cv_irix_exported_symbol"; then
  32078. archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
  32079. fi
  32080. else
  32081. archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  32082. archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
  32083. fi
  32084. archive_cmds_need_lc_F77='no'
  32085. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  32086. hardcode_libdir_separator_F77=:
  32087. inherit_rpath_F77=yes
  32088. link_all_deplibs_F77=yes
  32089. ;;
  32090. linux*)
  32091. case $cc_basename in
  32092. tcc*)
  32093. # Fabrice Bellard et al's Tiny C Compiler
  32094. ld_shlibs_F77=yes
  32095. archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  32096. ;;
  32097. esac
  32098. ;;
  32099. netbsd*)
  32100. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  32101. archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
  32102. else
  32103. archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
  32104. fi
  32105. hardcode_libdir_flag_spec_F77='-R$libdir'
  32106. hardcode_direct_F77=yes
  32107. hardcode_shlibpath_var_F77=no
  32108. ;;
  32109. newsos6)
  32110. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32111. hardcode_direct_F77=yes
  32112. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  32113. hardcode_libdir_separator_F77=:
  32114. hardcode_shlibpath_var_F77=no
  32115. ;;
  32116. *nto* | *qnx*)
  32117. ;;
  32118. openbsd* | bitrig*)
  32119. if test -f /usr/libexec/ld.so; then
  32120. hardcode_direct_F77=yes
  32121. hardcode_shlibpath_var_F77=no
  32122. hardcode_direct_absolute_F77=yes
  32123. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  32124. archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  32125. archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
  32126. hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir'
  32127. export_dynamic_flag_spec_F77='$wl-E'
  32128. else
  32129. archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  32130. hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir'
  32131. fi
  32132. else
  32133. ld_shlibs_F77=no
  32134. fi
  32135. ;;
  32136. os2*)
  32137. hardcode_libdir_flag_spec_F77='-L$libdir'
  32138. hardcode_minus_L_F77=yes
  32139. allow_undefined_flag_F77=unsupported
  32140. shrext_cmds=.dll
  32141. archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  32142. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  32143. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  32144. $ECHO EXPORTS >> $output_objdir/$libname.def~
  32145. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  32146. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  32147. emximp -o $lib $output_objdir/$libname.def'
  32148. archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  32149. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  32150. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  32151. $ECHO EXPORTS >> $output_objdir/$libname.def~
  32152. prefix_cmds="$SED"~
  32153. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  32154. prefix_cmds="$prefix_cmds -e 1d";
  32155. fi~
  32156. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  32157. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  32158. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  32159. emximp -o $lib $output_objdir/$libname.def'
  32160. old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  32161. enable_shared_with_static_runtimes_F77=yes
  32162. ;;
  32163. osf3*)
  32164. if test yes = "$GCC"; then
  32165. allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*'
  32166. archive_cmds_F77='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  32167. else
  32168. allow_undefined_flag_F77=' -expect_unresolved \*'
  32169. archive_cmds_F77='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  32170. fi
  32171. archive_cmds_need_lc_F77='no'
  32172. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  32173. hardcode_libdir_separator_F77=:
  32174. ;;
  32175. osf4* | osf5*) # as osf3* with the addition of -msym flag
  32176. if test yes = "$GCC"; then
  32177. allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*'
  32178. archive_cmds_F77='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  32179. hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir'
  32180. else
  32181. allow_undefined_flag_F77=' -expect_unresolved \*'
  32182. archive_cmds_F77='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  32183. archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
  32184. $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
  32185. # Both c and cxx compiler support -rpath directly
  32186. hardcode_libdir_flag_spec_F77='-rpath $libdir'
  32187. fi
  32188. archive_cmds_need_lc_F77='no'
  32189. hardcode_libdir_separator_F77=:
  32190. ;;
  32191. solaris*)
  32192. no_undefined_flag_F77=' -z defs'
  32193. if test yes = "$GCC"; then
  32194. wlarc='$wl'
  32195. archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  32196. archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  32197. $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  32198. else
  32199. case `$CC -V 2>&1` in
  32200. *"Compilers 5.0"*)
  32201. wlarc=''
  32202. archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32203. archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  32204. $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
  32205. ;;
  32206. *)
  32207. wlarc='$wl'
  32208. archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
  32209. archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  32210. $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  32211. ;;
  32212. esac
  32213. fi
  32214. hardcode_libdir_flag_spec_F77='-R$libdir'
  32215. hardcode_shlibpath_var_F77=no
  32216. case $host_os in
  32217. solaris2.[0-5] | solaris2.[0-5].*) ;;
  32218. *)
  32219. # The compiler driver will combine and reorder linker options,
  32220. # but understands '-z linker_flag'. GCC discards it without '$wl',
  32221. # but is careful enough not to reorder.
  32222. # Supported since Solaris 2.6 (maybe 2.5.1?)
  32223. if test yes = "$GCC"; then
  32224. whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
  32225. else
  32226. whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
  32227. fi
  32228. ;;
  32229. esac
  32230. link_all_deplibs_F77=yes
  32231. ;;
  32232. sunos4*)
  32233. if test sequent = "$host_vendor"; then
  32234. # Use $CC to link under sequent, because it throws in some extra .o
  32235. # files that make .init and .fini sections work.
  32236. archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
  32237. else
  32238. archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
  32239. fi
  32240. hardcode_libdir_flag_spec_F77='-L$libdir'
  32241. hardcode_direct_F77=yes
  32242. hardcode_minus_L_F77=yes
  32243. hardcode_shlibpath_var_F77=no
  32244. ;;
  32245. sysv4)
  32246. case $host_vendor in
  32247. sni)
  32248. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32249. hardcode_direct_F77=yes # is this really true???
  32250. ;;
  32251. siemens)
  32252. ## LD is ld it makes a PLAMLIB
  32253. ## CC just makes a GrossModule.
  32254. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
  32255. reload_cmds_F77='$CC -r -o $output$reload_objs'
  32256. hardcode_direct_F77=no
  32257. ;;
  32258. motorola)
  32259. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32260. hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
  32261. ;;
  32262. esac
  32263. runpath_var='LD_RUN_PATH'
  32264. hardcode_shlibpath_var_F77=no
  32265. ;;
  32266. sysv4.3*)
  32267. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32268. hardcode_shlibpath_var_F77=no
  32269. export_dynamic_flag_spec_F77='-Bexport'
  32270. ;;
  32271. sysv4*MP*)
  32272. if test -d /usr/nec; then
  32273. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32274. hardcode_shlibpath_var_F77=no
  32275. runpath_var=LD_RUN_PATH
  32276. hardcode_runpath_var=yes
  32277. ld_shlibs_F77=yes
  32278. fi
  32279. ;;
  32280. sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
  32281. no_undefined_flag_F77='$wl-z,text'
  32282. archive_cmds_need_lc_F77=no
  32283. hardcode_shlibpath_var_F77=no
  32284. runpath_var='LD_RUN_PATH'
  32285. if test yes = "$GCC"; then
  32286. archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32287. archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32288. else
  32289. archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32290. archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32291. fi
  32292. ;;
  32293. sysv5* | sco3.2v5* | sco5v6*)
  32294. # Note: We CANNOT use -z defs as we might desire, because we do not
  32295. # link with -lc, and that would cause any symbols used from libc to
  32296. # always be unresolved, which means just about no library would
  32297. # ever link correctly. If we're not using GNU ld we use -z text
  32298. # though, which does catch some bad symbols but isn't as heavy-handed
  32299. # as -z defs.
  32300. no_undefined_flag_F77='$wl-z,text'
  32301. allow_undefined_flag_F77='$wl-z,nodefs'
  32302. archive_cmds_need_lc_F77=no
  32303. hardcode_shlibpath_var_F77=no
  32304. hardcode_libdir_flag_spec_F77='$wl-R,$libdir'
  32305. hardcode_libdir_separator_F77=':'
  32306. link_all_deplibs_F77=yes
  32307. export_dynamic_flag_spec_F77='$wl-Bexport'
  32308. runpath_var='LD_RUN_PATH'
  32309. if test yes = "$GCC"; then
  32310. archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32311. archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32312. else
  32313. archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32314. archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  32315. fi
  32316. ;;
  32317. uts4*)
  32318. archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  32319. hardcode_libdir_flag_spec_F77='-L$libdir'
  32320. hardcode_shlibpath_var_F77=no
  32321. ;;
  32322. *)
  32323. ld_shlibs_F77=no
  32324. ;;
  32325. esac
  32326. if test sni = "$host_vendor"; then
  32327. case $host in
  32328. sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  32329. export_dynamic_flag_spec_F77='$wl-Blargedynsym'
  32330. ;;
  32331. esac
  32332. fi
  32333. fi
  32334. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5
  32335. $as_echo "$ld_shlibs_F77" >&6; }
  32336. test no = "$ld_shlibs_F77" && can_build_shared=no
  32337. with_gnu_ld_F77=$with_gnu_ld
  32338. #
  32339. # Do we need to explicitly link libc?
  32340. #
  32341. case "x$archive_cmds_need_lc_F77" in
  32342. x|xyes)
  32343. # Assume -lc should be added
  32344. archive_cmds_need_lc_F77=yes
  32345. if test yes,yes = "$GCC,$enable_shared"; then
  32346. case $archive_cmds_F77 in
  32347. *'~'*)
  32348. # FIXME: we may have to deal with multi-command sequences.
  32349. ;;
  32350. '$CC '*)
  32351. # Test whether the compiler implicitly links with -lc since on some
  32352. # systems, -lgcc has to come before -lc. If gcc already passes -lc
  32353. # to ld, don't add -lc before -lgcc.
  32354. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
  32355. $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
  32356. if ${lt_cv_archive_cmds_need_lc_F77+:} false; then :
  32357. $as_echo_n "(cached) " >&6
  32358. else
  32359. $RM conftest*
  32360. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  32361. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  32362. (eval $ac_compile) 2>&5
  32363. ac_status=$?
  32364. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  32365. test $ac_status = 0; } 2>conftest.err; then
  32366. soname=conftest
  32367. lib=conftest
  32368. libobjs=conftest.$ac_objext
  32369. deplibs=
  32370. wl=$lt_prog_compiler_wl_F77
  32371. pic_flag=$lt_prog_compiler_pic_F77
  32372. compiler_flags=-v
  32373. linker_flags=-v
  32374. verstring=
  32375. output_objdir=.
  32376. libname=conftest
  32377. lt_save_allow_undefined_flag=$allow_undefined_flag_F77
  32378. allow_undefined_flag_F77=
  32379. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
  32380. (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
  32381. ac_status=$?
  32382. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  32383. test $ac_status = 0; }
  32384. then
  32385. lt_cv_archive_cmds_need_lc_F77=no
  32386. else
  32387. lt_cv_archive_cmds_need_lc_F77=yes
  32388. fi
  32389. allow_undefined_flag_F77=$lt_save_allow_undefined_flag
  32390. else
  32391. cat conftest.err 1>&5
  32392. fi
  32393. $RM conftest*
  32394. fi
  32395. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5
  32396. $as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; }
  32397. archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77
  32398. ;;
  32399. esac
  32400. fi
  32401. ;;
  32402. esac
  32403. { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
  32404. $as_echo_n "checking dynamic linker characteristics... " >&6; }
  32405. library_names_spec=
  32406. libname_spec='lib$name'
  32407. soname_spec=
  32408. shrext_cmds=.so
  32409. postinstall_cmds=
  32410. postuninstall_cmds=
  32411. finish_cmds=
  32412. finish_eval=
  32413. shlibpath_var=
  32414. shlibpath_overrides_runpath=unknown
  32415. version_type=none
  32416. dynamic_linker="$host_os ld.so"
  32417. sys_lib_dlsearch_path_spec="/lib /usr/lib"
  32418. need_lib_prefix=unknown
  32419. hardcode_into_libs=no
  32420. # when you set need_version to no, make sure it does not cause -set_version
  32421. # flags to be left without arguments
  32422. need_version=unknown
  32423. case $host_os in
  32424. aix3*)
  32425. version_type=linux # correct to gnu/linux during the next big refactor
  32426. library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
  32427. shlibpath_var=LIBPATH
  32428. # AIX 3 has no versioning support, so we append a major version to the name.
  32429. soname_spec='$libname$release$shared_ext$major'
  32430. ;;
  32431. aix[4-9]*)
  32432. version_type=linux # correct to gnu/linux during the next big refactor
  32433. need_lib_prefix=no
  32434. need_version=no
  32435. hardcode_into_libs=yes
  32436. if test ia64 = "$host_cpu"; then
  32437. # AIX 5 supports IA64
  32438. library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
  32439. shlibpath_var=LD_LIBRARY_PATH
  32440. else
  32441. # With GCC up to 2.95.x, collect2 would create an import file
  32442. # for dependence libraries. The import file would start with
  32443. # the line '#! .'. This would cause the generated library to
  32444. # depend on '.', always an invalid library. This was fixed in
  32445. # development snapshots of GCC prior to 3.0.
  32446. case $host_os in
  32447. aix4 | aix4.[01] | aix4.[01].*)
  32448. if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
  32449. echo ' yes '
  32450. echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
  32451. :
  32452. else
  32453. can_build_shared=no
  32454. fi
  32455. ;;
  32456. esac
  32457. # Using Import Files as archive members, it is possible to support
  32458. # filename-based versioning of shared library archives on AIX. While
  32459. # this would work for both with and without runtime linking, it will
  32460. # prevent static linking of such archives. So we do filename-based
  32461. # shared library versioning with .so extension only, which is used
  32462. # when both runtime linking and shared linking is enabled.
  32463. # Unfortunately, runtime linking may impact performance, so we do
  32464. # not want this to be the default eventually. Also, we use the
  32465. # versioned .so libs for executables only if there is the -brtl
  32466. # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
  32467. # To allow for filename-based versioning support, we need to create
  32468. # libNAME.so.V as an archive file, containing:
  32469. # *) an Import File, referring to the versioned filename of the
  32470. # archive as well as the shared archive member, telling the
  32471. # bitwidth (32 or 64) of that shared object, and providing the
  32472. # list of exported symbols of that shared object, eventually
  32473. # decorated with the 'weak' keyword
  32474. # *) the shared object with the F_LOADONLY flag set, to really avoid
  32475. # it being seen by the linker.
  32476. # At run time we better use the real file rather than another symlink,
  32477. # but for link time we create the symlink libNAME.so -> libNAME.so.V
  32478. case $with_aix_soname,$aix_use_runtimelinking in
  32479. # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
  32480. # soname into executable. Probably we can add versioning support to
  32481. # collect2, so additional links can be useful in future.
  32482. aix,yes) # traditional libtool
  32483. dynamic_linker='AIX unversionable lib.so'
  32484. # If using run time linking (on AIX 4.2 or later) use lib<name>.so
  32485. # instead of lib<name>.a to let people know that these are not
  32486. # typical AIX shared libraries.
  32487. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32488. ;;
  32489. aix,no) # traditional AIX only
  32490. dynamic_linker='AIX lib.a(lib.so.V)'
  32491. # We preserve .a as extension for shared libraries through AIX4.2
  32492. # and later when we are not doing run time linking.
  32493. library_names_spec='$libname$release.a $libname.a'
  32494. soname_spec='$libname$release$shared_ext$major'
  32495. ;;
  32496. svr4,*) # full svr4 only
  32497. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
  32498. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  32499. # We do not specify a path in Import Files, so LIBPATH fires.
  32500. shlibpath_overrides_runpath=yes
  32501. ;;
  32502. *,yes) # both, prefer svr4
  32503. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
  32504. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  32505. # unpreferred sharedlib libNAME.a needs extra handling
  32506. postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
  32507. postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
  32508. # We do not specify a path in Import Files, so LIBPATH fires.
  32509. shlibpath_overrides_runpath=yes
  32510. ;;
  32511. *,no) # both, prefer aix
  32512. dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
  32513. library_names_spec='$libname$release.a $libname.a'
  32514. soname_spec='$libname$release$shared_ext$major'
  32515. # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
  32516. postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
  32517. postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
  32518. ;;
  32519. esac
  32520. shlibpath_var=LIBPATH
  32521. fi
  32522. ;;
  32523. amigaos*)
  32524. case $host_cpu in
  32525. powerpc)
  32526. # Since July 2007 AmigaOS4 officially supports .so libraries.
  32527. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
  32528. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32529. ;;
  32530. m68k)
  32531. library_names_spec='$libname.ixlibrary $libname.a'
  32532. # Create ${libname}_ixlibrary.a entries in /sys/libs.
  32533. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
  32534. ;;
  32535. esac
  32536. ;;
  32537. beos*)
  32538. library_names_spec='$libname$shared_ext'
  32539. dynamic_linker="$host_os ld.so"
  32540. shlibpath_var=LIBRARY_PATH
  32541. ;;
  32542. bsdi[45]*)
  32543. version_type=linux # correct to gnu/linux during the next big refactor
  32544. need_version=no
  32545. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32546. soname_spec='$libname$release$shared_ext$major'
  32547. finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
  32548. shlibpath_var=LD_LIBRARY_PATH
  32549. sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
  32550. sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
  32551. # the default ld.so.conf also contains /usr/contrib/lib and
  32552. # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
  32553. # libtool to hard-code these into programs
  32554. ;;
  32555. cygwin* | mingw* | pw32* | cegcc*)
  32556. version_type=windows
  32557. shrext_cmds=.dll
  32558. need_version=no
  32559. need_lib_prefix=no
  32560. case $GCC,$cc_basename in
  32561. yes,*)
  32562. # gcc
  32563. library_names_spec='$libname.dll.a'
  32564. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  32565. postinstall_cmds='base_file=`basename \$file`~
  32566. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  32567. dldir=$destdir/`dirname \$dlpath`~
  32568. test -d \$dldir || mkdir -p \$dldir~
  32569. $install_prog $dir/$dlname \$dldir/$dlname~
  32570. chmod a+x \$dldir/$dlname~
  32571. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  32572. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  32573. fi'
  32574. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  32575. dlpath=$dir/\$dldll~
  32576. $RM \$dlpath'
  32577. shlibpath_overrides_runpath=yes
  32578. case $host_os in
  32579. cygwin*)
  32580. # Cygwin DLLs use 'cyg' prefix rather than 'lib'
  32581. soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  32582. ;;
  32583. mingw* | cegcc*)
  32584. # MinGW DLLs use traditional 'lib' prefix
  32585. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  32586. ;;
  32587. pw32*)
  32588. # pw32 DLLs use 'pw' prefix rather than 'lib'
  32589. library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  32590. ;;
  32591. esac
  32592. dynamic_linker='Win32 ld.exe'
  32593. ;;
  32594. *,cl*)
  32595. # Native MSVC
  32596. libname_spec='$name'
  32597. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  32598. library_names_spec='$libname.dll.lib'
  32599. case $build_os in
  32600. mingw*)
  32601. sys_lib_search_path_spec=
  32602. lt_save_ifs=$IFS
  32603. IFS=';'
  32604. for lt_path in $LIB
  32605. do
  32606. IFS=$lt_save_ifs
  32607. # Let DOS variable expansion print the short 8.3 style file name.
  32608. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
  32609. sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
  32610. done
  32611. IFS=$lt_save_ifs
  32612. # Convert to MSYS style.
  32613. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
  32614. ;;
  32615. cygwin*)
  32616. # Convert to unix form, then to dos form, then back to unix form
  32617. # but this time dos style (no spaces!) so that the unix form looks
  32618. # like /cygdrive/c/PROGRA~1:/cygdr...
  32619. sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
  32620. sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
  32621. sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  32622. ;;
  32623. *)
  32624. sys_lib_search_path_spec=$LIB
  32625. if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
  32626. # It is most probably a Windows format PATH.
  32627. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
  32628. else
  32629. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  32630. fi
  32631. # FIXME: find the short name or the path components, as spaces are
  32632. # common. (e.g. "Program Files" -> "PROGRA~1")
  32633. ;;
  32634. esac
  32635. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  32636. postinstall_cmds='base_file=`basename \$file`~
  32637. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  32638. dldir=$destdir/`dirname \$dlpath`~
  32639. test -d \$dldir || mkdir -p \$dldir~
  32640. $install_prog $dir/$dlname \$dldir/$dlname'
  32641. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  32642. dlpath=$dir/\$dldll~
  32643. $RM \$dlpath'
  32644. shlibpath_overrides_runpath=yes
  32645. dynamic_linker='Win32 link.exe'
  32646. ;;
  32647. *)
  32648. # Assume MSVC wrapper
  32649. library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
  32650. dynamic_linker='Win32 ld.exe'
  32651. ;;
  32652. esac
  32653. # FIXME: first we should search . and the directory the executable is in
  32654. shlibpath_var=PATH
  32655. ;;
  32656. darwin* | rhapsody*)
  32657. dynamic_linker="$host_os dyld"
  32658. version_type=darwin
  32659. need_lib_prefix=no
  32660. need_version=no
  32661. library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
  32662. soname_spec='$libname$release$major$shared_ext'
  32663. shlibpath_overrides_runpath=yes
  32664. shlibpath_var=DYLD_LIBRARY_PATH
  32665. shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
  32666. sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
  32667. ;;
  32668. dgux*)
  32669. version_type=linux # correct to gnu/linux during the next big refactor
  32670. need_lib_prefix=no
  32671. need_version=no
  32672. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32673. soname_spec='$libname$release$shared_ext$major'
  32674. shlibpath_var=LD_LIBRARY_PATH
  32675. ;;
  32676. freebsd* | dragonfly*)
  32677. # DragonFly does not have aout. When/if they implement a new
  32678. # versioning mechanism, adjust this.
  32679. if test -x /usr/bin/objformat; then
  32680. objformat=`/usr/bin/objformat`
  32681. else
  32682. case $host_os in
  32683. freebsd[23].*) objformat=aout ;;
  32684. *) objformat=elf ;;
  32685. esac
  32686. fi
  32687. version_type=freebsd-$objformat
  32688. case $version_type in
  32689. freebsd-elf*)
  32690. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32691. soname_spec='$libname$release$shared_ext$major'
  32692. need_version=no
  32693. need_lib_prefix=no
  32694. ;;
  32695. freebsd-*)
  32696. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  32697. need_version=yes
  32698. ;;
  32699. esac
  32700. shlibpath_var=LD_LIBRARY_PATH
  32701. case $host_os in
  32702. freebsd2.*)
  32703. shlibpath_overrides_runpath=yes
  32704. ;;
  32705. freebsd3.[01]* | freebsdelf3.[01]*)
  32706. shlibpath_overrides_runpath=yes
  32707. hardcode_into_libs=yes
  32708. ;;
  32709. freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
  32710. freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
  32711. shlibpath_overrides_runpath=no
  32712. hardcode_into_libs=yes
  32713. ;;
  32714. *) # from 4.6 on, and DragonFly
  32715. shlibpath_overrides_runpath=yes
  32716. hardcode_into_libs=yes
  32717. ;;
  32718. esac
  32719. ;;
  32720. haiku*)
  32721. version_type=linux # correct to gnu/linux during the next big refactor
  32722. need_lib_prefix=no
  32723. need_version=no
  32724. dynamic_linker="$host_os runtime_loader"
  32725. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32726. soname_spec='$libname$release$shared_ext$major'
  32727. shlibpath_var=LIBRARY_PATH
  32728. shlibpath_overrides_runpath=no
  32729. sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
  32730. hardcode_into_libs=yes
  32731. ;;
  32732. hpux9* | hpux10* | hpux11*)
  32733. # Give a soname corresponding to the major version so that dld.sl refuses to
  32734. # link against other versions.
  32735. version_type=sunos
  32736. need_lib_prefix=no
  32737. need_version=no
  32738. case $host_cpu in
  32739. ia64*)
  32740. shrext_cmds='.so'
  32741. hardcode_into_libs=yes
  32742. dynamic_linker="$host_os dld.so"
  32743. shlibpath_var=LD_LIBRARY_PATH
  32744. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  32745. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32746. soname_spec='$libname$release$shared_ext$major'
  32747. if test 32 = "$HPUX_IA64_MODE"; then
  32748. sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
  32749. sys_lib_dlsearch_path_spec=/usr/lib/hpux32
  32750. else
  32751. sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
  32752. sys_lib_dlsearch_path_spec=/usr/lib/hpux64
  32753. fi
  32754. ;;
  32755. hppa*64*)
  32756. shrext_cmds='.sl'
  32757. hardcode_into_libs=yes
  32758. dynamic_linker="$host_os dld.sl"
  32759. shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
  32760. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  32761. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32762. soname_spec='$libname$release$shared_ext$major'
  32763. sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
  32764. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  32765. ;;
  32766. *)
  32767. shrext_cmds='.sl'
  32768. dynamic_linker="$host_os dld.sl"
  32769. shlibpath_var=SHLIB_PATH
  32770. shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
  32771. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32772. soname_spec='$libname$release$shared_ext$major'
  32773. ;;
  32774. esac
  32775. # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
  32776. postinstall_cmds='chmod 555 $lib'
  32777. # or fails outright, so override atomically:
  32778. install_override_mode=555
  32779. ;;
  32780. interix[3-9]*)
  32781. version_type=linux # correct to gnu/linux during the next big refactor
  32782. need_lib_prefix=no
  32783. need_version=no
  32784. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32785. soname_spec='$libname$release$shared_ext$major'
  32786. dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
  32787. shlibpath_var=LD_LIBRARY_PATH
  32788. shlibpath_overrides_runpath=no
  32789. hardcode_into_libs=yes
  32790. ;;
  32791. irix5* | irix6* | nonstopux*)
  32792. case $host_os in
  32793. nonstopux*) version_type=nonstopux ;;
  32794. *)
  32795. if test yes = "$lt_cv_prog_gnu_ld"; then
  32796. version_type=linux # correct to gnu/linux during the next big refactor
  32797. else
  32798. version_type=irix
  32799. fi ;;
  32800. esac
  32801. need_lib_prefix=no
  32802. need_version=no
  32803. soname_spec='$libname$release$shared_ext$major'
  32804. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
  32805. case $host_os in
  32806. irix5* | nonstopux*)
  32807. libsuff= shlibsuff=
  32808. ;;
  32809. *)
  32810. case $LD in # libtool.m4 will add one of these switches to LD
  32811. *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
  32812. libsuff= shlibsuff= libmagic=32-bit;;
  32813. *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
  32814. libsuff=32 shlibsuff=N32 libmagic=N32;;
  32815. *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
  32816. libsuff=64 shlibsuff=64 libmagic=64-bit;;
  32817. *) libsuff= shlibsuff= libmagic=never-match;;
  32818. esac
  32819. ;;
  32820. esac
  32821. shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
  32822. shlibpath_overrides_runpath=no
  32823. sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
  32824. sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
  32825. hardcode_into_libs=yes
  32826. ;;
  32827. # No shared lib support for Linux oldld, aout, or coff.
  32828. linux*oldld* | linux*aout* | linux*coff*)
  32829. dynamic_linker=no
  32830. ;;
  32831. linux*android*)
  32832. version_type=none # Android doesn't support versioned libraries.
  32833. need_lib_prefix=no
  32834. need_version=no
  32835. library_names_spec='$libname$release$shared_ext'
  32836. soname_spec='$libname$release$shared_ext'
  32837. finish_cmds=
  32838. shlibpath_var=LD_LIBRARY_PATH
  32839. shlibpath_overrides_runpath=yes
  32840. # This implies no fast_install, which is unacceptable.
  32841. # Some rework will be needed to allow for fast_install
  32842. # before this can be enabled.
  32843. hardcode_into_libs=yes
  32844. dynamic_linker='Android linker'
  32845. # Don't embed -rpath directories since the linker doesn't support them.
  32846. hardcode_libdir_flag_spec_F77='-L$libdir'
  32847. ;;
  32848. # This must be glibc/ELF.
  32849. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  32850. version_type=linux # correct to gnu/linux during the next big refactor
  32851. need_lib_prefix=no
  32852. need_version=no
  32853. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32854. soname_spec='$libname$release$shared_ext$major'
  32855. finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
  32856. shlibpath_var=LD_LIBRARY_PATH
  32857. shlibpath_overrides_runpath=no
  32858. # Some binutils ld are patched to set DT_RUNPATH
  32859. if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
  32860. $as_echo_n "(cached) " >&6
  32861. else
  32862. lt_cv_shlibpath_overrides_runpath=no
  32863. save_LDFLAGS=$LDFLAGS
  32864. save_libdir=$libdir
  32865. eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \
  32866. LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\""
  32867. cat > conftest.$ac_ext <<_ACEOF
  32868. program main
  32869. end
  32870. _ACEOF
  32871. if ac_fn_f77_try_link "$LINENO"; then :
  32872. if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
  32873. lt_cv_shlibpath_overrides_runpath=yes
  32874. fi
  32875. fi
  32876. rm -f core conftest.err conftest.$ac_objext \
  32877. conftest$ac_exeext conftest.$ac_ext
  32878. LDFLAGS=$save_LDFLAGS
  32879. libdir=$save_libdir
  32880. fi
  32881. shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
  32882. # This implies no fast_install, which is unacceptable.
  32883. # Some rework will be needed to allow for fast_install
  32884. # before this can be enabled.
  32885. hardcode_into_libs=yes
  32886. # Ideally, we could use ldconfig to report *all* directores which are
  32887. # searched for libraries, however this is still not possible. Aside from not
  32888. # being certain /sbin/ldconfig is available, command
  32889. # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
  32890. # even though it is searched at run-time. Try to do the best guess by
  32891. # appending ld.so.conf contents (and includes) to the search path.
  32892. if test -f /etc/ld.so.conf; then
  32893. lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
  32894. sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
  32895. fi
  32896. # We used to test for /lib/ld.so.1 and disable shared libraries on
  32897. # powerpc, because MkLinux only supported shared libraries with the
  32898. # GNU dynamic linker. Since this was broken with cross compilers,
  32899. # most powerpc-linux boxes support dynamic linking these days and
  32900. # people can always --disable-shared, the test was removed, and we
  32901. # assume the GNU/Linux dynamic linker is in use.
  32902. dynamic_linker='GNU/Linux ld.so'
  32903. ;;
  32904. netbsd*)
  32905. version_type=sunos
  32906. need_lib_prefix=no
  32907. need_version=no
  32908. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  32909. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  32910. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  32911. dynamic_linker='NetBSD (a.out) ld.so'
  32912. else
  32913. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32914. soname_spec='$libname$release$shared_ext$major'
  32915. dynamic_linker='NetBSD ld.elf_so'
  32916. fi
  32917. shlibpath_var=LD_LIBRARY_PATH
  32918. shlibpath_overrides_runpath=yes
  32919. hardcode_into_libs=yes
  32920. ;;
  32921. newsos6)
  32922. version_type=linux # correct to gnu/linux during the next big refactor
  32923. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32924. shlibpath_var=LD_LIBRARY_PATH
  32925. shlibpath_overrides_runpath=yes
  32926. ;;
  32927. *nto* | *qnx*)
  32928. version_type=qnx
  32929. need_lib_prefix=no
  32930. need_version=no
  32931. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32932. soname_spec='$libname$release$shared_ext$major'
  32933. shlibpath_var=LD_LIBRARY_PATH
  32934. shlibpath_overrides_runpath=no
  32935. hardcode_into_libs=yes
  32936. dynamic_linker='ldqnx.so'
  32937. ;;
  32938. openbsd* | bitrig*)
  32939. version_type=sunos
  32940. sys_lib_dlsearch_path_spec=/usr/lib
  32941. need_lib_prefix=no
  32942. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  32943. need_version=no
  32944. else
  32945. need_version=yes
  32946. fi
  32947. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  32948. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  32949. shlibpath_var=LD_LIBRARY_PATH
  32950. shlibpath_overrides_runpath=yes
  32951. ;;
  32952. os2*)
  32953. libname_spec='$name'
  32954. version_type=windows
  32955. shrext_cmds=.dll
  32956. need_version=no
  32957. need_lib_prefix=no
  32958. # OS/2 can only load a DLL with a base name of 8 characters or less.
  32959. soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
  32960. v=$($ECHO $release$versuffix | tr -d .-);
  32961. n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
  32962. $ECHO $n$v`$shared_ext'
  32963. library_names_spec='${libname}_dll.$libext'
  32964. dynamic_linker='OS/2 ld.exe'
  32965. shlibpath_var=BEGINLIBPATH
  32966. sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
  32967. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  32968. postinstall_cmds='base_file=`basename \$file`~
  32969. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
  32970. dldir=$destdir/`dirname \$dlpath`~
  32971. test -d \$dldir || mkdir -p \$dldir~
  32972. $install_prog $dir/$dlname \$dldir/$dlname~
  32973. chmod a+x \$dldir/$dlname~
  32974. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  32975. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  32976. fi'
  32977. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
  32978. dlpath=$dir/\$dldll~
  32979. $RM \$dlpath'
  32980. ;;
  32981. osf3* | osf4* | osf5*)
  32982. version_type=osf
  32983. need_lib_prefix=no
  32984. need_version=no
  32985. soname_spec='$libname$release$shared_ext$major'
  32986. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32987. shlibpath_var=LD_LIBRARY_PATH
  32988. sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
  32989. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  32990. ;;
  32991. rdos*)
  32992. dynamic_linker=no
  32993. ;;
  32994. solaris*)
  32995. version_type=linux # correct to gnu/linux during the next big refactor
  32996. need_lib_prefix=no
  32997. need_version=no
  32998. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  32999. soname_spec='$libname$release$shared_ext$major'
  33000. shlibpath_var=LD_LIBRARY_PATH
  33001. shlibpath_overrides_runpath=yes
  33002. hardcode_into_libs=yes
  33003. # ldd complains unless libraries are executable
  33004. postinstall_cmds='chmod +x $lib'
  33005. ;;
  33006. sunos4*)
  33007. version_type=sunos
  33008. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  33009. finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
  33010. shlibpath_var=LD_LIBRARY_PATH
  33011. shlibpath_overrides_runpath=yes
  33012. if test yes = "$with_gnu_ld"; then
  33013. need_lib_prefix=no
  33014. fi
  33015. need_version=yes
  33016. ;;
  33017. sysv4 | sysv4.3*)
  33018. version_type=linux # correct to gnu/linux during the next big refactor
  33019. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  33020. soname_spec='$libname$release$shared_ext$major'
  33021. shlibpath_var=LD_LIBRARY_PATH
  33022. case $host_vendor in
  33023. sni)
  33024. shlibpath_overrides_runpath=no
  33025. need_lib_prefix=no
  33026. runpath_var=LD_RUN_PATH
  33027. ;;
  33028. siemens)
  33029. need_lib_prefix=no
  33030. ;;
  33031. motorola)
  33032. need_lib_prefix=no
  33033. need_version=no
  33034. shlibpath_overrides_runpath=no
  33035. sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
  33036. ;;
  33037. esac
  33038. ;;
  33039. sysv4*MP*)
  33040. if test -d /usr/nec; then
  33041. version_type=linux # correct to gnu/linux during the next big refactor
  33042. library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
  33043. soname_spec='$libname$shared_ext.$major'
  33044. shlibpath_var=LD_LIBRARY_PATH
  33045. fi
  33046. ;;
  33047. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  33048. version_type=sco
  33049. need_lib_prefix=no
  33050. need_version=no
  33051. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
  33052. soname_spec='$libname$release$shared_ext$major'
  33053. shlibpath_var=LD_LIBRARY_PATH
  33054. shlibpath_overrides_runpath=yes
  33055. hardcode_into_libs=yes
  33056. if test yes = "$with_gnu_ld"; then
  33057. sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
  33058. else
  33059. sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
  33060. case $host_os in
  33061. sco3.2v5*)
  33062. sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
  33063. ;;
  33064. esac
  33065. fi
  33066. sys_lib_dlsearch_path_spec='/usr/lib'
  33067. ;;
  33068. tpf*)
  33069. # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
  33070. version_type=linux # correct to gnu/linux during the next big refactor
  33071. need_lib_prefix=no
  33072. need_version=no
  33073. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  33074. shlibpath_var=LD_LIBRARY_PATH
  33075. shlibpath_overrides_runpath=no
  33076. hardcode_into_libs=yes
  33077. ;;
  33078. uts4*)
  33079. version_type=linux # correct to gnu/linux during the next big refactor
  33080. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  33081. soname_spec='$libname$release$shared_ext$major'
  33082. shlibpath_var=LD_LIBRARY_PATH
  33083. ;;
  33084. *)
  33085. dynamic_linker=no
  33086. ;;
  33087. esac
  33088. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
  33089. $as_echo "$dynamic_linker" >&6; }
  33090. test no = "$dynamic_linker" && can_build_shared=no
  33091. variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
  33092. if test yes = "$GCC"; then
  33093. variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
  33094. fi
  33095. if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
  33096. sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
  33097. fi
  33098. if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
  33099. sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
  33100. fi
  33101. # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
  33102. configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
  33103. # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
  33104. func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
  33105. # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
  33106. configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
  33107. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
  33108. $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
  33109. hardcode_action_F77=
  33110. if test -n "$hardcode_libdir_flag_spec_F77" ||
  33111. test -n "$runpath_var_F77" ||
  33112. test yes = "$hardcode_automatic_F77"; then
  33113. # We can hardcode non-existent directories.
  33114. if test no != "$hardcode_direct_F77" &&
  33115. # If the only mechanism to avoid hardcoding is shlibpath_var, we
  33116. # have to relink, otherwise we might link with an installed library
  33117. # when we should be linking with a yet-to-be-installed one
  33118. ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" &&
  33119. test no != "$hardcode_minus_L_F77"; then
  33120. # Linking always hardcodes the temporary library directory.
  33121. hardcode_action_F77=relink
  33122. else
  33123. # We can link without hardcoding, and we can hardcode nonexisting dirs.
  33124. hardcode_action_F77=immediate
  33125. fi
  33126. else
  33127. # We cannot hardcode anything, or else we can only hardcode existing
  33128. # directories.
  33129. hardcode_action_F77=unsupported
  33130. fi
  33131. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5
  33132. $as_echo "$hardcode_action_F77" >&6; }
  33133. if test relink = "$hardcode_action_F77" ||
  33134. test yes = "$inherit_rpath_F77"; then
  33135. # Fast installation is not supported
  33136. enable_fast_install=no
  33137. elif test yes = "$shlibpath_overrides_runpath" ||
  33138. test no = "$enable_shared"; then
  33139. # Fast installation is not necessary
  33140. enable_fast_install=needless
  33141. fi
  33142. fi # test -n "$compiler"
  33143. GCC=$lt_save_GCC
  33144. CC=$lt_save_CC
  33145. CFLAGS=$lt_save_CFLAGS
  33146. fi # test yes != "$_lt_disable_F77"
  33147. ac_ext=cpp
  33148. ac_cpp='$CXXCPP $CPPFLAGS'
  33149. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  33150. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  33151. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  33152. ac_ext=${ac_fc_srcext-f}
  33153. ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
  33154. ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
  33155. ac_compiler_gnu=$ac_cv_fc_compiler_gnu
  33156. if test -z "$FC" || test no = "$FC"; then
  33157. _lt_disable_FC=yes
  33158. fi
  33159. archive_cmds_need_lc_FC=no
  33160. allow_undefined_flag_FC=
  33161. always_export_symbols_FC=no
  33162. archive_expsym_cmds_FC=
  33163. export_dynamic_flag_spec_FC=
  33164. hardcode_direct_FC=no
  33165. hardcode_direct_absolute_FC=no
  33166. hardcode_libdir_flag_spec_FC=
  33167. hardcode_libdir_separator_FC=
  33168. hardcode_minus_L_FC=no
  33169. hardcode_automatic_FC=no
  33170. inherit_rpath_FC=no
  33171. module_cmds_FC=
  33172. module_expsym_cmds_FC=
  33173. link_all_deplibs_FC=unknown
  33174. old_archive_cmds_FC=$old_archive_cmds
  33175. reload_flag_FC=$reload_flag
  33176. reload_cmds_FC=$reload_cmds
  33177. no_undefined_flag_FC=
  33178. whole_archive_flag_spec_FC=
  33179. enable_shared_with_static_runtimes_FC=no
  33180. # Source file extension for fc test sources.
  33181. ac_ext=${ac_fc_srcext-f}
  33182. # Object file extension for compiled fc test sources.
  33183. objext=o
  33184. objext_FC=$objext
  33185. # No sense in running all these tests if we already determined that
  33186. # the FC compiler isn't working. Some variables (like enable_shared)
  33187. # are currently assumed to apply to all compilers on this platform,
  33188. # and will be corrupted by setting them based on a non-working compiler.
  33189. if test yes != "$_lt_disable_FC"; then
  33190. # Code to be used in simple compile tests
  33191. lt_simple_compile_test_code="\
  33192. subroutine t
  33193. return
  33194. end
  33195. "
  33196. # Code to be used in simple link tests
  33197. lt_simple_link_test_code="\
  33198. program t
  33199. end
  33200. "
  33201. # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  33202. # If no C compiler was specified, use CC.
  33203. LTCC=${LTCC-"$CC"}
  33204. # If no C compiler flags were specified, use CFLAGS.
  33205. LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
  33206. # Allow CC to be a program name with arguments.
  33207. compiler=$CC
  33208. # save warnings/boilerplate of simple test code
  33209. ac_outfile=conftest.$ac_objext
  33210. echo "$lt_simple_compile_test_code" >conftest.$ac_ext
  33211. eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  33212. _lt_compiler_boilerplate=`cat conftest.err`
  33213. $RM conftest*
  33214. ac_outfile=conftest.$ac_objext
  33215. echo "$lt_simple_link_test_code" >conftest.$ac_ext
  33216. eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
  33217. _lt_linker_boilerplate=`cat conftest.err`
  33218. $RM -r conftest*
  33219. # Allow CC to be a program name with arguments.
  33220. lt_save_CC=$CC
  33221. lt_save_GCC=$GCC
  33222. lt_save_CFLAGS=$CFLAGS
  33223. CC=${FC-"f95"}
  33224. CFLAGS=$FCFLAGS
  33225. compiler=$CC
  33226. GCC=$ac_cv_fc_compiler_gnu
  33227. compiler_FC=$CC
  33228. func_cc_basename $compiler
  33229. cc_basename=$func_cc_basename_result
  33230. if test -n "$compiler"; then
  33231. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
  33232. $as_echo_n "checking if libtool supports shared libraries... " >&6; }
  33233. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
  33234. $as_echo "$can_build_shared" >&6; }
  33235. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
  33236. $as_echo_n "checking whether to build shared libraries... " >&6; }
  33237. test no = "$can_build_shared" && enable_shared=no
  33238. # On AIX, shared libraries and static libraries use the same namespace, and
  33239. # are all built from PIC.
  33240. case $host_os in
  33241. aix3*)
  33242. test yes = "$enable_shared" && enable_static=no
  33243. if test -n "$RANLIB"; then
  33244. archive_cmds="$archive_cmds~\$RANLIB \$lib"
  33245. postinstall_cmds='$RANLIB $lib'
  33246. fi
  33247. ;;
  33248. aix[4-9]*)
  33249. if test ia64 != "$host_cpu"; then
  33250. case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
  33251. yes,aix,yes) ;; # shared object as lib.so file only
  33252. yes,svr4,*) ;; # shared object as lib.so archive member only
  33253. yes,*) enable_static=no ;; # shared object in lib.a archive as well
  33254. esac
  33255. fi
  33256. ;;
  33257. esac
  33258. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
  33259. $as_echo "$enable_shared" >&6; }
  33260. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
  33261. $as_echo_n "checking whether to build static libraries... " >&6; }
  33262. # Make sure either enable_shared or enable_static is yes.
  33263. test yes = "$enable_shared" || enable_static=yes
  33264. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
  33265. $as_echo "$enable_static" >&6; }
  33266. GCC_FC=$ac_cv_fc_compiler_gnu
  33267. LD_FC=$LD
  33268. ## CAVEAT EMPTOR:
  33269. ## There is no encapsulation within the following macros, do not change
  33270. ## the running order or otherwise move them around unless you know exactly
  33271. ## what you are doing...
  33272. # Dependencies to place before and after the object being linked:
  33273. predep_objects_FC=
  33274. postdep_objects_FC=
  33275. predeps_FC=
  33276. postdeps_FC=
  33277. compiler_lib_search_path_FC=
  33278. cat > conftest.$ac_ext <<_LT_EOF
  33279. subroutine foo
  33280. implicit none
  33281. integer a
  33282. a=0
  33283. return
  33284. end
  33285. _LT_EOF
  33286. _lt_libdeps_save_CFLAGS=$CFLAGS
  33287. case "$CC $CFLAGS " in #(
  33288. *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
  33289. *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
  33290. *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
  33291. esac
  33292. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  33293. (eval $ac_compile) 2>&5
  33294. ac_status=$?
  33295. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  33296. test $ac_status = 0; }; then
  33297. # Parse the compiler output and extract the necessary
  33298. # objects, libraries and library flags.
  33299. # Sentinel used to keep track of whether or not we are before
  33300. # the conftest object file.
  33301. pre_test_object_deps_done=no
  33302. for p in `eval "$output_verbose_link_cmd"`; do
  33303. case $prev$p in
  33304. -L* | -R* | -l*)
  33305. # Some compilers place space between "-{L,R}" and the path.
  33306. # Remove the space.
  33307. if test x-L = "$p" ||
  33308. test x-R = "$p"; then
  33309. prev=$p
  33310. continue
  33311. fi
  33312. # Expand the sysroot to ease extracting the directories later.
  33313. if test -z "$prev"; then
  33314. case $p in
  33315. -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
  33316. -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
  33317. -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
  33318. esac
  33319. fi
  33320. case $p in
  33321. =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
  33322. esac
  33323. if test no = "$pre_test_object_deps_done"; then
  33324. case $prev in
  33325. -L | -R)
  33326. # Internal compiler library paths should come after those
  33327. # provided the user. The postdeps already come after the
  33328. # user supplied libs so there is no need to process them.
  33329. if test -z "$compiler_lib_search_path_FC"; then
  33330. compiler_lib_search_path_FC=$prev$p
  33331. else
  33332. compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p"
  33333. fi
  33334. ;;
  33335. # The "-l" case would never come before the object being
  33336. # linked, so don't bother handling this case.
  33337. esac
  33338. else
  33339. if test -z "$postdeps_FC"; then
  33340. postdeps_FC=$prev$p
  33341. else
  33342. postdeps_FC="${postdeps_FC} $prev$p"
  33343. fi
  33344. fi
  33345. prev=
  33346. ;;
  33347. *.lto.$objext) ;; # Ignore GCC LTO objects
  33348. *.$objext)
  33349. # This assumes that the test object file only shows up
  33350. # once in the compiler output.
  33351. if test "$p" = "conftest.$objext"; then
  33352. pre_test_object_deps_done=yes
  33353. continue
  33354. fi
  33355. if test no = "$pre_test_object_deps_done"; then
  33356. if test -z "$predep_objects_FC"; then
  33357. predep_objects_FC=$p
  33358. else
  33359. predep_objects_FC="$predep_objects_FC $p"
  33360. fi
  33361. else
  33362. if test -z "$postdep_objects_FC"; then
  33363. postdep_objects_FC=$p
  33364. else
  33365. postdep_objects_FC="$postdep_objects_FC $p"
  33366. fi
  33367. fi
  33368. ;;
  33369. *) ;; # Ignore the rest.
  33370. esac
  33371. done
  33372. # Clean up.
  33373. rm -f a.out a.exe
  33374. else
  33375. echo "libtool.m4: error: problem compiling FC test program"
  33376. fi
  33377. $RM -f confest.$objext
  33378. CFLAGS=$_lt_libdeps_save_CFLAGS
  33379. # PORTME: override above test on systems where it is broken
  33380. case " $postdeps_FC " in
  33381. *" -lc "*) archive_cmds_need_lc_FC=no ;;
  33382. esac
  33383. compiler_lib_search_dirs_FC=
  33384. if test -n "${compiler_lib_search_path_FC}"; then
  33385. compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'`
  33386. fi
  33387. lt_prog_compiler_wl_FC=
  33388. lt_prog_compiler_pic_FC=
  33389. lt_prog_compiler_static_FC=
  33390. if test yes = "$GCC"; then
  33391. lt_prog_compiler_wl_FC='-Wl,'
  33392. lt_prog_compiler_static_FC='-static'
  33393. case $host_os in
  33394. aix*)
  33395. # All AIX code is PIC.
  33396. if test ia64 = "$host_cpu"; then
  33397. # AIX 5 now supports IA64 processor
  33398. lt_prog_compiler_static_FC='-Bstatic'
  33399. fi
  33400. lt_prog_compiler_pic_FC='-fPIC'
  33401. ;;
  33402. amigaos*)
  33403. case $host_cpu in
  33404. powerpc)
  33405. # see comment about AmigaOS4 .so support
  33406. lt_prog_compiler_pic_FC='-fPIC'
  33407. ;;
  33408. m68k)
  33409. # FIXME: we need at least 68020 code to build shared libraries, but
  33410. # adding the '-m68020' flag to GCC prevents building anything better,
  33411. # like '-m68040'.
  33412. lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4'
  33413. ;;
  33414. esac
  33415. ;;
  33416. beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
  33417. # PIC is the default for these OSes.
  33418. ;;
  33419. mingw* | cygwin* | pw32* | os2* | cegcc*)
  33420. # This hack is so that the source file can tell whether it is being
  33421. # built for inclusion in a dll (and should export symbols for example).
  33422. # Although the cygwin gcc ignores -fPIC, still need this for old-style
  33423. # (--disable-auto-import) libraries
  33424. lt_prog_compiler_pic_FC='-DDLL_EXPORT'
  33425. case $host_os in
  33426. os2*)
  33427. lt_prog_compiler_static_FC='$wl-static'
  33428. ;;
  33429. esac
  33430. ;;
  33431. darwin* | rhapsody*)
  33432. # PIC is the default on this platform
  33433. # Common symbols not allowed in MH_DYLIB files
  33434. lt_prog_compiler_pic_FC='-fno-common'
  33435. ;;
  33436. haiku*)
  33437. # PIC is the default for Haiku.
  33438. # The "-static" flag exists, but is broken.
  33439. lt_prog_compiler_static_FC=
  33440. ;;
  33441. hpux*)
  33442. # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
  33443. # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
  33444. # sets the default TLS model and affects inlining.
  33445. case $host_cpu in
  33446. hppa*64*)
  33447. # +Z the default
  33448. ;;
  33449. *)
  33450. lt_prog_compiler_pic_FC='-fPIC'
  33451. ;;
  33452. esac
  33453. ;;
  33454. interix[3-9]*)
  33455. # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  33456. # Instead, we relocate shared libraries at runtime.
  33457. ;;
  33458. msdosdjgpp*)
  33459. # Just because we use GCC doesn't mean we suddenly get shared libraries
  33460. # on systems that don't support them.
  33461. lt_prog_compiler_can_build_shared_FC=no
  33462. enable_shared=no
  33463. ;;
  33464. *nto* | *qnx*)
  33465. # QNX uses GNU C++, but need to define -shared option too, otherwise
  33466. # it will coredump.
  33467. lt_prog_compiler_pic_FC='-fPIC -shared'
  33468. ;;
  33469. sysv4*MP*)
  33470. if test -d /usr/nec; then
  33471. lt_prog_compiler_pic_FC=-Kconform_pic
  33472. fi
  33473. ;;
  33474. *)
  33475. lt_prog_compiler_pic_FC='-fPIC'
  33476. ;;
  33477. esac
  33478. case $cc_basename in
  33479. nvcc*) # Cuda Compiler Driver 2.2
  33480. lt_prog_compiler_wl_FC='-Xlinker '
  33481. if test -n "$lt_prog_compiler_pic_FC"; then
  33482. lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC"
  33483. fi
  33484. ;;
  33485. esac
  33486. else
  33487. # PORTME Check for flag to pass linker flags through the system compiler.
  33488. case $host_os in
  33489. aix*)
  33490. lt_prog_compiler_wl_FC='-Wl,'
  33491. if test ia64 = "$host_cpu"; then
  33492. # AIX 5 now supports IA64 processor
  33493. lt_prog_compiler_static_FC='-Bstatic'
  33494. else
  33495. lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp'
  33496. fi
  33497. ;;
  33498. darwin* | rhapsody*)
  33499. # PIC is the default on this platform
  33500. # Common symbols not allowed in MH_DYLIB files
  33501. lt_prog_compiler_pic_FC='-fno-common'
  33502. case $cc_basename in
  33503. nagfor*)
  33504. # NAG Fortran compiler
  33505. lt_prog_compiler_wl_FC='-Wl,-Wl,,'
  33506. lt_prog_compiler_pic_FC='-PIC'
  33507. lt_prog_compiler_static_FC='-Bstatic'
  33508. ;;
  33509. esac
  33510. ;;
  33511. mingw* | cygwin* | pw32* | os2* | cegcc*)
  33512. # This hack is so that the source file can tell whether it is being
  33513. # built for inclusion in a dll (and should export symbols for example).
  33514. lt_prog_compiler_pic_FC='-DDLL_EXPORT'
  33515. case $host_os in
  33516. os2*)
  33517. lt_prog_compiler_static_FC='$wl-static'
  33518. ;;
  33519. esac
  33520. ;;
  33521. hpux9* | hpux10* | hpux11*)
  33522. lt_prog_compiler_wl_FC='-Wl,'
  33523. # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
  33524. # not for PA HP-UX.
  33525. case $host_cpu in
  33526. hppa*64*|ia64*)
  33527. # +Z the default
  33528. ;;
  33529. *)
  33530. lt_prog_compiler_pic_FC='+Z'
  33531. ;;
  33532. esac
  33533. # Is there a better lt_prog_compiler_static that works with the bundled CC?
  33534. lt_prog_compiler_static_FC='$wl-a ${wl}archive'
  33535. ;;
  33536. irix5* | irix6* | nonstopux*)
  33537. lt_prog_compiler_wl_FC='-Wl,'
  33538. # PIC (with -KPIC) is the default.
  33539. lt_prog_compiler_static_FC='-non_shared'
  33540. ;;
  33541. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  33542. case $cc_basename in
  33543. # old Intel for x86_64, which still supported -KPIC.
  33544. ecc*)
  33545. lt_prog_compiler_wl_FC='-Wl,'
  33546. lt_prog_compiler_pic_FC='-KPIC'
  33547. lt_prog_compiler_static_FC='-static'
  33548. ;;
  33549. # icc used to be incompatible with GCC.
  33550. # ICC 10 doesn't accept -KPIC any more.
  33551. icc* | ifort*)
  33552. lt_prog_compiler_wl_FC='-Wl,'
  33553. lt_prog_compiler_pic_FC='-fPIC'
  33554. lt_prog_compiler_static_FC='-static'
  33555. ;;
  33556. # Lahey Fortran 8.1.
  33557. lf95*)
  33558. lt_prog_compiler_wl_FC='-Wl,'
  33559. lt_prog_compiler_pic_FC='--shared'
  33560. lt_prog_compiler_static_FC='--static'
  33561. ;;
  33562. nagfor*)
  33563. # NAG Fortran compiler
  33564. lt_prog_compiler_wl_FC='-Wl,-Wl,,'
  33565. lt_prog_compiler_pic_FC='-PIC'
  33566. lt_prog_compiler_static_FC='-Bstatic'
  33567. ;;
  33568. tcc*)
  33569. # Fabrice Bellard et al's Tiny C Compiler
  33570. lt_prog_compiler_wl_FC='-Wl,'
  33571. lt_prog_compiler_pic_FC='-fPIC'
  33572. lt_prog_compiler_static_FC='-static'
  33573. ;;
  33574. pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
  33575. # Portland Group compilers (*not* the Pentium gcc compiler,
  33576. # which looks to be a dead project)
  33577. lt_prog_compiler_wl_FC='-Wl,'
  33578. lt_prog_compiler_pic_FC='-fpic'
  33579. lt_prog_compiler_static_FC='-Bstatic'
  33580. ;;
  33581. ccc*)
  33582. lt_prog_compiler_wl_FC='-Wl,'
  33583. # All Alpha code is PIC.
  33584. lt_prog_compiler_static_FC='-non_shared'
  33585. ;;
  33586. xl* | bgxl* | bgf* | mpixl*)
  33587. # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
  33588. lt_prog_compiler_wl_FC='-Wl,'
  33589. lt_prog_compiler_pic_FC='-qpic'
  33590. lt_prog_compiler_static_FC='-qstaticlink'
  33591. ;;
  33592. *)
  33593. case `$CC -V 2>&1 | sed 5q` in
  33594. *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
  33595. # Sun Fortran 8.3 passes all unrecognized flags to the linker
  33596. lt_prog_compiler_pic_FC='-KPIC'
  33597. lt_prog_compiler_static_FC='-Bstatic'
  33598. lt_prog_compiler_wl_FC=''
  33599. ;;
  33600. *Sun\ F* | *Sun*Fortran*)
  33601. lt_prog_compiler_pic_FC='-KPIC'
  33602. lt_prog_compiler_static_FC='-Bstatic'
  33603. lt_prog_compiler_wl_FC='-Qoption ld '
  33604. ;;
  33605. *Sun\ C*)
  33606. # Sun C 5.9
  33607. lt_prog_compiler_pic_FC='-KPIC'
  33608. lt_prog_compiler_static_FC='-Bstatic'
  33609. lt_prog_compiler_wl_FC='-Wl,'
  33610. ;;
  33611. *Intel*\ [CF]*Compiler*)
  33612. lt_prog_compiler_wl_FC='-Wl,'
  33613. lt_prog_compiler_pic_FC='-fPIC'
  33614. lt_prog_compiler_static_FC='-static'
  33615. ;;
  33616. *Portland\ Group*)
  33617. lt_prog_compiler_wl_FC='-Wl,'
  33618. lt_prog_compiler_pic_FC='-fpic'
  33619. lt_prog_compiler_static_FC='-Bstatic'
  33620. ;;
  33621. esac
  33622. ;;
  33623. esac
  33624. ;;
  33625. newsos6)
  33626. lt_prog_compiler_pic_FC='-KPIC'
  33627. lt_prog_compiler_static_FC='-Bstatic'
  33628. ;;
  33629. *nto* | *qnx*)
  33630. # QNX uses GNU C++, but need to define -shared option too, otherwise
  33631. # it will coredump.
  33632. lt_prog_compiler_pic_FC='-fPIC -shared'
  33633. ;;
  33634. osf3* | osf4* | osf5*)
  33635. lt_prog_compiler_wl_FC='-Wl,'
  33636. # All OSF/1 code is PIC.
  33637. lt_prog_compiler_static_FC='-non_shared'
  33638. ;;
  33639. rdos*)
  33640. lt_prog_compiler_static_FC='-non_shared'
  33641. ;;
  33642. solaris*)
  33643. lt_prog_compiler_pic_FC='-KPIC'
  33644. lt_prog_compiler_static_FC='-Bstatic'
  33645. case $cc_basename in
  33646. f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
  33647. lt_prog_compiler_wl_FC='-Qoption ld ';;
  33648. *)
  33649. lt_prog_compiler_wl_FC='-Wl,';;
  33650. esac
  33651. ;;
  33652. sunos4*)
  33653. lt_prog_compiler_wl_FC='-Qoption ld '
  33654. lt_prog_compiler_pic_FC='-PIC'
  33655. lt_prog_compiler_static_FC='-Bstatic'
  33656. ;;
  33657. sysv4 | sysv4.2uw2* | sysv4.3*)
  33658. lt_prog_compiler_wl_FC='-Wl,'
  33659. lt_prog_compiler_pic_FC='-KPIC'
  33660. lt_prog_compiler_static_FC='-Bstatic'
  33661. ;;
  33662. sysv4*MP*)
  33663. if test -d /usr/nec; then
  33664. lt_prog_compiler_pic_FC='-Kconform_pic'
  33665. lt_prog_compiler_static_FC='-Bstatic'
  33666. fi
  33667. ;;
  33668. sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
  33669. lt_prog_compiler_wl_FC='-Wl,'
  33670. lt_prog_compiler_pic_FC='-KPIC'
  33671. lt_prog_compiler_static_FC='-Bstatic'
  33672. ;;
  33673. unicos*)
  33674. lt_prog_compiler_wl_FC='-Wl,'
  33675. lt_prog_compiler_can_build_shared_FC=no
  33676. ;;
  33677. uts4*)
  33678. lt_prog_compiler_pic_FC='-pic'
  33679. lt_prog_compiler_static_FC='-Bstatic'
  33680. ;;
  33681. *)
  33682. lt_prog_compiler_can_build_shared_FC=no
  33683. ;;
  33684. esac
  33685. fi
  33686. case $host_os in
  33687. # For platforms that do not support PIC, -DPIC is meaningless:
  33688. *djgpp*)
  33689. lt_prog_compiler_pic_FC=
  33690. ;;
  33691. *)
  33692. lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC"
  33693. ;;
  33694. esac
  33695. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
  33696. $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
  33697. if ${lt_cv_prog_compiler_pic_FC+:} false; then :
  33698. $as_echo_n "(cached) " >&6
  33699. else
  33700. lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC
  33701. fi
  33702. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5
  33703. $as_echo "$lt_cv_prog_compiler_pic_FC" >&6; }
  33704. lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC
  33705. #
  33706. # Check to make sure the PIC flag actually works.
  33707. #
  33708. if test -n "$lt_prog_compiler_pic_FC"; then
  33709. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5
  33710. $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; }
  33711. if ${lt_cv_prog_compiler_pic_works_FC+:} false; then :
  33712. $as_echo_n "(cached) " >&6
  33713. else
  33714. lt_cv_prog_compiler_pic_works_FC=no
  33715. ac_outfile=conftest.$ac_objext
  33716. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  33717. lt_compiler_flag="$lt_prog_compiler_pic_FC" ## exclude from sc_useless_quotes_in_assignment
  33718. # Insert the option either (1) after the last *FLAGS variable, or
  33719. # (2) before a word containing "conftest.", or (3) at the end.
  33720. # Note that $ac_compile itself does not contain backslashes and begins
  33721. # with a dollar sign (not a hyphen), so the echo should work correctly.
  33722. # The option is referenced via a variable to avoid confusing sed.
  33723. lt_compile=`echo "$ac_compile" | $SED \
  33724. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  33725. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  33726. -e 's:$: $lt_compiler_flag:'`
  33727. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  33728. (eval "$lt_compile" 2>conftest.err)
  33729. ac_status=$?
  33730. cat conftest.err >&5
  33731. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  33732. if (exit $ac_status) && test -s "$ac_outfile"; then
  33733. # The compiler can only warn and ignore the option if not recognized
  33734. # So say no if there are warnings other than the usual output.
  33735. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
  33736. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  33737. if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
  33738. lt_cv_prog_compiler_pic_works_FC=yes
  33739. fi
  33740. fi
  33741. $RM conftest*
  33742. fi
  33743. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5
  33744. $as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; }
  33745. if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then
  33746. case $lt_prog_compiler_pic_FC in
  33747. "" | " "*) ;;
  33748. *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;;
  33749. esac
  33750. else
  33751. lt_prog_compiler_pic_FC=
  33752. lt_prog_compiler_can_build_shared_FC=no
  33753. fi
  33754. fi
  33755. #
  33756. # Check to make sure the static flag actually works.
  33757. #
  33758. wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\"
  33759. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
  33760. $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
  33761. if ${lt_cv_prog_compiler_static_works_FC+:} false; then :
  33762. $as_echo_n "(cached) " >&6
  33763. else
  33764. lt_cv_prog_compiler_static_works_FC=no
  33765. save_LDFLAGS=$LDFLAGS
  33766. LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
  33767. echo "$lt_simple_link_test_code" > conftest.$ac_ext
  33768. if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
  33769. # The linker can only warn and ignore the option if not recognized
  33770. # So say no if there are warnings
  33771. if test -s conftest.err; then
  33772. # Append any errors to the config.log.
  33773. cat conftest.err 1>&5
  33774. $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
  33775. $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
  33776. if diff conftest.exp conftest.er2 >/dev/null; then
  33777. lt_cv_prog_compiler_static_works_FC=yes
  33778. fi
  33779. else
  33780. lt_cv_prog_compiler_static_works_FC=yes
  33781. fi
  33782. fi
  33783. $RM -r conftest*
  33784. LDFLAGS=$save_LDFLAGS
  33785. fi
  33786. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5
  33787. $as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; }
  33788. if test yes = "$lt_cv_prog_compiler_static_works_FC"; then
  33789. :
  33790. else
  33791. lt_prog_compiler_static_FC=
  33792. fi
  33793. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  33794. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  33795. if ${lt_cv_prog_compiler_c_o_FC+:} false; then :
  33796. $as_echo_n "(cached) " >&6
  33797. else
  33798. lt_cv_prog_compiler_c_o_FC=no
  33799. $RM -r conftest 2>/dev/null
  33800. mkdir conftest
  33801. cd conftest
  33802. mkdir out
  33803. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  33804. lt_compiler_flag="-o out/conftest2.$ac_objext"
  33805. # Insert the option either (1) after the last *FLAGS variable, or
  33806. # (2) before a word containing "conftest.", or (3) at the end.
  33807. # Note that $ac_compile itself does not contain backslashes and begins
  33808. # with a dollar sign (not a hyphen), so the echo should work correctly.
  33809. lt_compile=`echo "$ac_compile" | $SED \
  33810. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  33811. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  33812. -e 's:$: $lt_compiler_flag:'`
  33813. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  33814. (eval "$lt_compile" 2>out/conftest.err)
  33815. ac_status=$?
  33816. cat out/conftest.err >&5
  33817. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  33818. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  33819. then
  33820. # The compiler can only warn and ignore the option if not recognized
  33821. # So say no if there are warnings
  33822. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  33823. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  33824. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  33825. lt_cv_prog_compiler_c_o_FC=yes
  33826. fi
  33827. fi
  33828. chmod u+w . 2>&5
  33829. $RM conftest*
  33830. # SGI C++ compiler will create directory out/ii_files/ for
  33831. # template instantiation
  33832. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  33833. $RM out/* && rmdir out
  33834. cd ..
  33835. $RM -r conftest
  33836. $RM conftest*
  33837. fi
  33838. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5
  33839. $as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; }
  33840. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  33841. $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
  33842. if ${lt_cv_prog_compiler_c_o_FC+:} false; then :
  33843. $as_echo_n "(cached) " >&6
  33844. else
  33845. lt_cv_prog_compiler_c_o_FC=no
  33846. $RM -r conftest 2>/dev/null
  33847. mkdir conftest
  33848. cd conftest
  33849. mkdir out
  33850. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  33851. lt_compiler_flag="-o out/conftest2.$ac_objext"
  33852. # Insert the option either (1) after the last *FLAGS variable, or
  33853. # (2) before a word containing "conftest.", or (3) at the end.
  33854. # Note that $ac_compile itself does not contain backslashes and begins
  33855. # with a dollar sign (not a hyphen), so the echo should work correctly.
  33856. lt_compile=`echo "$ac_compile" | $SED \
  33857. -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
  33858. -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
  33859. -e 's:$: $lt_compiler_flag:'`
  33860. (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
  33861. (eval "$lt_compile" 2>out/conftest.err)
  33862. ac_status=$?
  33863. cat out/conftest.err >&5
  33864. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  33865. if (exit $ac_status) && test -s out/conftest2.$ac_objext
  33866. then
  33867. # The compiler can only warn and ignore the option if not recognized
  33868. # So say no if there are warnings
  33869. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
  33870. $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
  33871. if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
  33872. lt_cv_prog_compiler_c_o_FC=yes
  33873. fi
  33874. fi
  33875. chmod u+w . 2>&5
  33876. $RM conftest*
  33877. # SGI C++ compiler will create directory out/ii_files/ for
  33878. # template instantiation
  33879. test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
  33880. $RM out/* && rmdir out
  33881. cd ..
  33882. $RM -r conftest
  33883. $RM conftest*
  33884. fi
  33885. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5
  33886. $as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; }
  33887. hard_links=nottested
  33888. if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then
  33889. # do not overwrite the value of need_locks provided by the user
  33890. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
  33891. $as_echo_n "checking if we can lock with hard links... " >&6; }
  33892. hard_links=yes
  33893. $RM conftest*
  33894. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  33895. touch conftest.a
  33896. ln conftest.a conftest.b 2>&5 || hard_links=no
  33897. ln conftest.a conftest.b 2>/dev/null && hard_links=no
  33898. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
  33899. $as_echo "$hard_links" >&6; }
  33900. if test no = "$hard_links"; then
  33901. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
  33902. $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
  33903. need_locks=warn
  33904. fi
  33905. else
  33906. need_locks=no
  33907. fi
  33908. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
  33909. $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
  33910. runpath_var=
  33911. allow_undefined_flag_FC=
  33912. always_export_symbols_FC=no
  33913. archive_cmds_FC=
  33914. archive_expsym_cmds_FC=
  33915. compiler_needs_object_FC=no
  33916. enable_shared_with_static_runtimes_FC=no
  33917. export_dynamic_flag_spec_FC=
  33918. export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  33919. hardcode_automatic_FC=no
  33920. hardcode_direct_FC=no
  33921. hardcode_direct_absolute_FC=no
  33922. hardcode_libdir_flag_spec_FC=
  33923. hardcode_libdir_separator_FC=
  33924. hardcode_minus_L_FC=no
  33925. hardcode_shlibpath_var_FC=unsupported
  33926. inherit_rpath_FC=no
  33927. link_all_deplibs_FC=unknown
  33928. module_cmds_FC=
  33929. module_expsym_cmds_FC=
  33930. old_archive_from_new_cmds_FC=
  33931. old_archive_from_expsyms_cmds_FC=
  33932. thread_safe_flag_spec_FC=
  33933. whole_archive_flag_spec_FC=
  33934. # include_expsyms should be a list of space-separated symbols to be *always*
  33935. # included in the symbol list
  33936. include_expsyms_FC=
  33937. # exclude_expsyms can be an extended regexp of symbols to exclude
  33938. # it will be wrapped by ' (' and ')$', so one must not match beginning or
  33939. # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
  33940. # as well as any symbol that contains 'd'.
  33941. exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
  33942. # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
  33943. # platforms (ab)use it in PIC code, but their linkers get confused if
  33944. # the symbol is explicitly referenced. Since portable code cannot
  33945. # rely on this symbol name, it's probably fine to never include it in
  33946. # preloaded symbol tables.
  33947. # Exclude shared library initialization/finalization symbols.
  33948. extract_expsyms_cmds=
  33949. case $host_os in
  33950. cygwin* | mingw* | pw32* | cegcc*)
  33951. # FIXME: the MSVC++ port hasn't been tested in a loooong time
  33952. # When not using gcc, we currently assume that we are using
  33953. # Microsoft Visual C++.
  33954. if test yes != "$GCC"; then
  33955. with_gnu_ld=no
  33956. fi
  33957. ;;
  33958. interix*)
  33959. # we just hope/assume this is gcc and not c89 (= MSVC++)
  33960. with_gnu_ld=yes
  33961. ;;
  33962. openbsd* | bitrig*)
  33963. with_gnu_ld=no
  33964. ;;
  33965. esac
  33966. ld_shlibs_FC=yes
  33967. # On some targets, GNU ld is compatible enough with the native linker
  33968. # that we're better off using the native interface for both.
  33969. lt_use_gnu_ld_interface=no
  33970. if test yes = "$with_gnu_ld"; then
  33971. case $host_os in
  33972. aix*)
  33973. # The AIX port of GNU ld has always aspired to compatibility
  33974. # with the native linker. However, as the warning in the GNU ld
  33975. # block says, versions before 2.19.5* couldn't really create working
  33976. # shared libraries, regardless of the interface used.
  33977. case `$LD -v 2>&1` in
  33978. *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
  33979. *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
  33980. *\ \(GNU\ Binutils\)\ [3-9]*) ;;
  33981. *)
  33982. lt_use_gnu_ld_interface=yes
  33983. ;;
  33984. esac
  33985. ;;
  33986. *)
  33987. lt_use_gnu_ld_interface=yes
  33988. ;;
  33989. esac
  33990. fi
  33991. if test yes = "$lt_use_gnu_ld_interface"; then
  33992. # If archive_cmds runs LD, not CC, wlarc should be empty
  33993. wlarc='$wl'
  33994. # Set some defaults for GNU ld with shared library support. These
  33995. # are reset later if shared libraries are not supported. Putting them
  33996. # here allows them to be overridden if necessary.
  33997. runpath_var=LD_RUN_PATH
  33998. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  33999. export_dynamic_flag_spec_FC='$wl--export-dynamic'
  34000. # ancient GNU ld didn't support --whole-archive et. al.
  34001. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
  34002. whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
  34003. else
  34004. whole_archive_flag_spec_FC=
  34005. fi
  34006. supports_anon_versioning=no
  34007. case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
  34008. *GNU\ gold*) supports_anon_versioning=yes ;;
  34009. *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
  34010. *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
  34011. *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
  34012. *\ 2.11.*) ;; # other 2.11 versions
  34013. *) supports_anon_versioning=yes ;;
  34014. esac
  34015. # See if GNU ld supports shared libraries.
  34016. case $host_os in
  34017. aix[3-9]*)
  34018. # On AIX/PPC, the GNU linker is very broken
  34019. if test ia64 != "$host_cpu"; then
  34020. ld_shlibs_FC=no
  34021. cat <<_LT_EOF 1>&2
  34022. *** Warning: the GNU linker, at least up to release 2.19, is reported
  34023. *** to be unable to reliably create shared libraries on AIX.
  34024. *** Therefore, libtool is disabling shared libraries support. If you
  34025. *** really care for shared libraries, you may want to install binutils
  34026. *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
  34027. *** You will then need to restart the configuration process.
  34028. _LT_EOF
  34029. fi
  34030. ;;
  34031. amigaos*)
  34032. case $host_cpu in
  34033. powerpc)
  34034. # see comment about AmigaOS4 .so support
  34035. archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34036. archive_expsym_cmds_FC=''
  34037. ;;
  34038. m68k)
  34039. archive_cmds_FC='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
  34040. hardcode_libdir_flag_spec_FC='-L$libdir'
  34041. hardcode_minus_L_FC=yes
  34042. ;;
  34043. esac
  34044. ;;
  34045. beos*)
  34046. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  34047. allow_undefined_flag_FC=unsupported
  34048. # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  34049. # support --undefined. This deserves some investigation. FIXME
  34050. archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34051. else
  34052. ld_shlibs_FC=no
  34053. fi
  34054. ;;
  34055. cygwin* | mingw* | pw32* | cegcc*)
  34056. # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless,
  34057. # as there is no search path for DLLs.
  34058. hardcode_libdir_flag_spec_FC='-L$libdir'
  34059. export_dynamic_flag_spec_FC='$wl--export-all-symbols'
  34060. allow_undefined_flag_FC=unsupported
  34061. always_export_symbols_FC=no
  34062. enable_shared_with_static_runtimes_FC=yes
  34063. export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
  34064. exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
  34065. if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
  34066. archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  34067. # If the export-symbols file already is a .def file, use it as
  34068. # is; otherwise, prepend EXPORTS...
  34069. archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  34070. cp $export_symbols $output_objdir/$soname.def;
  34071. else
  34072. echo EXPORTS > $output_objdir/$soname.def;
  34073. cat $export_symbols >> $output_objdir/$soname.def;
  34074. fi~
  34075. $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  34076. else
  34077. ld_shlibs_FC=no
  34078. fi
  34079. ;;
  34080. haiku*)
  34081. archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34082. link_all_deplibs_FC=yes
  34083. ;;
  34084. os2*)
  34085. hardcode_libdir_flag_spec_FC='-L$libdir'
  34086. hardcode_minus_L_FC=yes
  34087. allow_undefined_flag_FC=unsupported
  34088. shrext_cmds=.dll
  34089. archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  34090. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  34091. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  34092. $ECHO EXPORTS >> $output_objdir/$libname.def~
  34093. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  34094. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  34095. emximp -o $lib $output_objdir/$libname.def'
  34096. archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  34097. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  34098. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  34099. $ECHO EXPORTS >> $output_objdir/$libname.def~
  34100. prefix_cmds="$SED"~
  34101. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  34102. prefix_cmds="$prefix_cmds -e 1d";
  34103. fi~
  34104. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  34105. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  34106. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  34107. emximp -o $lib $output_objdir/$libname.def'
  34108. old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  34109. enable_shared_with_static_runtimes_FC=yes
  34110. ;;
  34111. interix[3-9]*)
  34112. hardcode_direct_FC=no
  34113. hardcode_shlibpath_var_FC=no
  34114. hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir'
  34115. export_dynamic_flag_spec_FC='$wl-E'
  34116. # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
  34117. # Instead, shared libraries are loaded at an image base (0x10000000 by
  34118. # default) and relocated if they conflict, which is a slow very memory
  34119. # consuming and fragmenting process. To avoid this, we pick a random,
  34120. # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
  34121. # time. Moving up from 0x10000000 also allows more sbrk(2) space.
  34122. archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  34123. archive_expsym_cmds_FC='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
  34124. ;;
  34125. gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
  34126. tmp_diet=no
  34127. if test linux-dietlibc = "$host_os"; then
  34128. case $cc_basename in
  34129. diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
  34130. esac
  34131. fi
  34132. if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
  34133. && test no = "$tmp_diet"
  34134. then
  34135. tmp_addflag=' $pic_flag'
  34136. tmp_sharedflag='-shared'
  34137. case $cc_basename,$host_cpu in
  34138. pgcc*) # Portland Group C compiler
  34139. whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  34140. tmp_addflag=' $pic_flag'
  34141. ;;
  34142. pgf77* | pgf90* | pgf95* | pgfortran*)
  34143. # Portland Group f77 and f90 compilers
  34144. whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  34145. tmp_addflag=' $pic_flag -Mnomain' ;;
  34146. ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
  34147. tmp_addflag=' -i_dynamic' ;;
  34148. efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
  34149. tmp_addflag=' -i_dynamic -nofor_main' ;;
  34150. ifc* | ifort*) # Intel Fortran compiler
  34151. tmp_addflag=' -nofor_main' ;;
  34152. lf95*) # Lahey Fortran 8.1
  34153. whole_archive_flag_spec_FC=
  34154. tmp_sharedflag='--shared' ;;
  34155. nagfor*) # NAGFOR 5.3
  34156. tmp_sharedflag='-Wl,-shared' ;;
  34157. xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
  34158. tmp_sharedflag='-qmkshrobj'
  34159. tmp_addflag= ;;
  34160. nvcc*) # Cuda Compiler Driver 2.2
  34161. whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  34162. compiler_needs_object_FC=yes
  34163. ;;
  34164. esac
  34165. case `$CC -V 2>&1 | sed 5q` in
  34166. *Sun\ C*) # Sun C 5.9
  34167. whole_archive_flag_spec_FC='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
  34168. compiler_needs_object_FC=yes
  34169. tmp_sharedflag='-G' ;;
  34170. *Sun\ F*) # Sun Fortran 8.3
  34171. tmp_sharedflag='-G' ;;
  34172. esac
  34173. archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34174. if test yes = "$supports_anon_versioning"; then
  34175. archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~
  34176. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  34177. echo "local: *; };" >> $output_objdir/$libname.ver~
  34178. $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
  34179. fi
  34180. case $cc_basename in
  34181. tcc*)
  34182. export_dynamic_flag_spec_FC='-rdynamic'
  34183. ;;
  34184. xlf* | bgf* | bgxlf* | mpixlf*)
  34185. # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
  34186. whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive'
  34187. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  34188. archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
  34189. if test yes = "$supports_anon_versioning"; then
  34190. archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~
  34191. cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
  34192. echo "local: *; };" >> $output_objdir/$libname.ver~
  34193. $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
  34194. fi
  34195. ;;
  34196. esac
  34197. else
  34198. ld_shlibs_FC=no
  34199. fi
  34200. ;;
  34201. netbsd*)
  34202. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  34203. archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  34204. wlarc=
  34205. else
  34206. archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34207. archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  34208. fi
  34209. ;;
  34210. solaris*)
  34211. if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
  34212. ld_shlibs_FC=no
  34213. cat <<_LT_EOF 1>&2
  34214. *** Warning: The releases 2.8.* of the GNU linker cannot reliably
  34215. *** create shared libraries on Solaris systems. Therefore, libtool
  34216. *** is disabling shared libraries support. We urge you to upgrade GNU
  34217. *** binutils to release 2.9.1 or newer. Another option is to modify
  34218. *** your PATH or compiler configuration so that the native linker is
  34219. *** used, and then restart.
  34220. _LT_EOF
  34221. elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  34222. archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34223. archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  34224. else
  34225. ld_shlibs_FC=no
  34226. fi
  34227. ;;
  34228. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
  34229. case `$LD -v 2>&1` in
  34230. *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
  34231. ld_shlibs_FC=no
  34232. cat <<_LT_EOF 1>&2
  34233. *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
  34234. *** reliably create shared libraries on SCO systems. Therefore, libtool
  34235. *** is disabling shared libraries support. We urge you to upgrade GNU
  34236. *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
  34237. *** your PATH or compiler configuration so that the native linker is
  34238. *** used, and then restart.
  34239. _LT_EOF
  34240. ;;
  34241. *)
  34242. # For security reasons, it is highly recommended that you always
  34243. # use absolute paths for naming shared libraries, and exclude the
  34244. # DT_RUNPATH tag from executables and libraries. But doing so
  34245. # requires that you compile everything twice, which is a pain.
  34246. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  34247. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  34248. archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34249. archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  34250. else
  34251. ld_shlibs_FC=no
  34252. fi
  34253. ;;
  34254. esac
  34255. ;;
  34256. sunos4*)
  34257. archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  34258. wlarc=
  34259. hardcode_direct_FC=yes
  34260. hardcode_shlibpath_var_FC=no
  34261. ;;
  34262. *)
  34263. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  34264. archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34265. archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
  34266. else
  34267. ld_shlibs_FC=no
  34268. fi
  34269. ;;
  34270. esac
  34271. if test no = "$ld_shlibs_FC"; then
  34272. runpath_var=
  34273. hardcode_libdir_flag_spec_FC=
  34274. export_dynamic_flag_spec_FC=
  34275. whole_archive_flag_spec_FC=
  34276. fi
  34277. else
  34278. # PORTME fill in a description of your system's linker (not GNU ld)
  34279. case $host_os in
  34280. aix3*)
  34281. allow_undefined_flag_FC=unsupported
  34282. always_export_symbols_FC=yes
  34283. archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
  34284. # Note: this linker hardcodes the directories in LIBPATH if there
  34285. # are no directories specified by -L.
  34286. hardcode_minus_L_FC=yes
  34287. if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
  34288. # Neither direct hardcoding nor static linking is supported with a
  34289. # broken collect2.
  34290. hardcode_direct_FC=unsupported
  34291. fi
  34292. ;;
  34293. aix[4-9]*)
  34294. if test ia64 = "$host_cpu"; then
  34295. # On IA64, the linker does run time linking by default, so we don't
  34296. # have to do anything special.
  34297. aix_use_runtimelinking=no
  34298. exp_sym_flag='-Bexport'
  34299. no_entry_flag=
  34300. else
  34301. # If we're using GNU nm, then we don't want the "-C" option.
  34302. # -C means demangle to GNU nm, but means don't demangle to AIX nm.
  34303. # Without the "-l" option, or with the "-B" option, AIX nm treats
  34304. # weak defined symbols like other global defined symbols, whereas
  34305. # GNU nm marks them as "W".
  34306. # While the 'weak' keyword is ignored in the Export File, we need
  34307. # it in the Import File for the 'aix-soname' feature, so we have
  34308. # to replace the "-B" option with "-P" for AIX nm.
  34309. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
  34310. export_symbols_cmds_FC='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
  34311. else
  34312. export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
  34313. fi
  34314. aix_use_runtimelinking=no
  34315. # Test if we are trying to use run time linking or normal
  34316. # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  34317. # have runtime linking enabled, and use it for executables.
  34318. # For shared libraries, we enable/disable runtime linking
  34319. # depending on the kind of the shared library created -
  34320. # when "with_aix_soname,aix_use_runtimelinking" is:
  34321. # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
  34322. # "aix,yes" lib.so shared, rtl:yes, for executables
  34323. # lib.a static archive
  34324. # "both,no" lib.so.V(shr.o) shared, rtl:yes
  34325. # lib.a(lib.so.V) shared, rtl:no, for executables
  34326. # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
  34327. # lib.a(lib.so.V) shared, rtl:no
  34328. # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
  34329. # lib.a static archive
  34330. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
  34331. for ld_flag in $LDFLAGS; do
  34332. if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
  34333. aix_use_runtimelinking=yes
  34334. break
  34335. fi
  34336. done
  34337. if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
  34338. # With aix-soname=svr4, we create the lib.so.V shared archives only,
  34339. # so we don't have lib.a shared libs to link our executables.
  34340. # We have to force runtime linking in this case.
  34341. aix_use_runtimelinking=yes
  34342. LDFLAGS="$LDFLAGS -Wl,-brtl"
  34343. fi
  34344. ;;
  34345. esac
  34346. exp_sym_flag='-bexport'
  34347. no_entry_flag='-bnoentry'
  34348. fi
  34349. # When large executables or shared objects are built, AIX ld can
  34350. # have problems creating the table of contents. If linking a library
  34351. # or program results in "error TOC overflow" add -mminimal-toc to
  34352. # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
  34353. # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
  34354. archive_cmds_FC=''
  34355. hardcode_direct_FC=yes
  34356. hardcode_direct_absolute_FC=yes
  34357. hardcode_libdir_separator_FC=':'
  34358. link_all_deplibs_FC=yes
  34359. file_list_spec_FC='$wl-f,'
  34360. case $with_aix_soname,$aix_use_runtimelinking in
  34361. aix,*) ;; # traditional, no import file
  34362. svr4,* | *,yes) # use import file
  34363. # The Import File defines what to hardcode.
  34364. hardcode_direct_FC=no
  34365. hardcode_direct_absolute_FC=no
  34366. ;;
  34367. esac
  34368. if test yes = "$GCC"; then
  34369. case $host_os in aix4.[012]|aix4.[012].*)
  34370. # We only want to do this on AIX 4.2 and lower, the check
  34371. # below for broken collect2 doesn't work under 4.3+
  34372. collect2name=`$CC -print-prog-name=collect2`
  34373. if test -f "$collect2name" &&
  34374. strings "$collect2name" | $GREP resolve_lib_name >/dev/null
  34375. then
  34376. # We have reworked collect2
  34377. :
  34378. else
  34379. # We have old collect2
  34380. hardcode_direct_FC=unsupported
  34381. # It fails to find uninstalled libraries when the uninstalled
  34382. # path is not listed in the libpath. Setting hardcode_minus_L
  34383. # to unsupported forces relinking
  34384. hardcode_minus_L_FC=yes
  34385. hardcode_libdir_flag_spec_FC='-L$libdir'
  34386. hardcode_libdir_separator_FC=
  34387. fi
  34388. ;;
  34389. esac
  34390. shared_flag='-shared'
  34391. if test yes = "$aix_use_runtimelinking"; then
  34392. shared_flag="$shared_flag "'$wl-G'
  34393. fi
  34394. # Need to ensure runtime linking is disabled for the traditional
  34395. # shared library, or the linker may eventually find shared libraries
  34396. # /with/ Import File - we do not want to mix them.
  34397. shared_flag_aix='-shared'
  34398. shared_flag_svr4='-shared $wl-G'
  34399. else
  34400. # not using gcc
  34401. if test ia64 = "$host_cpu"; then
  34402. # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
  34403. # chokes on -Wl,-G. The following line is correct:
  34404. shared_flag='-G'
  34405. else
  34406. if test yes = "$aix_use_runtimelinking"; then
  34407. shared_flag='$wl-G'
  34408. else
  34409. shared_flag='$wl-bM:SRE'
  34410. fi
  34411. shared_flag_aix='$wl-bM:SRE'
  34412. shared_flag_svr4='$wl-G'
  34413. fi
  34414. fi
  34415. export_dynamic_flag_spec_FC='$wl-bexpall'
  34416. # It seems that -bexpall does not export symbols beginning with
  34417. # underscore (_), so it is better to generate a list of symbols to export.
  34418. always_export_symbols_FC=yes
  34419. if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
  34420. # Warning - without using the other runtime loading flags (-brtl),
  34421. # -berok will link without error, but may produce a broken library.
  34422. allow_undefined_flag_FC='-berok'
  34423. # Determine the default libpath from the value encoded in an
  34424. # empty executable.
  34425. if test set = "${lt_cv_aix_libpath+set}"; then
  34426. aix_libpath=$lt_cv_aix_libpath
  34427. else
  34428. if ${lt_cv_aix_libpath__FC+:} false; then :
  34429. $as_echo_n "(cached) " >&6
  34430. else
  34431. cat > conftest.$ac_ext <<_ACEOF
  34432. program main
  34433. end
  34434. _ACEOF
  34435. if ac_fn_fc_try_link "$LINENO"; then :
  34436. lt_aix_libpath_sed='
  34437. /Import File Strings/,/^$/ {
  34438. /^0/ {
  34439. s/^0 *\([^ ]*\) *$/\1/
  34440. p
  34441. }
  34442. }'
  34443. lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  34444. # Check for a 64-bit object if we didn't find anything.
  34445. if test -z "$lt_cv_aix_libpath__FC"; then
  34446. lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  34447. fi
  34448. fi
  34449. rm -f core conftest.err conftest.$ac_objext \
  34450. conftest$ac_exeext conftest.$ac_ext
  34451. if test -z "$lt_cv_aix_libpath__FC"; then
  34452. lt_cv_aix_libpath__FC=/usr/lib:/lib
  34453. fi
  34454. fi
  34455. aix_libpath=$lt_cv_aix_libpath__FC
  34456. fi
  34457. hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath"
  34458. archive_expsym_cmds_FC='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
  34459. else
  34460. if test ia64 = "$host_cpu"; then
  34461. hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib'
  34462. allow_undefined_flag_FC="-z nodefs"
  34463. archive_expsym_cmds_FC="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
  34464. else
  34465. # Determine the default libpath from the value encoded in an
  34466. # empty executable.
  34467. if test set = "${lt_cv_aix_libpath+set}"; then
  34468. aix_libpath=$lt_cv_aix_libpath
  34469. else
  34470. if ${lt_cv_aix_libpath__FC+:} false; then :
  34471. $as_echo_n "(cached) " >&6
  34472. else
  34473. cat > conftest.$ac_ext <<_ACEOF
  34474. program main
  34475. end
  34476. _ACEOF
  34477. if ac_fn_fc_try_link "$LINENO"; then :
  34478. lt_aix_libpath_sed='
  34479. /Import File Strings/,/^$/ {
  34480. /^0/ {
  34481. s/^0 *\([^ ]*\) *$/\1/
  34482. p
  34483. }
  34484. }'
  34485. lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  34486. # Check for a 64-bit object if we didn't find anything.
  34487. if test -z "$lt_cv_aix_libpath__FC"; then
  34488. lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
  34489. fi
  34490. fi
  34491. rm -f core conftest.err conftest.$ac_objext \
  34492. conftest$ac_exeext conftest.$ac_ext
  34493. if test -z "$lt_cv_aix_libpath__FC"; then
  34494. lt_cv_aix_libpath__FC=/usr/lib:/lib
  34495. fi
  34496. fi
  34497. aix_libpath=$lt_cv_aix_libpath__FC
  34498. fi
  34499. hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath"
  34500. # Warning - without using the other run time loading flags,
  34501. # -berok will link without error, but may produce a broken library.
  34502. no_undefined_flag_FC=' $wl-bernotok'
  34503. allow_undefined_flag_FC=' $wl-berok'
  34504. if test yes = "$with_gnu_ld"; then
  34505. # We only use this code for GNU lds that support --whole-archive.
  34506. whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive'
  34507. else
  34508. # Exported symbols can be pulled into shared objects from archives
  34509. whole_archive_flag_spec_FC='$convenience'
  34510. fi
  34511. archive_cmds_need_lc_FC=yes
  34512. archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
  34513. # -brtl affects multiple linker settings, -berok does not and is overridden later
  34514. compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
  34515. if test svr4 != "$with_aix_soname"; then
  34516. # This is similar to how AIX traditionally builds its shared libraries.
  34517. archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
  34518. fi
  34519. if test aix != "$with_aix_soname"; then
  34520. archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
  34521. else
  34522. # used by -dlpreopen to get the symbols
  34523. archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
  34524. fi
  34525. archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d'
  34526. fi
  34527. fi
  34528. ;;
  34529. amigaos*)
  34530. case $host_cpu in
  34531. powerpc)
  34532. # see comment about AmigaOS4 .so support
  34533. archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
  34534. archive_expsym_cmds_FC=''
  34535. ;;
  34536. m68k)
  34537. archive_cmds_FC='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
  34538. hardcode_libdir_flag_spec_FC='-L$libdir'
  34539. hardcode_minus_L_FC=yes
  34540. ;;
  34541. esac
  34542. ;;
  34543. bsdi[45]*)
  34544. export_dynamic_flag_spec_FC=-rdynamic
  34545. ;;
  34546. cygwin* | mingw* | pw32* | cegcc*)
  34547. # When not using gcc, we currently assume that we are using
  34548. # Microsoft Visual C++.
  34549. # hardcode_libdir_flag_spec is actually meaningless, as there is
  34550. # no search path for DLLs.
  34551. case $cc_basename in
  34552. cl*)
  34553. # Native MSVC
  34554. hardcode_libdir_flag_spec_FC=' '
  34555. allow_undefined_flag_FC=unsupported
  34556. always_export_symbols_FC=yes
  34557. file_list_spec_FC='@'
  34558. # Tell ltmain to make .lib files, not .a files.
  34559. libext=lib
  34560. # Tell ltmain to make .dll files, not .so files.
  34561. shrext_cmds=.dll
  34562. # FIXME: Setting linknames here is a bad hack.
  34563. archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
  34564. archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
  34565. cp "$export_symbols" "$output_objdir/$soname.def";
  34566. echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
  34567. else
  34568. $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
  34569. fi~
  34570. $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
  34571. linknames='
  34572. # The linker will not automatically build a static lib if we build a DLL.
  34573. # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true'
  34574. enable_shared_with_static_runtimes_FC=yes
  34575. exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
  34576. export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
  34577. # Don't use ranlib
  34578. old_postinstall_cmds_FC='chmod 644 $oldlib'
  34579. postlink_cmds_FC='lt_outputfile="@OUTPUT@"~
  34580. lt_tool_outputfile="@TOOL_OUTPUT@"~
  34581. case $lt_outputfile in
  34582. *.exe|*.EXE) ;;
  34583. *)
  34584. lt_outputfile=$lt_outputfile.exe
  34585. lt_tool_outputfile=$lt_tool_outputfile.exe
  34586. ;;
  34587. esac~
  34588. if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
  34589. $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
  34590. $RM "$lt_outputfile.manifest";
  34591. fi'
  34592. ;;
  34593. *)
  34594. # Assume MSVC wrapper
  34595. hardcode_libdir_flag_spec_FC=' '
  34596. allow_undefined_flag_FC=unsupported
  34597. # Tell ltmain to make .lib files, not .a files.
  34598. libext=lib
  34599. # Tell ltmain to make .dll files, not .so files.
  34600. shrext_cmds=.dll
  34601. # FIXME: Setting linknames here is a bad hack.
  34602. archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
  34603. # The linker will automatically build a .lib file if we build a DLL.
  34604. old_archive_from_new_cmds_FC='true'
  34605. # FIXME: Should let the user specify the lib program.
  34606. old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs'
  34607. enable_shared_with_static_runtimes_FC=yes
  34608. ;;
  34609. esac
  34610. ;;
  34611. darwin* | rhapsody*)
  34612. archive_cmds_need_lc_FC=no
  34613. hardcode_direct_FC=no
  34614. hardcode_automatic_FC=yes
  34615. hardcode_shlibpath_var_FC=unsupported
  34616. if test yes = "$lt_cv_ld_force_load"; then
  34617. whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
  34618. compiler_needs_object_FC=yes
  34619. else
  34620. whole_archive_flag_spec_FC=''
  34621. fi
  34622. link_all_deplibs_FC=yes
  34623. allow_undefined_flag_FC=$_lt_dar_allow_undefined
  34624. case $cc_basename in
  34625. ifort*|nagfor*) _lt_dar_can_shared=yes ;;
  34626. *) _lt_dar_can_shared=$GCC ;;
  34627. esac
  34628. if test yes = "$_lt_dar_can_shared"; then
  34629. output_verbose_link_cmd=func_echo_all
  34630. archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
  34631. module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
  34632. archive_expsym_cmds_FC="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
  34633. module_expsym_cmds_FC="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
  34634. else
  34635. ld_shlibs_FC=no
  34636. fi
  34637. ;;
  34638. dgux*)
  34639. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34640. hardcode_libdir_flag_spec_FC='-L$libdir'
  34641. hardcode_shlibpath_var_FC=no
  34642. ;;
  34643. # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
  34644. # support. Future versions do this automatically, but an explicit c++rt0.o
  34645. # does not break anything, and helps significantly (at the cost of a little
  34646. # extra space).
  34647. freebsd2.2*)
  34648. archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
  34649. hardcode_libdir_flag_spec_FC='-R$libdir'
  34650. hardcode_direct_FC=yes
  34651. hardcode_shlibpath_var_FC=no
  34652. ;;
  34653. # Unfortunately, older versions of FreeBSD 2 do not have this feature.
  34654. freebsd2.*)
  34655. archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  34656. hardcode_direct_FC=yes
  34657. hardcode_minus_L_FC=yes
  34658. hardcode_shlibpath_var_FC=no
  34659. ;;
  34660. # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
  34661. freebsd* | dragonfly*)
  34662. archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  34663. hardcode_libdir_flag_spec_FC='-R$libdir'
  34664. hardcode_direct_FC=yes
  34665. hardcode_shlibpath_var_FC=no
  34666. ;;
  34667. hpux9*)
  34668. if test yes = "$GCC"; then
  34669. archive_cmds_FC='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  34670. else
  34671. archive_cmds_FC='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
  34672. fi
  34673. hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir'
  34674. hardcode_libdir_separator_FC=:
  34675. hardcode_direct_FC=yes
  34676. # hardcode_minus_L: Not really in the search PATH,
  34677. # but as the default location of the library.
  34678. hardcode_minus_L_FC=yes
  34679. export_dynamic_flag_spec_FC='$wl-E'
  34680. ;;
  34681. hpux10*)
  34682. if test yes,no = "$GCC,$with_gnu_ld"; then
  34683. archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  34684. else
  34685. archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
  34686. fi
  34687. if test no = "$with_gnu_ld"; then
  34688. hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir'
  34689. hardcode_libdir_separator_FC=:
  34690. hardcode_direct_FC=yes
  34691. hardcode_direct_absolute_FC=yes
  34692. export_dynamic_flag_spec_FC='$wl-E'
  34693. # hardcode_minus_L: Not really in the search PATH,
  34694. # but as the default location of the library.
  34695. hardcode_minus_L_FC=yes
  34696. fi
  34697. ;;
  34698. hpux11*)
  34699. if test yes,no = "$GCC,$with_gnu_ld"; then
  34700. case $host_cpu in
  34701. hppa*64*)
  34702. archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  34703. ;;
  34704. ia64*)
  34705. archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  34706. ;;
  34707. *)
  34708. archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  34709. ;;
  34710. esac
  34711. else
  34712. case $host_cpu in
  34713. hppa*64*)
  34714. archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  34715. ;;
  34716. ia64*)
  34717. archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  34718. ;;
  34719. *)
  34720. archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  34721. ;;
  34722. esac
  34723. fi
  34724. if test no = "$with_gnu_ld"; then
  34725. hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir'
  34726. hardcode_libdir_separator_FC=:
  34727. case $host_cpu in
  34728. hppa*64*|ia64*)
  34729. hardcode_direct_FC=no
  34730. hardcode_shlibpath_var_FC=no
  34731. ;;
  34732. *)
  34733. hardcode_direct_FC=yes
  34734. hardcode_direct_absolute_FC=yes
  34735. export_dynamic_flag_spec_FC='$wl-E'
  34736. # hardcode_minus_L: Not really in the search PATH,
  34737. # but as the default location of the library.
  34738. hardcode_minus_L_FC=yes
  34739. ;;
  34740. esac
  34741. fi
  34742. ;;
  34743. irix5* | irix6* | nonstopux*)
  34744. if test yes = "$GCC"; then
  34745. archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  34746. # Try to use the -exported_symbol ld option, if it does not
  34747. # work, assume that -exports_file does not work either and
  34748. # implicitly export all symbols.
  34749. # This should be the same for all languages, so no per-tag cache variable.
  34750. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
  34751. $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
  34752. if ${lt_cv_irix_exported_symbol+:} false; then :
  34753. $as_echo_n "(cached) " >&6
  34754. else
  34755. save_LDFLAGS=$LDFLAGS
  34756. LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
  34757. cat > conftest.$ac_ext <<_ACEOF
  34758. subroutine foo
  34759. end
  34760. _ACEOF
  34761. if ac_fn_fc_try_link "$LINENO"; then :
  34762. lt_cv_irix_exported_symbol=yes
  34763. else
  34764. lt_cv_irix_exported_symbol=no
  34765. fi
  34766. rm -f core conftest.err conftest.$ac_objext \
  34767. conftest$ac_exeext conftest.$ac_ext
  34768. LDFLAGS=$save_LDFLAGS
  34769. fi
  34770. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
  34771. $as_echo "$lt_cv_irix_exported_symbol" >&6; }
  34772. if test yes = "$lt_cv_irix_exported_symbol"; then
  34773. archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
  34774. fi
  34775. else
  34776. archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  34777. archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
  34778. fi
  34779. archive_cmds_need_lc_FC='no'
  34780. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  34781. hardcode_libdir_separator_FC=:
  34782. inherit_rpath_FC=yes
  34783. link_all_deplibs_FC=yes
  34784. ;;
  34785. linux*)
  34786. case $cc_basename in
  34787. tcc*)
  34788. # Fabrice Bellard et al's Tiny C Compiler
  34789. ld_shlibs_FC=yes
  34790. archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  34791. ;;
  34792. esac
  34793. ;;
  34794. netbsd*)
  34795. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  34796. archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
  34797. else
  34798. archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
  34799. fi
  34800. hardcode_libdir_flag_spec_FC='-R$libdir'
  34801. hardcode_direct_FC=yes
  34802. hardcode_shlibpath_var_FC=no
  34803. ;;
  34804. newsos6)
  34805. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34806. hardcode_direct_FC=yes
  34807. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  34808. hardcode_libdir_separator_FC=:
  34809. hardcode_shlibpath_var_FC=no
  34810. ;;
  34811. *nto* | *qnx*)
  34812. ;;
  34813. openbsd* | bitrig*)
  34814. if test -f /usr/libexec/ld.so; then
  34815. hardcode_direct_FC=yes
  34816. hardcode_shlibpath_var_FC=no
  34817. hardcode_direct_absolute_FC=yes
  34818. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  34819. archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  34820. archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
  34821. hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir'
  34822. export_dynamic_flag_spec_FC='$wl-E'
  34823. else
  34824. archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  34825. hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir'
  34826. fi
  34827. else
  34828. ld_shlibs_FC=no
  34829. fi
  34830. ;;
  34831. os2*)
  34832. hardcode_libdir_flag_spec_FC='-L$libdir'
  34833. hardcode_minus_L_FC=yes
  34834. allow_undefined_flag_FC=unsupported
  34835. shrext_cmds=.dll
  34836. archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  34837. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  34838. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  34839. $ECHO EXPORTS >> $output_objdir/$libname.def~
  34840. emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
  34841. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  34842. emximp -o $lib $output_objdir/$libname.def'
  34843. archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
  34844. $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
  34845. $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
  34846. $ECHO EXPORTS >> $output_objdir/$libname.def~
  34847. prefix_cmds="$SED"~
  34848. if test EXPORTS = "`$SED 1q $export_symbols`"; then
  34849. prefix_cmds="$prefix_cmds -e 1d";
  34850. fi~
  34851. prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
  34852. cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
  34853. $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
  34854. emximp -o $lib $output_objdir/$libname.def'
  34855. old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
  34856. enable_shared_with_static_runtimes_FC=yes
  34857. ;;
  34858. osf3*)
  34859. if test yes = "$GCC"; then
  34860. allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*'
  34861. archive_cmds_FC='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  34862. else
  34863. allow_undefined_flag_FC=' -expect_unresolved \*'
  34864. archive_cmds_FC='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  34865. fi
  34866. archive_cmds_need_lc_FC='no'
  34867. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  34868. hardcode_libdir_separator_FC=:
  34869. ;;
  34870. osf4* | osf5*) # as osf3* with the addition of -msym flag
  34871. if test yes = "$GCC"; then
  34872. allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*'
  34873. archive_cmds_FC='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
  34874. hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir'
  34875. else
  34876. allow_undefined_flag_FC=' -expect_unresolved \*'
  34877. archive_cmds_FC='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
  34878. archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
  34879. $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
  34880. # Both c and cxx compiler support -rpath directly
  34881. hardcode_libdir_flag_spec_FC='-rpath $libdir'
  34882. fi
  34883. archive_cmds_need_lc_FC='no'
  34884. hardcode_libdir_separator_FC=:
  34885. ;;
  34886. solaris*)
  34887. no_undefined_flag_FC=' -z defs'
  34888. if test yes = "$GCC"; then
  34889. wlarc='$wl'
  34890. archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
  34891. archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  34892. $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  34893. else
  34894. case `$CC -V 2>&1` in
  34895. *"Compilers 5.0"*)
  34896. wlarc=''
  34897. archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34898. archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  34899. $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
  34900. ;;
  34901. *)
  34902. wlarc='$wl'
  34903. archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
  34904. archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  34905. $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  34906. ;;
  34907. esac
  34908. fi
  34909. hardcode_libdir_flag_spec_FC='-R$libdir'
  34910. hardcode_shlibpath_var_FC=no
  34911. case $host_os in
  34912. solaris2.[0-5] | solaris2.[0-5].*) ;;
  34913. *)
  34914. # The compiler driver will combine and reorder linker options,
  34915. # but understands '-z linker_flag'. GCC discards it without '$wl',
  34916. # but is careful enough not to reorder.
  34917. # Supported since Solaris 2.6 (maybe 2.5.1?)
  34918. if test yes = "$GCC"; then
  34919. whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
  34920. else
  34921. whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract'
  34922. fi
  34923. ;;
  34924. esac
  34925. link_all_deplibs_FC=yes
  34926. ;;
  34927. sunos4*)
  34928. if test sequent = "$host_vendor"; then
  34929. # Use $CC to link under sequent, because it throws in some extra .o
  34930. # files that make .init and .fini sections work.
  34931. archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
  34932. else
  34933. archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
  34934. fi
  34935. hardcode_libdir_flag_spec_FC='-L$libdir'
  34936. hardcode_direct_FC=yes
  34937. hardcode_minus_L_FC=yes
  34938. hardcode_shlibpath_var_FC=no
  34939. ;;
  34940. sysv4)
  34941. case $host_vendor in
  34942. sni)
  34943. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34944. hardcode_direct_FC=yes # is this really true???
  34945. ;;
  34946. siemens)
  34947. ## LD is ld it makes a PLAMLIB
  34948. ## CC just makes a GrossModule.
  34949. archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags'
  34950. reload_cmds_FC='$CC -r -o $output$reload_objs'
  34951. hardcode_direct_FC=no
  34952. ;;
  34953. motorola)
  34954. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34955. hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie
  34956. ;;
  34957. esac
  34958. runpath_var='LD_RUN_PATH'
  34959. hardcode_shlibpath_var_FC=no
  34960. ;;
  34961. sysv4.3*)
  34962. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34963. hardcode_shlibpath_var_FC=no
  34964. export_dynamic_flag_spec_FC='-Bexport'
  34965. ;;
  34966. sysv4*MP*)
  34967. if test -d /usr/nec; then
  34968. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  34969. hardcode_shlibpath_var_FC=no
  34970. runpath_var=LD_RUN_PATH
  34971. hardcode_runpath_var=yes
  34972. ld_shlibs_FC=yes
  34973. fi
  34974. ;;
  34975. sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
  34976. no_undefined_flag_FC='$wl-z,text'
  34977. archive_cmds_need_lc_FC=no
  34978. hardcode_shlibpath_var_FC=no
  34979. runpath_var='LD_RUN_PATH'
  34980. if test yes = "$GCC"; then
  34981. archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  34982. archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  34983. else
  34984. archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  34985. archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  34986. fi
  34987. ;;
  34988. sysv5* | sco3.2v5* | sco5v6*)
  34989. # Note: We CANNOT use -z defs as we might desire, because we do not
  34990. # link with -lc, and that would cause any symbols used from libc to
  34991. # always be unresolved, which means just about no library would
  34992. # ever link correctly. If we're not using GNU ld we use -z text
  34993. # though, which does catch some bad symbols but isn't as heavy-handed
  34994. # as -z defs.
  34995. no_undefined_flag_FC='$wl-z,text'
  34996. allow_undefined_flag_FC='$wl-z,nodefs'
  34997. archive_cmds_need_lc_FC=no
  34998. hardcode_shlibpath_var_FC=no
  34999. hardcode_libdir_flag_spec_FC='$wl-R,$libdir'
  35000. hardcode_libdir_separator_FC=':'
  35001. link_all_deplibs_FC=yes
  35002. export_dynamic_flag_spec_FC='$wl-Bexport'
  35003. runpath_var='LD_RUN_PATH'
  35004. if test yes = "$GCC"; then
  35005. archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  35006. archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  35007. else
  35008. archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  35009. archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  35010. fi
  35011. ;;
  35012. uts4*)
  35013. archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  35014. hardcode_libdir_flag_spec_FC='-L$libdir'
  35015. hardcode_shlibpath_var_FC=no
  35016. ;;
  35017. *)
  35018. ld_shlibs_FC=no
  35019. ;;
  35020. esac
  35021. if test sni = "$host_vendor"; then
  35022. case $host in
  35023. sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  35024. export_dynamic_flag_spec_FC='$wl-Blargedynsym'
  35025. ;;
  35026. esac
  35027. fi
  35028. fi
  35029. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5
  35030. $as_echo "$ld_shlibs_FC" >&6; }
  35031. test no = "$ld_shlibs_FC" && can_build_shared=no
  35032. with_gnu_ld_FC=$with_gnu_ld
  35033. #
  35034. # Do we need to explicitly link libc?
  35035. #
  35036. case "x$archive_cmds_need_lc_FC" in
  35037. x|xyes)
  35038. # Assume -lc should be added
  35039. archive_cmds_need_lc_FC=yes
  35040. if test yes,yes = "$GCC,$enable_shared"; then
  35041. case $archive_cmds_FC in
  35042. *'~'*)
  35043. # FIXME: we may have to deal with multi-command sequences.
  35044. ;;
  35045. '$CC '*)
  35046. # Test whether the compiler implicitly links with -lc since on some
  35047. # systems, -lgcc has to come before -lc. If gcc already passes -lc
  35048. # to ld, don't add -lc before -lgcc.
  35049. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
  35050. $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
  35051. if ${lt_cv_archive_cmds_need_lc_FC+:} false; then :
  35052. $as_echo_n "(cached) " >&6
  35053. else
  35054. $RM conftest*
  35055. echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  35056. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
  35057. (eval $ac_compile) 2>&5
  35058. ac_status=$?
  35059. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  35060. test $ac_status = 0; } 2>conftest.err; then
  35061. soname=conftest
  35062. lib=conftest
  35063. libobjs=conftest.$ac_objext
  35064. deplibs=
  35065. wl=$lt_prog_compiler_wl_FC
  35066. pic_flag=$lt_prog_compiler_pic_FC
  35067. compiler_flags=-v
  35068. linker_flags=-v
  35069. verstring=
  35070. output_objdir=.
  35071. libname=conftest
  35072. lt_save_allow_undefined_flag=$allow_undefined_flag_FC
  35073. allow_undefined_flag_FC=
  35074. if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
  35075. (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
  35076. ac_status=$?
  35077. $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  35078. test $ac_status = 0; }
  35079. then
  35080. lt_cv_archive_cmds_need_lc_FC=no
  35081. else
  35082. lt_cv_archive_cmds_need_lc_FC=yes
  35083. fi
  35084. allow_undefined_flag_FC=$lt_save_allow_undefined_flag
  35085. else
  35086. cat conftest.err 1>&5
  35087. fi
  35088. $RM conftest*
  35089. fi
  35090. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5
  35091. $as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; }
  35092. archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC
  35093. ;;
  35094. esac
  35095. fi
  35096. ;;
  35097. esac
  35098. { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
  35099. $as_echo_n "checking dynamic linker characteristics... " >&6; }
  35100. library_names_spec=
  35101. libname_spec='lib$name'
  35102. soname_spec=
  35103. shrext_cmds=.so
  35104. postinstall_cmds=
  35105. postuninstall_cmds=
  35106. finish_cmds=
  35107. finish_eval=
  35108. shlibpath_var=
  35109. shlibpath_overrides_runpath=unknown
  35110. version_type=none
  35111. dynamic_linker="$host_os ld.so"
  35112. sys_lib_dlsearch_path_spec="/lib /usr/lib"
  35113. need_lib_prefix=unknown
  35114. hardcode_into_libs=no
  35115. # when you set need_version to no, make sure it does not cause -set_version
  35116. # flags to be left without arguments
  35117. need_version=unknown
  35118. case $host_os in
  35119. aix3*)
  35120. version_type=linux # correct to gnu/linux during the next big refactor
  35121. library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
  35122. shlibpath_var=LIBPATH
  35123. # AIX 3 has no versioning support, so we append a major version to the name.
  35124. soname_spec='$libname$release$shared_ext$major'
  35125. ;;
  35126. aix[4-9]*)
  35127. version_type=linux # correct to gnu/linux during the next big refactor
  35128. need_lib_prefix=no
  35129. need_version=no
  35130. hardcode_into_libs=yes
  35131. if test ia64 = "$host_cpu"; then
  35132. # AIX 5 supports IA64
  35133. library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
  35134. shlibpath_var=LD_LIBRARY_PATH
  35135. else
  35136. # With GCC up to 2.95.x, collect2 would create an import file
  35137. # for dependence libraries. The import file would start with
  35138. # the line '#! .'. This would cause the generated library to
  35139. # depend on '.', always an invalid library. This was fixed in
  35140. # development snapshots of GCC prior to 3.0.
  35141. case $host_os in
  35142. aix4 | aix4.[01] | aix4.[01].*)
  35143. if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
  35144. echo ' yes '
  35145. echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
  35146. :
  35147. else
  35148. can_build_shared=no
  35149. fi
  35150. ;;
  35151. esac
  35152. # Using Import Files as archive members, it is possible to support
  35153. # filename-based versioning of shared library archives on AIX. While
  35154. # this would work for both with and without runtime linking, it will
  35155. # prevent static linking of such archives. So we do filename-based
  35156. # shared library versioning with .so extension only, which is used
  35157. # when both runtime linking and shared linking is enabled.
  35158. # Unfortunately, runtime linking may impact performance, so we do
  35159. # not want this to be the default eventually. Also, we use the
  35160. # versioned .so libs for executables only if there is the -brtl
  35161. # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
  35162. # To allow for filename-based versioning support, we need to create
  35163. # libNAME.so.V as an archive file, containing:
  35164. # *) an Import File, referring to the versioned filename of the
  35165. # archive as well as the shared archive member, telling the
  35166. # bitwidth (32 or 64) of that shared object, and providing the
  35167. # list of exported symbols of that shared object, eventually
  35168. # decorated with the 'weak' keyword
  35169. # *) the shared object with the F_LOADONLY flag set, to really avoid
  35170. # it being seen by the linker.
  35171. # At run time we better use the real file rather than another symlink,
  35172. # but for link time we create the symlink libNAME.so -> libNAME.so.V
  35173. case $with_aix_soname,$aix_use_runtimelinking in
  35174. # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
  35175. # soname into executable. Probably we can add versioning support to
  35176. # collect2, so additional links can be useful in future.
  35177. aix,yes) # traditional libtool
  35178. dynamic_linker='AIX unversionable lib.so'
  35179. # If using run time linking (on AIX 4.2 or later) use lib<name>.so
  35180. # instead of lib<name>.a to let people know that these are not
  35181. # typical AIX shared libraries.
  35182. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35183. ;;
  35184. aix,no) # traditional AIX only
  35185. dynamic_linker='AIX lib.a(lib.so.V)'
  35186. # We preserve .a as extension for shared libraries through AIX4.2
  35187. # and later when we are not doing run time linking.
  35188. library_names_spec='$libname$release.a $libname.a'
  35189. soname_spec='$libname$release$shared_ext$major'
  35190. ;;
  35191. svr4,*) # full svr4 only
  35192. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
  35193. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  35194. # We do not specify a path in Import Files, so LIBPATH fires.
  35195. shlibpath_overrides_runpath=yes
  35196. ;;
  35197. *,yes) # both, prefer svr4
  35198. dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
  35199. library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
  35200. # unpreferred sharedlib libNAME.a needs extra handling
  35201. postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
  35202. postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
  35203. # We do not specify a path in Import Files, so LIBPATH fires.
  35204. shlibpath_overrides_runpath=yes
  35205. ;;
  35206. *,no) # both, prefer aix
  35207. dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
  35208. library_names_spec='$libname$release.a $libname.a'
  35209. soname_spec='$libname$release$shared_ext$major'
  35210. # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
  35211. postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
  35212. postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
  35213. ;;
  35214. esac
  35215. shlibpath_var=LIBPATH
  35216. fi
  35217. ;;
  35218. amigaos*)
  35219. case $host_cpu in
  35220. powerpc)
  35221. # Since July 2007 AmigaOS4 officially supports .so libraries.
  35222. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
  35223. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35224. ;;
  35225. m68k)
  35226. library_names_spec='$libname.ixlibrary $libname.a'
  35227. # Create ${libname}_ixlibrary.a entries in /sys/libs.
  35228. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
  35229. ;;
  35230. esac
  35231. ;;
  35232. beos*)
  35233. library_names_spec='$libname$shared_ext'
  35234. dynamic_linker="$host_os ld.so"
  35235. shlibpath_var=LIBRARY_PATH
  35236. ;;
  35237. bsdi[45]*)
  35238. version_type=linux # correct to gnu/linux during the next big refactor
  35239. need_version=no
  35240. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35241. soname_spec='$libname$release$shared_ext$major'
  35242. finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
  35243. shlibpath_var=LD_LIBRARY_PATH
  35244. sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
  35245. sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
  35246. # the default ld.so.conf also contains /usr/contrib/lib and
  35247. # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
  35248. # libtool to hard-code these into programs
  35249. ;;
  35250. cygwin* | mingw* | pw32* | cegcc*)
  35251. version_type=windows
  35252. shrext_cmds=.dll
  35253. need_version=no
  35254. need_lib_prefix=no
  35255. case $GCC,$cc_basename in
  35256. yes,*)
  35257. # gcc
  35258. library_names_spec='$libname.dll.a'
  35259. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  35260. postinstall_cmds='base_file=`basename \$file`~
  35261. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  35262. dldir=$destdir/`dirname \$dlpath`~
  35263. test -d \$dldir || mkdir -p \$dldir~
  35264. $install_prog $dir/$dlname \$dldir/$dlname~
  35265. chmod a+x \$dldir/$dlname~
  35266. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  35267. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  35268. fi'
  35269. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  35270. dlpath=$dir/\$dldll~
  35271. $RM \$dlpath'
  35272. shlibpath_overrides_runpath=yes
  35273. case $host_os in
  35274. cygwin*)
  35275. # Cygwin DLLs use 'cyg' prefix rather than 'lib'
  35276. soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  35277. ;;
  35278. mingw* | cegcc*)
  35279. # MinGW DLLs use traditional 'lib' prefix
  35280. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  35281. ;;
  35282. pw32*)
  35283. # pw32 DLLs use 'pw' prefix rather than 'lib'
  35284. library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  35285. ;;
  35286. esac
  35287. dynamic_linker='Win32 ld.exe'
  35288. ;;
  35289. *,cl*)
  35290. # Native MSVC
  35291. libname_spec='$name'
  35292. soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
  35293. library_names_spec='$libname.dll.lib'
  35294. case $build_os in
  35295. mingw*)
  35296. sys_lib_search_path_spec=
  35297. lt_save_ifs=$IFS
  35298. IFS=';'
  35299. for lt_path in $LIB
  35300. do
  35301. IFS=$lt_save_ifs
  35302. # Let DOS variable expansion print the short 8.3 style file name.
  35303. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
  35304. sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
  35305. done
  35306. IFS=$lt_save_ifs
  35307. # Convert to MSYS style.
  35308. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
  35309. ;;
  35310. cygwin*)
  35311. # Convert to unix form, then to dos form, then back to unix form
  35312. # but this time dos style (no spaces!) so that the unix form looks
  35313. # like /cygdrive/c/PROGRA~1:/cygdr...
  35314. sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
  35315. sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
  35316. sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  35317. ;;
  35318. *)
  35319. sys_lib_search_path_spec=$LIB
  35320. if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
  35321. # It is most probably a Windows format PATH.
  35322. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
  35323. else
  35324. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
  35325. fi
  35326. # FIXME: find the short name or the path components, as spaces are
  35327. # common. (e.g. "Program Files" -> "PROGRA~1")
  35328. ;;
  35329. esac
  35330. # DLL is installed to $(libdir)/../bin by postinstall_cmds
  35331. postinstall_cmds='base_file=`basename \$file`~
  35332. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
  35333. dldir=$destdir/`dirname \$dlpath`~
  35334. test -d \$dldir || mkdir -p \$dldir~
  35335. $install_prog $dir/$dlname \$dldir/$dlname'
  35336. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
  35337. dlpath=$dir/\$dldll~
  35338. $RM \$dlpath'
  35339. shlibpath_overrides_runpath=yes
  35340. dynamic_linker='Win32 link.exe'
  35341. ;;
  35342. *)
  35343. # Assume MSVC wrapper
  35344. library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
  35345. dynamic_linker='Win32 ld.exe'
  35346. ;;
  35347. esac
  35348. # FIXME: first we should search . and the directory the executable is in
  35349. shlibpath_var=PATH
  35350. ;;
  35351. darwin* | rhapsody*)
  35352. dynamic_linker="$host_os dyld"
  35353. version_type=darwin
  35354. need_lib_prefix=no
  35355. need_version=no
  35356. library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
  35357. soname_spec='$libname$release$major$shared_ext'
  35358. shlibpath_overrides_runpath=yes
  35359. shlibpath_var=DYLD_LIBRARY_PATH
  35360. shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
  35361. sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
  35362. ;;
  35363. dgux*)
  35364. version_type=linux # correct to gnu/linux during the next big refactor
  35365. need_lib_prefix=no
  35366. need_version=no
  35367. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35368. soname_spec='$libname$release$shared_ext$major'
  35369. shlibpath_var=LD_LIBRARY_PATH
  35370. ;;
  35371. freebsd* | dragonfly*)
  35372. # DragonFly does not have aout. When/if they implement a new
  35373. # versioning mechanism, adjust this.
  35374. if test -x /usr/bin/objformat; then
  35375. objformat=`/usr/bin/objformat`
  35376. else
  35377. case $host_os in
  35378. freebsd[23].*) objformat=aout ;;
  35379. *) objformat=elf ;;
  35380. esac
  35381. fi
  35382. version_type=freebsd-$objformat
  35383. case $version_type in
  35384. freebsd-elf*)
  35385. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35386. soname_spec='$libname$release$shared_ext$major'
  35387. need_version=no
  35388. need_lib_prefix=no
  35389. ;;
  35390. freebsd-*)
  35391. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  35392. need_version=yes
  35393. ;;
  35394. esac
  35395. shlibpath_var=LD_LIBRARY_PATH
  35396. case $host_os in
  35397. freebsd2.*)
  35398. shlibpath_overrides_runpath=yes
  35399. ;;
  35400. freebsd3.[01]* | freebsdelf3.[01]*)
  35401. shlibpath_overrides_runpath=yes
  35402. hardcode_into_libs=yes
  35403. ;;
  35404. freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
  35405. freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
  35406. shlibpath_overrides_runpath=no
  35407. hardcode_into_libs=yes
  35408. ;;
  35409. *) # from 4.6 on, and DragonFly
  35410. shlibpath_overrides_runpath=yes
  35411. hardcode_into_libs=yes
  35412. ;;
  35413. esac
  35414. ;;
  35415. haiku*)
  35416. version_type=linux # correct to gnu/linux during the next big refactor
  35417. need_lib_prefix=no
  35418. need_version=no
  35419. dynamic_linker="$host_os runtime_loader"
  35420. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35421. soname_spec='$libname$release$shared_ext$major'
  35422. shlibpath_var=LIBRARY_PATH
  35423. shlibpath_overrides_runpath=no
  35424. sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
  35425. hardcode_into_libs=yes
  35426. ;;
  35427. hpux9* | hpux10* | hpux11*)
  35428. # Give a soname corresponding to the major version so that dld.sl refuses to
  35429. # link against other versions.
  35430. version_type=sunos
  35431. need_lib_prefix=no
  35432. need_version=no
  35433. case $host_cpu in
  35434. ia64*)
  35435. shrext_cmds='.so'
  35436. hardcode_into_libs=yes
  35437. dynamic_linker="$host_os dld.so"
  35438. shlibpath_var=LD_LIBRARY_PATH
  35439. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  35440. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35441. soname_spec='$libname$release$shared_ext$major'
  35442. if test 32 = "$HPUX_IA64_MODE"; then
  35443. sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
  35444. sys_lib_dlsearch_path_spec=/usr/lib/hpux32
  35445. else
  35446. sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
  35447. sys_lib_dlsearch_path_spec=/usr/lib/hpux64
  35448. fi
  35449. ;;
  35450. hppa*64*)
  35451. shrext_cmds='.sl'
  35452. hardcode_into_libs=yes
  35453. dynamic_linker="$host_os dld.sl"
  35454. shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
  35455. shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
  35456. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35457. soname_spec='$libname$release$shared_ext$major'
  35458. sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
  35459. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  35460. ;;
  35461. *)
  35462. shrext_cmds='.sl'
  35463. dynamic_linker="$host_os dld.sl"
  35464. shlibpath_var=SHLIB_PATH
  35465. shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
  35466. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35467. soname_spec='$libname$release$shared_ext$major'
  35468. ;;
  35469. esac
  35470. # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
  35471. postinstall_cmds='chmod 555 $lib'
  35472. # or fails outright, so override atomically:
  35473. install_override_mode=555
  35474. ;;
  35475. interix[3-9]*)
  35476. version_type=linux # correct to gnu/linux during the next big refactor
  35477. need_lib_prefix=no
  35478. need_version=no
  35479. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35480. soname_spec='$libname$release$shared_ext$major'
  35481. dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
  35482. shlibpath_var=LD_LIBRARY_PATH
  35483. shlibpath_overrides_runpath=no
  35484. hardcode_into_libs=yes
  35485. ;;
  35486. irix5* | irix6* | nonstopux*)
  35487. case $host_os in
  35488. nonstopux*) version_type=nonstopux ;;
  35489. *)
  35490. if test yes = "$lt_cv_prog_gnu_ld"; then
  35491. version_type=linux # correct to gnu/linux during the next big refactor
  35492. else
  35493. version_type=irix
  35494. fi ;;
  35495. esac
  35496. need_lib_prefix=no
  35497. need_version=no
  35498. soname_spec='$libname$release$shared_ext$major'
  35499. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
  35500. case $host_os in
  35501. irix5* | nonstopux*)
  35502. libsuff= shlibsuff=
  35503. ;;
  35504. *)
  35505. case $LD in # libtool.m4 will add one of these switches to LD
  35506. *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
  35507. libsuff= shlibsuff= libmagic=32-bit;;
  35508. *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
  35509. libsuff=32 shlibsuff=N32 libmagic=N32;;
  35510. *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
  35511. libsuff=64 shlibsuff=64 libmagic=64-bit;;
  35512. *) libsuff= shlibsuff= libmagic=never-match;;
  35513. esac
  35514. ;;
  35515. esac
  35516. shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
  35517. shlibpath_overrides_runpath=no
  35518. sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
  35519. sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
  35520. hardcode_into_libs=yes
  35521. ;;
  35522. # No shared lib support for Linux oldld, aout, or coff.
  35523. linux*oldld* | linux*aout* | linux*coff*)
  35524. dynamic_linker=no
  35525. ;;
  35526. linux*android*)
  35527. version_type=none # Android doesn't support versioned libraries.
  35528. need_lib_prefix=no
  35529. need_version=no
  35530. library_names_spec='$libname$release$shared_ext'
  35531. soname_spec='$libname$release$shared_ext'
  35532. finish_cmds=
  35533. shlibpath_var=LD_LIBRARY_PATH
  35534. shlibpath_overrides_runpath=yes
  35535. # This implies no fast_install, which is unacceptable.
  35536. # Some rework will be needed to allow for fast_install
  35537. # before this can be enabled.
  35538. hardcode_into_libs=yes
  35539. dynamic_linker='Android linker'
  35540. # Don't embed -rpath directories since the linker doesn't support them.
  35541. hardcode_libdir_flag_spec_FC='-L$libdir'
  35542. ;;
  35543. # This must be glibc/ELF.
  35544. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
  35545. version_type=linux # correct to gnu/linux during the next big refactor
  35546. need_lib_prefix=no
  35547. need_version=no
  35548. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35549. soname_spec='$libname$release$shared_ext$major'
  35550. finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
  35551. shlibpath_var=LD_LIBRARY_PATH
  35552. shlibpath_overrides_runpath=no
  35553. # Some binutils ld are patched to set DT_RUNPATH
  35554. if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
  35555. $as_echo_n "(cached) " >&6
  35556. else
  35557. lt_cv_shlibpath_overrides_runpath=no
  35558. save_LDFLAGS=$LDFLAGS
  35559. save_libdir=$libdir
  35560. eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \
  35561. LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\""
  35562. cat > conftest.$ac_ext <<_ACEOF
  35563. program main
  35564. end
  35565. _ACEOF
  35566. if ac_fn_fc_try_link "$LINENO"; then :
  35567. if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
  35568. lt_cv_shlibpath_overrides_runpath=yes
  35569. fi
  35570. fi
  35571. rm -f core conftest.err conftest.$ac_objext \
  35572. conftest$ac_exeext conftest.$ac_ext
  35573. LDFLAGS=$save_LDFLAGS
  35574. libdir=$save_libdir
  35575. fi
  35576. shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
  35577. # This implies no fast_install, which is unacceptable.
  35578. # Some rework will be needed to allow for fast_install
  35579. # before this can be enabled.
  35580. hardcode_into_libs=yes
  35581. # Ideally, we could use ldconfig to report *all* directores which are
  35582. # searched for libraries, however this is still not possible. Aside from not
  35583. # being certain /sbin/ldconfig is available, command
  35584. # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
  35585. # even though it is searched at run-time. Try to do the best guess by
  35586. # appending ld.so.conf contents (and includes) to the search path.
  35587. if test -f /etc/ld.so.conf; then
  35588. lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
  35589. sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
  35590. fi
  35591. # We used to test for /lib/ld.so.1 and disable shared libraries on
  35592. # powerpc, because MkLinux only supported shared libraries with the
  35593. # GNU dynamic linker. Since this was broken with cross compilers,
  35594. # most powerpc-linux boxes support dynamic linking these days and
  35595. # people can always --disable-shared, the test was removed, and we
  35596. # assume the GNU/Linux dynamic linker is in use.
  35597. dynamic_linker='GNU/Linux ld.so'
  35598. ;;
  35599. netbsd*)
  35600. version_type=sunos
  35601. need_lib_prefix=no
  35602. need_version=no
  35603. if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  35604. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  35605. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  35606. dynamic_linker='NetBSD (a.out) ld.so'
  35607. else
  35608. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35609. soname_spec='$libname$release$shared_ext$major'
  35610. dynamic_linker='NetBSD ld.elf_so'
  35611. fi
  35612. shlibpath_var=LD_LIBRARY_PATH
  35613. shlibpath_overrides_runpath=yes
  35614. hardcode_into_libs=yes
  35615. ;;
  35616. newsos6)
  35617. version_type=linux # correct to gnu/linux during the next big refactor
  35618. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35619. shlibpath_var=LD_LIBRARY_PATH
  35620. shlibpath_overrides_runpath=yes
  35621. ;;
  35622. *nto* | *qnx*)
  35623. version_type=qnx
  35624. need_lib_prefix=no
  35625. need_version=no
  35626. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35627. soname_spec='$libname$release$shared_ext$major'
  35628. shlibpath_var=LD_LIBRARY_PATH
  35629. shlibpath_overrides_runpath=no
  35630. hardcode_into_libs=yes
  35631. dynamic_linker='ldqnx.so'
  35632. ;;
  35633. openbsd* | bitrig*)
  35634. version_type=sunos
  35635. sys_lib_dlsearch_path_spec=/usr/lib
  35636. need_lib_prefix=no
  35637. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
  35638. need_version=no
  35639. else
  35640. need_version=yes
  35641. fi
  35642. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  35643. finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
  35644. shlibpath_var=LD_LIBRARY_PATH
  35645. shlibpath_overrides_runpath=yes
  35646. ;;
  35647. os2*)
  35648. libname_spec='$name'
  35649. version_type=windows
  35650. shrext_cmds=.dll
  35651. need_version=no
  35652. need_lib_prefix=no
  35653. # OS/2 can only load a DLL with a base name of 8 characters or less.
  35654. soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
  35655. v=$($ECHO $release$versuffix | tr -d .-);
  35656. n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
  35657. $ECHO $n$v`$shared_ext'
  35658. library_names_spec='${libname}_dll.$libext'
  35659. dynamic_linker='OS/2 ld.exe'
  35660. shlibpath_var=BEGINLIBPATH
  35661. sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
  35662. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  35663. postinstall_cmds='base_file=`basename \$file`~
  35664. dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
  35665. dldir=$destdir/`dirname \$dlpath`~
  35666. test -d \$dldir || mkdir -p \$dldir~
  35667. $install_prog $dir/$dlname \$dldir/$dlname~
  35668. chmod a+x \$dldir/$dlname~
  35669. if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
  35670. eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
  35671. fi'
  35672. postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
  35673. dlpath=$dir/\$dldll~
  35674. $RM \$dlpath'
  35675. ;;
  35676. osf3* | osf4* | osf5*)
  35677. version_type=osf
  35678. need_lib_prefix=no
  35679. need_version=no
  35680. soname_spec='$libname$release$shared_ext$major'
  35681. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35682. shlibpath_var=LD_LIBRARY_PATH
  35683. sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
  35684. sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
  35685. ;;
  35686. rdos*)
  35687. dynamic_linker=no
  35688. ;;
  35689. solaris*)
  35690. version_type=linux # correct to gnu/linux during the next big refactor
  35691. need_lib_prefix=no
  35692. need_version=no
  35693. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35694. soname_spec='$libname$release$shared_ext$major'
  35695. shlibpath_var=LD_LIBRARY_PATH
  35696. shlibpath_overrides_runpath=yes
  35697. hardcode_into_libs=yes
  35698. # ldd complains unless libraries are executable
  35699. postinstall_cmds='chmod +x $lib'
  35700. ;;
  35701. sunos4*)
  35702. version_type=sunos
  35703. library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
  35704. finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
  35705. shlibpath_var=LD_LIBRARY_PATH
  35706. shlibpath_overrides_runpath=yes
  35707. if test yes = "$with_gnu_ld"; then
  35708. need_lib_prefix=no
  35709. fi
  35710. need_version=yes
  35711. ;;
  35712. sysv4 | sysv4.3*)
  35713. version_type=linux # correct to gnu/linux during the next big refactor
  35714. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35715. soname_spec='$libname$release$shared_ext$major'
  35716. shlibpath_var=LD_LIBRARY_PATH
  35717. case $host_vendor in
  35718. sni)
  35719. shlibpath_overrides_runpath=no
  35720. need_lib_prefix=no
  35721. runpath_var=LD_RUN_PATH
  35722. ;;
  35723. siemens)
  35724. need_lib_prefix=no
  35725. ;;
  35726. motorola)
  35727. need_lib_prefix=no
  35728. need_version=no
  35729. shlibpath_overrides_runpath=no
  35730. sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
  35731. ;;
  35732. esac
  35733. ;;
  35734. sysv4*MP*)
  35735. if test -d /usr/nec; then
  35736. version_type=linux # correct to gnu/linux during the next big refactor
  35737. library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
  35738. soname_spec='$libname$shared_ext.$major'
  35739. shlibpath_var=LD_LIBRARY_PATH
  35740. fi
  35741. ;;
  35742. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  35743. version_type=sco
  35744. need_lib_prefix=no
  35745. need_version=no
  35746. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
  35747. soname_spec='$libname$release$shared_ext$major'
  35748. shlibpath_var=LD_LIBRARY_PATH
  35749. shlibpath_overrides_runpath=yes
  35750. hardcode_into_libs=yes
  35751. if test yes = "$with_gnu_ld"; then
  35752. sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
  35753. else
  35754. sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
  35755. case $host_os in
  35756. sco3.2v5*)
  35757. sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
  35758. ;;
  35759. esac
  35760. fi
  35761. sys_lib_dlsearch_path_spec='/usr/lib'
  35762. ;;
  35763. tpf*)
  35764. # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
  35765. version_type=linux # correct to gnu/linux during the next big refactor
  35766. need_lib_prefix=no
  35767. need_version=no
  35768. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35769. shlibpath_var=LD_LIBRARY_PATH
  35770. shlibpath_overrides_runpath=no
  35771. hardcode_into_libs=yes
  35772. ;;
  35773. uts4*)
  35774. version_type=linux # correct to gnu/linux during the next big refactor
  35775. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
  35776. soname_spec='$libname$release$shared_ext$major'
  35777. shlibpath_var=LD_LIBRARY_PATH
  35778. ;;
  35779. *)
  35780. dynamic_linker=no
  35781. ;;
  35782. esac
  35783. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
  35784. $as_echo "$dynamic_linker" >&6; }
  35785. test no = "$dynamic_linker" && can_build_shared=no
  35786. variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
  35787. if test yes = "$GCC"; then
  35788. variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
  35789. fi
  35790. if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
  35791. sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
  35792. fi
  35793. if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
  35794. sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
  35795. fi
  35796. # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
  35797. configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
  35798. # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
  35799. func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
  35800. # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
  35801. configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
  35802. { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
  35803. $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
  35804. hardcode_action_FC=
  35805. if test -n "$hardcode_libdir_flag_spec_FC" ||
  35806. test -n "$runpath_var_FC" ||
  35807. test yes = "$hardcode_automatic_FC"; then
  35808. # We can hardcode non-existent directories.
  35809. if test no != "$hardcode_direct_FC" &&
  35810. # If the only mechanism to avoid hardcoding is shlibpath_var, we
  35811. # have to relink, otherwise we might link with an installed library
  35812. # when we should be linking with a yet-to-be-installed one
  35813. ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" &&
  35814. test no != "$hardcode_minus_L_FC"; then
  35815. # Linking always hardcodes the temporary library directory.
  35816. hardcode_action_FC=relink
  35817. else
  35818. # We can link without hardcoding, and we can hardcode nonexisting dirs.
  35819. hardcode_action_FC=immediate
  35820. fi
  35821. else
  35822. # We cannot hardcode anything, or else we can only hardcode existing
  35823. # directories.
  35824. hardcode_action_FC=unsupported
  35825. fi
  35826. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5
  35827. $as_echo "$hardcode_action_FC" >&6; }
  35828. if test relink = "$hardcode_action_FC" ||
  35829. test yes = "$inherit_rpath_FC"; then
  35830. # Fast installation is not supported
  35831. enable_fast_install=no
  35832. elif test yes = "$shlibpath_overrides_runpath" ||
  35833. test no = "$enable_shared"; then
  35834. # Fast installation is not necessary
  35835. enable_fast_install=needless
  35836. fi
  35837. fi # test -n "$compiler"
  35838. GCC=$lt_save_GCC
  35839. CC=$lt_save_CC
  35840. CFLAGS=$lt_save_CFLAGS
  35841. fi # test yes != "$_lt_disable_FC"
  35842. ac_ext=cpp
  35843. ac_cpp='$CXXCPP $CPPFLAGS'
  35844. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  35845. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  35846. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  35847. ac_config_commands="$ac_config_commands libtool"
  35848. # Only expand once:
  35849. #-----------------------------------------------------
  35850. # See if the user requested --enable-all-static
  35851. #-----------------------------------------------------
  35852. # Check whether --enable-all-static was given.
  35853. if test "${enable_all_static+set}" = set; then :
  35854. enableval=$enable_all_static; enableallstatic=$enableval
  35855. else
  35856. enableallstatic=no
  35857. fi
  35858. if test "x$enableallstatic" = "xyes"; then :
  35859. if test "x$libmesh_LDFLAGS" != "x"; then :
  35860. libmesh_LDFLAGS="$libmesh_LDFLAGS -all-static"
  35861. else
  35862. libmesh_LDFLAGS=-all-static
  35863. fi
  35864. fi
  35865. # --------------------------------------------------------------
  35866. # Release versioning - after we find the C++ compiler
  35867. # --------------------------------------------------------------
  35868. AX_MAJOR_VERSION=`echo "$VERSION" | $SED 's/\([^.][^.]*\).*/\1/'`
  35869. AX_MINOR_VERSION=`echo "$VERSION" | $SED -n 's/[^.][^.]*.\([^.][^.]*\).*/\1/p'`
  35870. if test "x$AX_MINOR_VERSION" = "x"; then :
  35871. AX_MINOR_VERSION=0
  35872. fi
  35873. AX_POINT_VERSION=`echo "$VERSION" | $SED -n 's/[^.][^.]*.[^.][^.]*.\(.*\)/\1/p'`
  35874. if test "x$AX_POINT_VERSION" = "x"; then :
  35875. AX_POINT_VERSION=0
  35876. fi
  35877. { $as_echo "$as_me:${as_lineno-$LINENO}: checking Major version" >&5
  35878. $as_echo_n "checking Major version... " >&6; }
  35879. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AX_MAJOR_VERSION" >&5
  35880. $as_echo "$AX_MAJOR_VERSION" >&6; }
  35881. { $as_echo "$as_me:${as_lineno-$LINENO}: checking Minor version" >&5
  35882. $as_echo_n "checking Minor version... " >&6; }
  35883. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AX_MINOR_VERSION" >&5
  35884. $as_echo "$AX_MINOR_VERSION" >&6; }
  35885. { $as_echo "$as_me:${as_lineno-$LINENO}: checking Point version" >&5
  35886. $as_echo_n "checking Point version... " >&6; }
  35887. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AX_POINT_VERSION" >&5
  35888. $as_echo "$AX_POINT_VERSION" >&6; }
  35889. # Strip any '-pre' suffix from version; our code expects a number
  35890. LIBMESH_NUMERIC_POINT_VERSION=`echo "$AX_POINT_VERSION" | $SED 's/-.*//'`
  35891. cat >>confdefs.h <<_ACEOF
  35892. #define MAJOR_VERSION $AX_MAJOR_VERSION
  35893. _ACEOF
  35894. cat >>confdefs.h <<_ACEOF
  35895. #define MINOR_VERSION $AX_MINOR_VERSION
  35896. _ACEOF
  35897. cat >>confdefs.h <<_ACEOF
  35898. #define MICRO_VERSION $LIBMESH_NUMERIC_POINT_VERSION
  35899. _ACEOF
  35900. cat >>confdefs.h <<_ACEOF
  35901. #define LIB_VERSION "$VERSION"
  35902. _ACEOF
  35903. cat >>confdefs.h <<_ACEOF
  35904. #define LIB_RELEASE "$BUILD_DEVSTATUS"
  35905. _ACEOF
  35906. cat >>confdefs.h <<_ACEOF
  35907. #define CXX "$CXX"
  35908. _ACEOF
  35909. cat >>confdefs.h <<_ACEOF
  35910. #define IO_COMPATIBILITY_VERSION "0.7.4"
  35911. _ACEOF
  35912. # --------------------------------------------------------------
  35913. # Portable symbolic links
  35914. # --------------------------------------------------------------
  35915. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
  35916. $as_echo_n "checking whether ln -s works... " >&6; }
  35917. LN_S=$as_ln_s
  35918. if test "$LN_S" = "ln -s"; then
  35919. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  35920. $as_echo "yes" >&6; }
  35921. else
  35922. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
  35923. $as_echo "no, using $LN_S" >&6; }
  35924. fi
  35925. # -------------------------------------------------------------
  35926. # ---------------------------------------------------------------
  35927. # this seems to get done automatically for C++, but not C?
  35928. # Required for QHull rules as implemented
  35929. # --------------------------------------------------------------
  35930. # --------------------------------------------------------------
  35931. # --------------------------------------------------------------
  35932. # parent directories -- portably and without race conditions
  35933. # --------------------------------------------------------------
  35934. # -------------------------------------------------------------
  35935. # --------------------------------------------------------------
  35936. # nice sed that doesn't truncate output
  35937. # --------------------------------------------------------------
  35938. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
  35939. $as_echo_n "checking for a sed that does not truncate output... " >&6; }
  35940. if ${ac_cv_path_SED+:} false; then :
  35941. $as_echo_n "(cached) " >&6
  35942. else
  35943. ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
  35944. for ac_i in 1 2 3 4 5 6 7; do
  35945. ac_script="$ac_script$as_nl$ac_script"
  35946. done
  35947. echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
  35948. { ac_script=; unset ac_script;}
  35949. if test -z "$SED"; then
  35950. ac_path_SED_found=false
  35951. # Loop through the user's path and test for each of PROGNAME-LIST
  35952. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  35953. for as_dir in $PATH
  35954. do
  35955. IFS=$as_save_IFS
  35956. test -z "$as_dir" && as_dir=.
  35957. for ac_prog in sed gsed; do
  35958. for ac_exec_ext in '' $ac_executable_extensions; do
  35959. ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
  35960. as_fn_executable_p "$ac_path_SED" || continue
  35961. # Check for GNU ac_path_SED and select it if it is found.
  35962. # Check for GNU $ac_path_SED
  35963. case `"$ac_path_SED" --version 2>&1` in
  35964. *GNU*)
  35965. ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
  35966. *)
  35967. ac_count=0
  35968. $as_echo_n 0123456789 >"conftest.in"
  35969. while :
  35970. do
  35971. cat "conftest.in" "conftest.in" >"conftest.tmp"
  35972. mv "conftest.tmp" "conftest.in"
  35973. cp "conftest.in" "conftest.nl"
  35974. $as_echo '' >> "conftest.nl"
  35975. "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
  35976. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  35977. as_fn_arith $ac_count + 1 && ac_count=$as_val
  35978. if test $ac_count -gt ${ac_path_SED_max-0}; then
  35979. # Best one so far, save it but keep looking for a better one
  35980. ac_cv_path_SED="$ac_path_SED"
  35981. ac_path_SED_max=$ac_count
  35982. fi
  35983. # 10*(2^10) chars as input seems more than enough
  35984. test $ac_count -gt 10 && break
  35985. done
  35986. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  35987. esac
  35988. $ac_path_SED_found && break 3
  35989. done
  35990. done
  35991. done
  35992. IFS=$as_save_IFS
  35993. if test -z "$ac_cv_path_SED"; then
  35994. as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
  35995. fi
  35996. else
  35997. ac_cv_path_SED=$SED
  35998. fi
  35999. fi
  36000. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
  36001. $as_echo "$ac_cv_path_SED" >&6; }
  36002. SED="$ac_cv_path_SED"
  36003. rm -f conftest.sed
  36004. # --------------------------------------------------------------
  36005. # -------------------------------------------------------------
  36006. # pkg-config - used to configure installed packages. We can
  36007. # use it to query our installed targets, if it exists.
  36008. # Otherwise we can fall back to libmesh-config.
  36009. #
  36010. # Not required to build libmesh, but we can install a config
  36011. # file so that users can use 'pkg-config libmesh ...'
  36012. # -------------------------------------------------------------
  36013. if test -z "$PKG_CONFIG"; then :
  36014. # Extract the first word of "pkg-config", so it can be a program name with args.
  36015. set dummy pkg-config; ac_word=$2
  36016. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  36017. $as_echo_n "checking for $ac_word... " >&6; }
  36018. if ${ac_cv_path_PKG_CONFIG+:} false; then :
  36019. $as_echo_n "(cached) " >&6
  36020. else
  36021. case $PKG_CONFIG in
  36022. [\\/]* | ?:[\\/]*)
  36023. ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
  36024. ;;
  36025. *)
  36026. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  36027. for as_dir in $PATH
  36028. do
  36029. IFS=$as_save_IFS
  36030. test -z "$as_dir" && as_dir=.
  36031. for ac_exec_ext in '' $ac_executable_extensions; do
  36032. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  36033. ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
  36034. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  36035. break 2
  36036. fi
  36037. done
  36038. done
  36039. IFS=$as_save_IFS
  36040. test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
  36041. ;;
  36042. esac
  36043. fi
  36044. PKG_CONFIG=$ac_cv_path_PKG_CONFIG
  36045. if test -n "$PKG_CONFIG"; then
  36046. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
  36047. $as_echo "$PKG_CONFIG" >&6; }
  36048. else
  36049. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  36050. $as_echo "no" >&6; }
  36051. fi
  36052. fi
  36053. # -------------------------------------------------------------
  36054. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5
  36055. $as_echo_n "checking whether the compiler implements namespaces... " >&6; }
  36056. if ${ac_cv_cxx_namespaces+:} false; then :
  36057. $as_echo_n "(cached) " >&6
  36058. else
  36059. ac_ext=cpp
  36060. ac_cpp='$CXXCPP $CPPFLAGS'
  36061. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36062. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36063. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36064. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36065. /* end confdefs.h. */
  36066. namespace Outer { namespace Inner { int i = 0; }}
  36067. int
  36068. main ()
  36069. {
  36070. using namespace Outer::Inner; return i;
  36071. ;
  36072. return 0;
  36073. }
  36074. _ACEOF
  36075. if ac_fn_cxx_try_compile "$LINENO"; then :
  36076. ac_cv_cxx_namespaces=yes
  36077. else
  36078. ac_cv_cxx_namespaces=no
  36079. fi
  36080. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36081. ac_ext=cpp
  36082. ac_cpp='$CXXCPP $CPPFLAGS'
  36083. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36084. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36085. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36086. fi
  36087. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5
  36088. $as_echo "$ac_cv_cxx_namespaces" >&6; }
  36089. if test "x$ac_cv_cxx_namespaces" = "xyes"; then :
  36090. $as_echo "#define HAVE_NAMESPACES /**/" >>confdefs.h
  36091. fi
  36092. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  36093. $as_echo "---------------------------------------------" >&6; }
  36094. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ------- Configuring compiler features -------" >&5
  36095. $as_echo "------- Configuring compiler features -------" >&6; }
  36096. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  36097. $as_echo "---------------------------------------------" >&6; }
  36098. # Test using the devel mode flags, which should include any
  36099. # user-specified flags
  36100. libmesh_compiler_features_save_CXXFLAGS="$CXXFLAGS"
  36101. CXXFLAGS="$CXXFLAGS_DEVEL"
  36102. ac_ext=cpp
  36103. ac_cpp='$CXXCPP $CPPFLAGS'
  36104. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36105. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36106. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36107. # --------------------------------------------------------------
  36108. # Real precision - double by default
  36109. # --------------------------------------------------------------
  36110. # Check whether --enable-singleprecision was given.
  36111. if test "${enable_singleprecision+set}" = set; then :
  36112. enableval=$enable_singleprecision; enablesingleprecision=$enableval
  36113. else
  36114. enablesingleprecision=no
  36115. fi
  36116. # Check whether --enable-tripleprecision was given.
  36117. if test "${enable_tripleprecision+set}" = set; then :
  36118. enableval=$enable_tripleprecision; enabletripleprecision=$enableval
  36119. else
  36120. enabletripleprecision=no
  36121. fi
  36122. # Check whether --enable-quadrupleprecision was given.
  36123. if test "${enable_quadrupleprecision+set}" = set; then :
  36124. enableval=$enable_quadrupleprecision; enablequadrupleprecision=$enableval
  36125. else
  36126. enablequadrupleprecision=no
  36127. fi
  36128. libmesh_precision_LIBS=""
  36129. if test "x$enablesingleprecision" != "xno"; then :
  36130. if test "x$enabletripleprecision" != "xno"; then :
  36131. as_fn_error $? "<<< Cannot simultaneously default to single and triple precision >>>" "$LINENO" 5
  36132. elif test "x$enablequadrupleprecision" != "xno"; then :
  36133. as_fn_error $? "<<< Cannot simultaneously default to single and quadruple precision >>>" "$LINENO" 5
  36134. else
  36135. $as_echo "#define DEFAULT_SINGLE_PRECISION 1" >>confdefs.h
  36136. $as_echo "#define DEFAULT_SCALAR_TYPE float" >>confdefs.h
  36137. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Default floating point is single precision (float) >>>" >&5
  36138. $as_echo "<<< Default floating point is single precision (float) >>>" >&6; }
  36139. fi
  36140. elif test "x$enabletripleprecision" != "xno"; then :
  36141. if test "x$enablequadrupleprecision" != "xno"; then :
  36142. as_fn_error $? "<<< Cannot simultaneously default to single and quadruple precision >>>" "$LINENO" 5
  36143. else
  36144. $as_echo "#define DEFAULT_TRIPLE_PRECISION 1" >>confdefs.h
  36145. $as_echo "#define DEFAULT_SCALAR_TYPE long double" >>confdefs.h
  36146. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Default floating point is triple precision (long double) >>>" >&5
  36147. $as_echo "<<< Default floating point is triple precision (long double) >>>" >&6; }
  36148. fi
  36149. elif test "x$enablequadrupleprecision" != "xno"; then :
  36150. $as_echo "#define DEFAULT_QUADRUPLE_PRECISION 1" >>confdefs.h
  36151. $as_echo "#define DEFAULT_SCALAR_TYPE boost::multiprecision::float128" >>confdefs.h
  36152. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Default floating point is quadruple precision (boost::multiprecision::float128) >>>" >&5
  36153. $as_echo "<<< Default floating point is quadruple precision (boost::multiprecision::float128) >>>" >&6; }
  36154. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a trivial quad precision program" >&5
  36155. $as_echo_n "checking whether we can build a trivial quad precision program... " >&6; }
  36156. saveLIBS="$LIBS"
  36157. if test "x$REAL_GXX" != "x"; then :
  36158. libmesh_precision_LIBS="-lquadmath"
  36159. LIBS="$saveLIBS -lquadmath"
  36160. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36161. /* end confdefs.h. */
  36162. #include <quadmath.h>
  36163. int main(int argc, char **argv)
  36164. {
  36165. __float128 f = 1;
  36166. return isinfq(f);
  36167. }
  36168. _ACEOF
  36169. if ac_fn_cxx_try_link "$LINENO"; then :
  36170. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  36171. $as_echo "yes" >&6; }
  36172. else
  36173. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  36174. $as_echo "no" >&6; }
  36175. as_fn_error $? "*** Quad precision specified, gcc detected, but quadmath not found." "$LINENO" 5
  36176. enablequadrupleprecision=no
  36177. fi
  36178. rm -f core conftest.err conftest.$ac_objext \
  36179. conftest$ac_exeext conftest.$ac_ext
  36180. elif test "x$is_intel_icc" != "x"; then :
  36181. libmesh_precision_LIBS=""
  36182. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36183. /* end confdefs.h. */
  36184. #include <mathimf.h>
  36185. int main(int argc, char **argv)
  36186. {
  36187. _Quad f = 0;
  36188. return int(__cosq(f));
  36189. }
  36190. _ACEOF
  36191. if ac_fn_cxx_try_link "$LINENO"; then :
  36192. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  36193. $as_echo "yes" >&6; }
  36194. else
  36195. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  36196. $as_echo "no" >&6; }
  36197. as_fn_error $? "*** Quad precision specified, Intel detected, but mathimf not found." "$LINENO" 5
  36198. enablequadrupleprecision=no
  36199. fi
  36200. rm -f core conftest.err conftest.$ac_objext \
  36201. conftest$ac_exeext conftest.$ac_ext
  36202. fi
  36203. LIBS="$saveLIBS"
  36204. else
  36205. $as_echo "#define DEFAULT_DOUBLE_PRECISION 1" >>confdefs.h
  36206. $as_echo "#define DEFAULT_SCALAR_TYPE double" >>confdefs.h
  36207. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Default floating point is double precision (double) >>>" >&5
  36208. $as_echo "<<< Default floating point is double precision (double) >>>" >&6; }
  36209. fi
  36210. # --------------------------------------------------------------
  36211. # Determine support for the C99 "restrict" keyword in the C++
  36212. # compiler. This should place a pound-define statement in the
  36213. # config file along the lines of:
  36214. #
  36215. # #define _libmesh_restrict __restrict
  36216. #
  36217. # The restrict keyword allows the compiler to make
  36218. # certain optimizations which require non-overlapping pointer
  36219. # addresses, i.e. in a call to:
  36220. #
  36221. # foo(int* restrict a, int* restrict b)
  36222. #
  36223. # the compiler may assume that the memory addresses pointed to
  36224. # by a and b do not overlap, and therefore certain low-level
  36225. # optimizations can be made. From the Autoconf documentation:
  36226. #
  36227. # If the C compiler recognizes a variant spelling for the restrict
  36228. # keyword (__restrict, __restrict__, or _Restrict), then define restrict
  36229. # to that; this is more likely to do the right thing with compilers that
  36230. # support language variants where plain restrict is not a
  36231. # keyword. Otherwise, if the C compiler recognizes the restrict keyword,
  36232. # don't do anything. Otherwise, define restrict to be empty. Thus,
  36233. # programs may simply use restrict as if every C compiler supported it;
  36234. # for those that do not, the makefile or configuration header defines it
  36235. # away.
  36236. #
  36237. # Although support in C++ for the restrict keyword is not required,
  36238. # several C++ compilers do accept the keyword. This macro works for
  36239. # them, too.
  36240. #
  36241. # This macro caches 'no' in the ac_cv_c_restrict variable if restrict is
  36242. # not supported, and a supported spelling otherwise.
  36243. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
  36244. $as_echo_n "checking for C/C++ restrict keyword... " >&6; }
  36245. if ${ac_cv_c_restrict+:} false; then :
  36246. $as_echo_n "(cached) " >&6
  36247. else
  36248. ac_cv_c_restrict=no
  36249. # The order here caters to the fact that C++ does not require restrict.
  36250. for ac_kw in __restrict __restrict__ _Restrict restrict; do
  36251. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36252. /* end confdefs.h. */
  36253. typedef int * int_ptr;
  36254. int foo (int_ptr $ac_kw ip) {
  36255. return ip[0];
  36256. }
  36257. int
  36258. main ()
  36259. {
  36260. int s[1];
  36261. int * $ac_kw t = s;
  36262. t[0] = 0;
  36263. return foo(t)
  36264. ;
  36265. return 0;
  36266. }
  36267. _ACEOF
  36268. if ac_fn_cxx_try_compile "$LINENO"; then :
  36269. ac_cv_c_restrict=$ac_kw
  36270. fi
  36271. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36272. test "$ac_cv_c_restrict" != no && break
  36273. done
  36274. fi
  36275. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
  36276. $as_echo "$ac_cv_c_restrict" >&6; }
  36277. case $ac_cv_c_restrict in
  36278. restrict) ;;
  36279. no) $as_echo "#define restrict /**/" >>confdefs.h
  36280. ;;
  36281. *) cat >>confdefs.h <<_ACEOF
  36282. #define restrict $ac_cv_c_restrict
  36283. _ACEOF
  36284. ;;
  36285. esac
  36286. # --------------------------------------------------------------
  36287. # getpwuid - enabled by default
  36288. # Some systems, for example Crays, actually have getpwuid on the head-node
  36289. # but (if I understand correctly) a dynamically-linked glibc is not available
  36290. # on the backend, which is running a reduced operating system like Compute
  36291. # Node Linux. Thus functions like getpwuid cannot be called. This makes
  36292. # automatically testing for the existence of getpwuid on the login node
  36293. # difficult. If you know that you are on such a system, configure with
  36294. # --disable-getpwuid.
  36295. # --------------------------------------------------------------
  36296. enablegetpwuid_default=yes
  36297. # We can't use getpwuid if pwd.h is not found.
  36298. for ac_header in pwd.h
  36299. do :
  36300. ac_fn_cxx_check_header_mongrel "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default"
  36301. if test "x$ac_cv_header_pwd_h" = xyes; then :
  36302. cat >>confdefs.h <<_ACEOF
  36303. #define HAVE_PWD_H 1
  36304. _ACEOF
  36305. have_pwd_h=yes
  36306. else
  36307. have_pwd_h=no
  36308. fi
  36309. done
  36310. if test "$have_pwd_h" = no; then :
  36311. enablegetpwuid_default=no
  36312. fi
  36313. # If the user configured with --enable-all-static, certain functions
  36314. # like getpwuid cannot be used. You may see warnings like the
  36315. # following from the linker:
  36316. # warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
  36317. if test "$enableallstatic" = yes; then :
  36318. enablegetpwuid_default=no
  36319. fi
  36320. # Let the user override the default (at their own risk).
  36321. # Check whether --enable-getpwuid was given.
  36322. if test "${enable_getpwuid+set}" = set; then :
  36323. enableval=$enable_getpwuid; enablegetpwuid=$enableval
  36324. else
  36325. enablegetpwuid=$enablegetpwuid_default
  36326. fi
  36327. if test "$enablegetpwuid" != no; then :
  36328. $as_echo "#define HAVE_GETPWUID 1" >>confdefs.h
  36329. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with getpwuid >>>" >&5
  36330. $as_echo "<<< Configuring library with getpwuid >>>" >&6; }
  36331. fi
  36332. # --------------------------------------------------------------
  36333. # --------------------------------------------------------------
  36334. # C++ exceptions - enabled by default
  36335. # --------------------------------------------------------------
  36336. # Check whether --enable-exceptions was given.
  36337. if test "${enable_exceptions+set}" = set; then :
  36338. enableval=$enable_exceptions; enableexceptions=$enableval
  36339. else
  36340. enableexceptions=yes
  36341. fi
  36342. if test "$enableexceptions" != no; then :
  36343. $as_echo "#define ENABLE_EXCEPTIONS 1" >>confdefs.h
  36344. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with exception throwing support >>>" >&5
  36345. $as_echo "<<< Configuring library with exception throwing support >>>" >&6; }
  36346. fi
  36347. # --------------------------------------------------------------
  36348. # --------------------------------------------------------------
  36349. # __TIME__ __DATE__ stamps - enabled by default
  36350. # disabling preprocessor timestamps helps compiler caches such
  36351. # as ccache to work more effectively.
  36352. # --------------------------------------------------------------
  36353. # Check whether --enable-timestamps was given.
  36354. if test "${enable_timestamps+set}" = set; then :
  36355. enableval=$enable_timestamps; enabletimestamps=$enableval
  36356. else
  36357. enabletimestamps=yes
  36358. fi
  36359. if test "$enabletimestamps" != no; then :
  36360. $as_echo "#define ENABLE_TIMESTAMPS 1" >>confdefs.h
  36361. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with compile timestamps >>>" >&5
  36362. $as_echo "<<< Configuring library with compile timestamps >>>" >&6; }
  36363. fi
  36364. # --------------------------------------------------------------
  36365. # --------------------------------------------------------------
  36366. # Check for important type sizes
  36367. # --------------------------------------------------------------
  36368. # The cast to long int works around a bug in the HP C Compiler
  36369. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36370. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36371. # This bug is HP SR number 8606223364.
  36372. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short int" >&5
  36373. $as_echo_n "checking size of short int... " >&6; }
  36374. if ${ac_cv_sizeof_short_int+:} false; then :
  36375. $as_echo_n "(cached) " >&6
  36376. else
  36377. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (short int))" "ac_cv_sizeof_short_int" "$ac_includes_default"; then :
  36378. else
  36379. if test "$ac_cv_type_short_int" = yes; then
  36380. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36381. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36382. as_fn_error 77 "cannot compute sizeof (short int)
  36383. See \`config.log' for more details" "$LINENO" 5; }
  36384. else
  36385. ac_cv_sizeof_short_int=0
  36386. fi
  36387. fi
  36388. fi
  36389. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_int" >&5
  36390. $as_echo "$ac_cv_sizeof_short_int" >&6; }
  36391. cat >>confdefs.h <<_ACEOF
  36392. #define SIZEOF_SHORT_INT $ac_cv_sizeof_short_int
  36393. _ACEOF
  36394. # The cast to long int works around a bug in the HP C Compiler
  36395. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36396. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36397. # This bug is HP SR number 8606223364.
  36398. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
  36399. $as_echo_n "checking size of int... " >&6; }
  36400. if ${ac_cv_sizeof_int+:} false; then :
  36401. $as_echo_n "(cached) " >&6
  36402. else
  36403. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
  36404. else
  36405. if test "$ac_cv_type_int" = yes; then
  36406. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36407. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36408. as_fn_error 77 "cannot compute sizeof (int)
  36409. See \`config.log' for more details" "$LINENO" 5; }
  36410. else
  36411. ac_cv_sizeof_int=0
  36412. fi
  36413. fi
  36414. fi
  36415. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
  36416. $as_echo "$ac_cv_sizeof_int" >&6; }
  36417. cat >>confdefs.h <<_ACEOF
  36418. #define SIZEOF_INT $ac_cv_sizeof_int
  36419. _ACEOF
  36420. # The cast to long int works around a bug in the HP C Compiler
  36421. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36422. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36423. # This bug is HP SR number 8606223364.
  36424. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5
  36425. $as_echo_n "checking size of unsigned int... " >&6; }
  36426. if ${ac_cv_sizeof_unsigned_int+:} false; then :
  36427. $as_echo_n "(cached) " >&6
  36428. else
  36429. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then :
  36430. else
  36431. if test "$ac_cv_type_unsigned_int" = yes; then
  36432. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36433. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36434. as_fn_error 77 "cannot compute sizeof (unsigned int)
  36435. See \`config.log' for more details" "$LINENO" 5; }
  36436. else
  36437. ac_cv_sizeof_unsigned_int=0
  36438. fi
  36439. fi
  36440. fi
  36441. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5
  36442. $as_echo "$ac_cv_sizeof_unsigned_int" >&6; }
  36443. cat >>confdefs.h <<_ACEOF
  36444. #define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
  36445. _ACEOF
  36446. # The cast to long int works around a bug in the HP C Compiler
  36447. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36448. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36449. # This bug is HP SR number 8606223364.
  36450. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
  36451. $as_echo_n "checking size of size_t... " >&6; }
  36452. if ${ac_cv_sizeof_size_t+:} false; then :
  36453. $as_echo_n "(cached) " >&6
  36454. else
  36455. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then :
  36456. else
  36457. if test "$ac_cv_type_size_t" = yes; then
  36458. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36459. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36460. as_fn_error 77 "cannot compute sizeof (size_t)
  36461. See \`config.log' for more details" "$LINENO" 5; }
  36462. else
  36463. ac_cv_sizeof_size_t=0
  36464. fi
  36465. fi
  36466. fi
  36467. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
  36468. $as_echo "$ac_cv_sizeof_size_t" >&6; }
  36469. cat >>confdefs.h <<_ACEOF
  36470. #define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
  36471. _ACEOF
  36472. # The cast to long int works around a bug in the HP C Compiler
  36473. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36474. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36475. # This bug is HP SR number 8606223364.
  36476. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5
  36477. $as_echo_n "checking size of long int... " >&6; }
  36478. if ${ac_cv_sizeof_long_int+:} false; then :
  36479. $as_echo_n "(cached) " >&6
  36480. else
  36481. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then :
  36482. else
  36483. if test "$ac_cv_type_long_int" = yes; then
  36484. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36485. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36486. as_fn_error 77 "cannot compute sizeof (long int)
  36487. See \`config.log' for more details" "$LINENO" 5; }
  36488. else
  36489. ac_cv_sizeof_long_int=0
  36490. fi
  36491. fi
  36492. fi
  36493. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5
  36494. $as_echo "$ac_cv_sizeof_long_int" >&6; }
  36495. cat >>confdefs.h <<_ACEOF
  36496. #define SIZEOF_LONG_INT $ac_cv_sizeof_long_int
  36497. _ACEOF
  36498. # The cast to long int works around a bug in the HP C Compiler
  36499. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36500. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36501. # This bug is HP SR number 8606223364.
  36502. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
  36503. $as_echo_n "checking size of float... " >&6; }
  36504. if ${ac_cv_sizeof_float+:} false; then :
  36505. $as_echo_n "(cached) " >&6
  36506. else
  36507. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"; then :
  36508. else
  36509. if test "$ac_cv_type_float" = yes; then
  36510. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36511. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36512. as_fn_error 77 "cannot compute sizeof (float)
  36513. See \`config.log' for more details" "$LINENO" 5; }
  36514. else
  36515. ac_cv_sizeof_float=0
  36516. fi
  36517. fi
  36518. fi
  36519. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5
  36520. $as_echo "$ac_cv_sizeof_float" >&6; }
  36521. cat >>confdefs.h <<_ACEOF
  36522. #define SIZEOF_FLOAT $ac_cv_sizeof_float
  36523. _ACEOF
  36524. # The cast to long int works around a bug in the HP C Compiler
  36525. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36526. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36527. # This bug is HP SR number 8606223364.
  36528. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
  36529. $as_echo_n "checking size of double... " >&6; }
  36530. if ${ac_cv_sizeof_double+:} false; then :
  36531. $as_echo_n "(cached) " >&6
  36532. else
  36533. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
  36534. else
  36535. if test "$ac_cv_type_double" = yes; then
  36536. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36537. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36538. as_fn_error 77 "cannot compute sizeof (double)
  36539. See \`config.log' for more details" "$LINENO" 5; }
  36540. else
  36541. ac_cv_sizeof_double=0
  36542. fi
  36543. fi
  36544. fi
  36545. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
  36546. $as_echo "$ac_cv_sizeof_double" >&6; }
  36547. cat >>confdefs.h <<_ACEOF
  36548. #define SIZEOF_DOUBLE $ac_cv_sizeof_double
  36549. _ACEOF
  36550. # The cast to long int works around a bug in the HP C Compiler
  36551. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36552. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36553. # This bug is HP SR number 8606223364.
  36554. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
  36555. $as_echo_n "checking size of void *... " >&6; }
  36556. if ${ac_cv_sizeof_void_p+:} false; then :
  36557. $as_echo_n "(cached) " >&6
  36558. else
  36559. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
  36560. else
  36561. if test "$ac_cv_type_void_p" = yes; then
  36562. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36563. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36564. as_fn_error 77 "cannot compute sizeof (void *)
  36565. See \`config.log' for more details" "$LINENO" 5; }
  36566. else
  36567. ac_cv_sizeof_void_p=0
  36568. fi
  36569. fi
  36570. fi
  36571. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
  36572. $as_echo "$ac_cv_sizeof_void_p" >&6; }
  36573. cat >>confdefs.h <<_ACEOF
  36574. #define SIZEOF_VOID_P $ac_cv_sizeof_void_p
  36575. _ACEOF
  36576. # Check the size of a function pointer. This is the same
  36577. # as a void* on most systems which matter (POSIX).
  36578. # It turns out that AC_CHECK_SIZEOF can't do this
  36579. # automatically... so we use a kind of hack with the 3rd
  36580. # argument to do it.
  36581. # The cast to long int works around a bug in the HP C Compiler
  36582. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  36583. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  36584. # This bug is HP SR number 8606223364.
  36585. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of function_pointer" >&5
  36586. $as_echo_n "checking size of function_pointer... " >&6; }
  36587. if ${ac_cv_sizeof_function_pointer+:} false; then :
  36588. $as_echo_n "(cached) " >&6
  36589. else
  36590. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (function_pointer))" "ac_cv_sizeof_function_pointer" "typedef void (*function_pointer)();
  36591. "; then :
  36592. else
  36593. if test "$ac_cv_type_function_pointer" = yes; then
  36594. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  36595. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  36596. as_fn_error 77 "cannot compute sizeof (function_pointer)
  36597. See \`config.log' for more details" "$LINENO" 5; }
  36598. else
  36599. ac_cv_sizeof_function_pointer=0
  36600. fi
  36601. fi
  36602. fi
  36603. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_function_pointer" >&5
  36604. $as_echo "$ac_cv_sizeof_function_pointer" >&6; }
  36605. cat >>confdefs.h <<_ACEOF
  36606. #define SIZEOF_FUNCTION_POINTER $ac_cv_sizeof_function_pointer
  36607. _ACEOF
  36608. # AC_CHECK_SIZEOF([void(*)(void)]) <-- Does not work!
  36609. # --------------------------------------------------------------
  36610. # Check for Run Time Type Identification support
  36611. # --------------------------------------------------------------
  36612. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Run-Time Type Identification" >&5
  36613. $as_echo_n "checking whether the compiler supports Run-Time Type Identification... " >&6; }
  36614. if ${ac_cv_cxx_rtti+:} false; then :
  36615. $as_echo_n "(cached) " >&6
  36616. else
  36617. ac_ext=cpp
  36618. ac_cpp='$CXXCPP $CPPFLAGS'
  36619. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36620. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36621. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36622. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36623. /* end confdefs.h. */
  36624. #include <typeinfo>
  36625. class Base { public :
  36626. Base () {}
  36627. virtual int f () { return 0; }
  36628. };
  36629. class Derived : public Base { public :
  36630. Derived () {}
  36631. virtual int f () { return 1; }
  36632. };
  36633. int
  36634. main ()
  36635. {
  36636. Derived d;
  36637. Base *ptr = &d;
  36638. return typeid (*ptr) == typeid (Derived);
  36639. ;
  36640. return 0;
  36641. }
  36642. _ACEOF
  36643. if ac_fn_cxx_try_compile "$LINENO"; then :
  36644. ac_cv_cxx_rtti=yes
  36645. else
  36646. ac_cv_cxx_rtti=no
  36647. fi
  36648. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36649. ac_ext=cpp
  36650. ac_cpp='$CXXCPP $CPPFLAGS'
  36651. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36652. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36653. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36654. fi
  36655. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_rtti" >&5
  36656. $as_echo "$ac_cv_cxx_rtti" >&6; }
  36657. if test "$ac_cv_cxx_rtti" = yes; then
  36658. $as_echo "#define HAVE_RTTI /**/" >>confdefs.h
  36659. fi
  36660. # --------------------------------------------------------------
  36661. # Check for headers
  36662. # --------------------------------------------------------------
  36663. for ac_header in getopt.h
  36664. do :
  36665. ac_fn_cxx_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
  36666. if test "x$ac_cv_header_getopt_h" = xyes; then :
  36667. cat >>confdefs.h <<_ACEOF
  36668. #define HAVE_GETOPT_H 1
  36669. _ACEOF
  36670. fi
  36671. done
  36672. for ac_header in csignal
  36673. do :
  36674. ac_fn_cxx_check_header_mongrel "$LINENO" "csignal" "ac_cv_header_csignal" "$ac_includes_default"
  36675. if test "x$ac_cv_header_csignal" = xyes; then :
  36676. cat >>confdefs.h <<_ACEOF
  36677. #define HAVE_CSIGNAL 1
  36678. _ACEOF
  36679. fi
  36680. done
  36681. for ac_header in sys/resource.h
  36682. do :
  36683. ac_fn_cxx_check_header_mongrel "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"
  36684. if test "x$ac_cv_header_sys_resource_h" = xyes; then :
  36685. cat >>confdefs.h <<_ACEOF
  36686. #define HAVE_SYS_RESOURCE_H 1
  36687. _ACEOF
  36688. fi
  36689. done
  36690. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler has locale" >&5
  36691. $as_echo_n "checking whether the compiler has locale... " >&6; }
  36692. if ${ac_cv_cxx_have_locale+:} false; then :
  36693. $as_echo_n "(cached) " >&6
  36694. else
  36695. ac_ext=cpp
  36696. ac_cpp='$CXXCPP $CPPFLAGS'
  36697. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36698. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36699. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36700. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36701. /* end confdefs.h. */
  36702. #include <locale>
  36703. #ifdef HAVE_NAMESPACES
  36704. using namespace std;
  36705. #endif
  36706. int
  36707. main ()
  36708. {
  36709. locale loc;
  36710. return 0;
  36711. ;
  36712. return 0;
  36713. }
  36714. _ACEOF
  36715. if ac_fn_cxx_try_compile "$LINENO"; then :
  36716. ac_cv_cxx_have_locale=yes
  36717. else
  36718. ac_cv_cxx_have_locale=no
  36719. fi
  36720. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36721. ac_ext=cpp
  36722. ac_cpp='$CXXCPP $CPPFLAGS'
  36723. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36724. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36725. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36726. fi
  36727. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_locale" >&5
  36728. $as_echo "$ac_cv_cxx_have_locale" >&6; }
  36729. if test "x$ac_cv_cxx_have_locale" = "xyes"; then :
  36730. $as_echo "#define HAVE_LOCALE /**/" >>confdefs.h
  36731. fi
  36732. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler has stringstream" >&5
  36733. $as_echo_n "checking whether the compiler has stringstream... " >&6; }
  36734. if ${ac_cv_cxx_have_sstream+:} false; then :
  36735. $as_echo_n "(cached) " >&6
  36736. else
  36737. ac_ext=cpp
  36738. ac_cpp='$CXXCPP $CPPFLAGS'
  36739. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36740. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36741. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36742. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36743. /* end confdefs.h. */
  36744. #include <sstream>
  36745. #ifdef HAVE_NAMESPACES
  36746. using namespace std;
  36747. #endif
  36748. int
  36749. main ()
  36750. {
  36751. stringstream message;
  36752. message << "Hello";
  36753. return 0;
  36754. ;
  36755. return 0;
  36756. }
  36757. _ACEOF
  36758. if ac_fn_cxx_try_compile "$LINENO"; then :
  36759. ac_cv_cxx_have_sstream=yes
  36760. else
  36761. ac_cv_cxx_have_sstream=no
  36762. fi
  36763. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36764. ac_ext=cpp
  36765. ac_cpp='$CXXCPP $CPPFLAGS'
  36766. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36767. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36768. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36769. fi
  36770. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_sstream" >&5
  36771. $as_echo "$ac_cv_cxx_have_sstream" >&6; }
  36772. if test "x$ac_cv_cxx_have_sstream" = "xyes"; then :
  36773. $as_echo "#define HAVE_SSTREAM /**/" >>confdefs.h
  36774. $as_echo "#define HAVE_STRINGSTREAM /**/" >>confdefs.h
  36775. else
  36776. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler has strstream" >&5
  36777. $as_echo_n "checking whether the compiler has strstream... " >&6; }
  36778. if ${ac_cv_cxx_have_strstream+:} false; then :
  36779. $as_echo_n "(cached) " >&6
  36780. else
  36781. ac_ext=cpp
  36782. ac_cpp='$CXXCPP $CPPFLAGS'
  36783. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36784. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36785. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36786. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36787. /* end confdefs.h. */
  36788. #include <strstream>
  36789. #ifdef HAVE_NAMESPACES
  36790. using namespace std;
  36791. #endif
  36792. int
  36793. main ()
  36794. {
  36795. strstream message;
  36796. message << "Hello";
  36797. return 0;
  36798. ;
  36799. return 0;
  36800. }
  36801. _ACEOF
  36802. if ac_fn_cxx_try_compile "$LINENO"; then :
  36803. ac_cv_cxx_have_strstream=yes
  36804. else
  36805. ac_cv_cxx_have_strstream=no
  36806. fi
  36807. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36808. ac_ext=cpp
  36809. ac_cpp='$CXXCPP $CPPFLAGS'
  36810. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36811. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36812. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36813. fi
  36814. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_strstream" >&5
  36815. $as_echo "$ac_cv_cxx_have_strstream" >&6; }
  36816. if test "x$ac_cv_cxx_have_strstream" = "xyes"; then :
  36817. $as_echo "#define HAVE_STRSTREAM /**/" >>confdefs.h
  36818. $as_echo "#define HAVE_STRINGSTREAM /**/" >>confdefs.h
  36819. fi
  36820. fi
  36821. # Check for GNU libc feenableexcept/fedisableexcept.
  36822. for ac_header in fenv.h
  36823. do :
  36824. ac_fn_cxx_check_header_mongrel "$LINENO" "fenv.h" "ac_cv_header_fenv_h" "$ac_includes_default"
  36825. if test "x$ac_cv_header_fenv_h" = xyes; then :
  36826. cat >>confdefs.h <<_ACEOF
  36827. #define HAVE_FENV_H 1
  36828. _ACEOF
  36829. fi
  36830. done
  36831. for ac_header in xmmintrin.h
  36832. do :
  36833. ac_fn_cxx_check_header_mongrel "$LINENO" "xmmintrin.h" "ac_cv_header_xmmintrin_h" "$ac_includes_default"
  36834. if test "x$ac_cv_header_xmmintrin_h" = xyes; then :
  36835. cat >>confdefs.h <<_ACEOF
  36836. #define HAVE_XMMINTRIN_H 1
  36837. _ACEOF
  36838. fi
  36839. done
  36840. # See if we can actually compile code using the fe{enable,disable}except functions
  36841. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36842. /* end confdefs.h. */
  36843. #include <fenv.h>
  36844. int
  36845. main ()
  36846. {
  36847. feenableexcept(FE_DIVBYZERO | FE_INVALID);
  36848. ;
  36849. return 0;
  36850. }
  36851. _ACEOF
  36852. if ac_fn_cxx_try_compile "$LINENO"; then :
  36853. ac_cv_have_feenableexcept=yes
  36854. else
  36855. ac_cv_have_feenableexcept=no
  36856. fi
  36857. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36858. if test "x$ac_cv_have_feenableexcept" = "xyes"; then :
  36859. $as_echo "#define HAVE_FEENABLEEXCEPT 1" >>confdefs.h
  36860. fi
  36861. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36862. /* end confdefs.h. */
  36863. #include <fenv.h>
  36864. int
  36865. main ()
  36866. {
  36867. fedisableexcept(FE_DIVBYZERO | FE_INVALID);
  36868. ;
  36869. return 0;
  36870. }
  36871. _ACEOF
  36872. if ac_fn_cxx_try_compile "$LINENO"; then :
  36873. ac_cv_have_fedisableexcept=yes
  36874. else
  36875. ac_cv_have_fedisableexcept=no
  36876. fi
  36877. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36878. if test "x$ac_cv_have_fedisableexcept" = "xyes"; then :
  36879. $as_echo "#define HAVE_FEDISABLEEXCEPT 1" >>confdefs.h
  36880. fi
  36881. # Check if we have new-style signal handlers
  36882. ac_fn_cxx_check_decl "$LINENO" "sigaction" "ac_cv_have_decl_sigaction" "#include <signal.h>
  36883. "
  36884. if test "x$ac_cv_have_decl_sigaction" = xyes; then :
  36885. ac_have_decl=1
  36886. else
  36887. ac_have_decl=0
  36888. fi
  36889. cat >>confdefs.h <<_ACEOF
  36890. #define HAVE_DECL_SIGACTION $ac_have_decl
  36891. _ACEOF
  36892. # Check for mkdir
  36893. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mkdir with two arguments" >&5
  36894. $as_echo_n "checking for mkdir with two arguments... " >&6; }
  36895. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36896. /* end confdefs.h. */
  36897. #include <sys/stat.h>
  36898. #include <sys/types.h>
  36899. int
  36900. main ()
  36901. {
  36902. mkdir("test-dir", 0);
  36903. ;
  36904. return 0;
  36905. }
  36906. _ACEOF
  36907. if ac_fn_cxx_try_compile "$LINENO"; then :
  36908. $as_echo "#define HAVE_MKDIR /**/" >>confdefs.h
  36909. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  36910. $as_echo "yes" >&6; }
  36911. else
  36912. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  36913. $as_echo "no" >&6; }
  36914. fi
  36915. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  36916. for ac_header in direct.h
  36917. do :
  36918. ac_fn_cxx_check_header_mongrel "$LINENO" "direct.h" "ac_cv_header_direct_h" "$ac_includes_default"
  36919. if test "x$ac_cv_header_direct_h" = xyes; then :
  36920. cat >>confdefs.h <<_ACEOF
  36921. #define HAVE_DIRECT_H 1
  36922. _ACEOF
  36923. fi
  36924. done
  36925. ac_fn_cxx_check_decl "$LINENO" "_mkdir" "ac_cv_have_decl__mkdir" "
  36926. #include <direct.h>
  36927. "
  36928. if test "x$ac_cv_have_decl__mkdir" = xyes; then :
  36929. ac_have_decl=1
  36930. else
  36931. ac_have_decl=0
  36932. fi
  36933. cat >>confdefs.h <<_ACEOF
  36934. #define HAVE_DECL__MKDIR $ac_have_decl
  36935. _ACEOF
  36936. # Check for uname header.
  36937. for ac_header in sys/utsname.h
  36938. do :
  36939. ac_fn_cxx_check_header_mongrel "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default"
  36940. if test "x$ac_cv_header_sys_utsname_h" = xyes; then :
  36941. cat >>confdefs.h <<_ACEOF
  36942. #define HAVE_SYS_UTSNAME_H 1
  36943. _ACEOF
  36944. fi
  36945. done
  36946. # Check whether --enable-unordered-containers was given.
  36947. if test "${enable_unordered_containers+set}" = set; then :
  36948. enableval=$enable_unordered_containers; case "${enableval}" in #(
  36949. yes) :
  36950. enableunorderedcontainers=yes ;; #(
  36951. no) :
  36952. as_fn_error $? "libMesh now requires unordered containers" "$LINENO" 5 ;; #(
  36953. *) :
  36954. as_fn_error $? "bad value ${enableval} for --disable-unordered-containers" "$LINENO" 5 ;;
  36955. esac
  36956. else
  36957. enableunorderedcontainers=irrelevant
  36958. fi
  36959. if test $enableunorderedcontainers != irrelevant; then :
  36960. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable/disable-unordered-containers are now deprecated" >&5
  36961. $as_echo "$as_me: WARNING: --enable/disable-unordered-containers are now deprecated" >&2;}
  36962. fi
  36963. enableunorderedcontainers=yes
  36964. # The following routines, defined in unordered.m4, check to see if
  36965. # the compiler can compile programs using the std::unordered
  36966. # containers.
  36967. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::unordered_multimap" >&5
  36968. $as_echo_n "checking whether the compiler supports std::unordered_multimap... " >&6; }
  36969. if ${ac_cv_cxx_unordered_multimap+:} false; then :
  36970. $as_echo_n "(cached) " >&6
  36971. else
  36972. ac_ext=cpp
  36973. ac_cpp='$CXXCPP $CPPFLAGS'
  36974. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  36975. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  36976. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  36977. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  36978. /* end confdefs.h. */
  36979. #include <unordered_map>
  36980. int
  36981. main ()
  36982. {
  36983. std::unordered_multimap<int, int> m;
  36984. m.insert(std::make_pair(1, 2));
  36985. m.insert(std::make_pair(1, 3));
  36986. if (m.size() != 2) return 1;
  36987. std::unordered_multimap<int, int>::iterator it = m.erase(m.begin());
  36988. m.emplace(1, 4);
  36989. m.emplace_hint(m.begin(), 0, 5);
  36990. ;
  36991. return 0;
  36992. }
  36993. _ACEOF
  36994. if ac_fn_cxx_try_compile "$LINENO"; then :
  36995. ac_cv_cxx_unordered_multimap=yes
  36996. else
  36997. ac_cv_cxx_unordered_multimap=no
  36998. fi
  36999. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37000. ac_ext=cpp
  37001. ac_cpp='$CXXCPP $CPPFLAGS'
  37002. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37003. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37004. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37005. fi
  37006. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_unordered_multimap" >&5
  37007. $as_echo "$ac_cv_cxx_unordered_multimap" >&6; }
  37008. if test "$ac_cv_cxx_unordered_multimap" = "yes"; then :
  37009. $as_echo "#define HAVE_STD_UNORDERED_MULTIMAP 1" >>confdefs.h
  37010. $as_echo "#define BEST_UNORDERED_MULTIMAP std::unordered_multimap" >>confdefs.h
  37011. $as_echo "#define INCLUDE_UNORDERED_MULTIMAP <unordered_map>" >>confdefs.h
  37012. else
  37013. as_fn_error $? "libMesh requires a working std::unordered_multimap implementation" "$LINENO" 5
  37014. fi
  37015. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::unordered_map" >&5
  37016. $as_echo_n "checking whether the compiler supports std::unordered_map... " >&6; }
  37017. if ${ac_cv_cxx_unordered_map+:} false; then :
  37018. $as_echo_n "(cached) " >&6
  37019. else
  37020. ac_ext=cpp
  37021. ac_cpp='$CXXCPP $CPPFLAGS'
  37022. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37023. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37024. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37025. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37026. /* end confdefs.h. */
  37027. #include <unordered_map>
  37028. int
  37029. main ()
  37030. {
  37031. std::unordered_map<int, int> m;
  37032. m.insert(std::make_pair(1, 2));
  37033. m.emplace(3, 4);
  37034. std::unordered_map<int, int>::iterator it = m.erase(m.begin());
  37035. m.emplace_hint(m.begin(), 0, 5);
  37036. ;
  37037. return 0;
  37038. }
  37039. _ACEOF
  37040. if ac_fn_cxx_try_compile "$LINENO"; then :
  37041. ac_cv_cxx_unordered_map=yes
  37042. else
  37043. ac_cv_cxx_unordered_map=no
  37044. fi
  37045. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37046. ac_ext=cpp
  37047. ac_cpp='$CXXCPP $CPPFLAGS'
  37048. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37049. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37050. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37051. fi
  37052. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_unordered_map" >&5
  37053. $as_echo "$ac_cv_cxx_unordered_map" >&6; }
  37054. if test "$ac_cv_cxx_unordered_map" = "yes"; then :
  37055. $as_echo "#define HAVE_STD_UNORDERED_MAP 1" >>confdefs.h
  37056. $as_echo "#define BEST_UNORDERED_MAP std::unordered_map" >>confdefs.h
  37057. $as_echo "#define INCLUDE_UNORDERED_MAP <unordered_map>" >>confdefs.h
  37058. else
  37059. as_fn_error $? "libMesh requires a working std::unordered_map implementation" "$LINENO" 5
  37060. fi
  37061. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::unordered_multiset" >&5
  37062. $as_echo_n "checking whether the compiler supports std::unordered_multiset... " >&6; }
  37063. if ${ac_cv_cxx_unordered_multiset+:} false; then :
  37064. $as_echo_n "(cached) " >&6
  37065. else
  37066. ac_ext=cpp
  37067. ac_cpp='$CXXCPP $CPPFLAGS'
  37068. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37069. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37070. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37071. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37072. /* end confdefs.h. */
  37073. #include <unordered_set>
  37074. int
  37075. main ()
  37076. {
  37077. std::unordered_multiset<int> s;
  37078. s.insert(1);
  37079. s.insert(1);
  37080. if (s.size() != 2) return 1;
  37081. std::unordered_multiset<int>::iterator it = s.erase(s.begin());
  37082. s.emplace(1);
  37083. s.emplace_hint(s.begin(), 0);
  37084. ;
  37085. return 0;
  37086. }
  37087. _ACEOF
  37088. if ac_fn_cxx_try_compile "$LINENO"; then :
  37089. ac_cv_cxx_unordered_multiset=yes
  37090. else
  37091. ac_cv_cxx_unordered_multiset=no
  37092. fi
  37093. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37094. ac_ext=cpp
  37095. ac_cpp='$CXXCPP $CPPFLAGS'
  37096. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37097. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37098. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37099. fi
  37100. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_unordered_multiset" >&5
  37101. $as_echo "$ac_cv_cxx_unordered_multiset" >&6; }
  37102. if test "$ac_cv_cxx_unordered_multiset" = "yes"; then :
  37103. $as_echo "#define HAVE_STD_UNORDERED_MULTISET 1" >>confdefs.h
  37104. $as_echo "#define BEST_UNORDERED_MULTISET std::unordered_multiset" >>confdefs.h
  37105. $as_echo "#define INCLUDE_UNORDERED_MULTISET <unordered_set>" >>confdefs.h
  37106. else
  37107. as_fn_error $? "libMesh requires a working std::unordered_multiset implementation" "$LINENO" 5
  37108. fi
  37109. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::unordered_set" >&5
  37110. $as_echo_n "checking whether the compiler supports std::unordered_set... " >&6; }
  37111. if ${ac_cv_cxx_unordered_set+:} false; then :
  37112. $as_echo_n "(cached) " >&6
  37113. else
  37114. ac_ext=cpp
  37115. ac_cpp='$CXXCPP $CPPFLAGS'
  37116. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37117. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37118. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37119. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37120. /* end confdefs.h. */
  37121. #include <unordered_set>
  37122. int
  37123. main ()
  37124. {
  37125. std::unordered_set<int> s;
  37126. s.insert(1);
  37127. s.insert(2);
  37128. std::unordered_set<int>::iterator it = s.erase(s.begin());
  37129. s.emplace(3);
  37130. s.emplace_hint(s.begin(), 0);
  37131. ;
  37132. return 0;
  37133. }
  37134. _ACEOF
  37135. if ac_fn_cxx_try_compile "$LINENO"; then :
  37136. ac_cv_cxx_unordered_set=yes
  37137. else
  37138. ac_cv_cxx_unordered_set=no
  37139. fi
  37140. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37141. ac_ext=cpp
  37142. ac_cpp='$CXXCPP $CPPFLAGS'
  37143. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37144. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37145. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37146. fi
  37147. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_unordered_set" >&5
  37148. $as_echo "$ac_cv_cxx_unordered_set" >&6; }
  37149. if test "$ac_cv_cxx_unordered_set" = "yes"; then :
  37150. $as_echo "#define HAVE_STD_UNORDERED_SET 1" >>confdefs.h
  37151. $as_echo "#define BEST_UNORDERED_SET std::unordered_set" >>confdefs.h
  37152. $as_echo "#define INCLUDE_UNORDERED_SET <unordered_set>" >>confdefs.h
  37153. else
  37154. as_fn_error $? "libMesh requires a working std::unordered_set implementation" "$LINENO" 5
  37155. fi
  37156. # libMesh also requires C++11 std::hash.
  37157. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash" >&5
  37158. $as_echo_n "checking whether the compiler supports std::hash... " >&6; }
  37159. if ${ac_cv_cxx_hash+:} false; then :
  37160. $as_echo_n "(cached) " >&6
  37161. else
  37162. ac_ext=cpp
  37163. ac_cpp='$CXXCPP $CPPFLAGS'
  37164. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37165. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37166. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37167. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37168. /* end confdefs.h. */
  37169. #include <functional>
  37170. #include <string>
  37171. int
  37172. main ()
  37173. {
  37174. std::hash<int> m;
  37175. std::size_t hashed = m(12345);
  37176. std::hash<std::string> m2;
  37177. std::size_t hashed2 = m2(std::string("foo"));
  37178. ;
  37179. return 0;
  37180. }
  37181. _ACEOF
  37182. if ac_fn_cxx_try_compile "$LINENO"; then :
  37183. ac_cv_cxx_hash=yes
  37184. else
  37185. ac_cv_cxx_hash=no
  37186. fi
  37187. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37188. ac_ext=cpp
  37189. ac_cpp='$CXXCPP $CPPFLAGS'
  37190. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37191. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37192. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37193. fi
  37194. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_hash" >&5
  37195. $as_echo "$ac_cv_cxx_hash" >&6; }
  37196. if test "$ac_cv_cxx_hash" = "yes"; then :
  37197. $as_echo "#define HAVE_STD_HASH 1" >>confdefs.h
  37198. $as_echo "#define BEST_HASH std::hash" >>confdefs.h
  37199. $as_echo "#define INCLUDE_HASH <functional>" >>confdefs.h
  37200. else
  37201. as_fn_error $? "libMesh requires a working std::hash implementation" "$LINENO" 5
  37202. fi
  37203. # C++11 provides std::hash<T*> and std::hash<std::string>
  37204. # implementations, but we keep these defines around for backward
  37205. # compatibility.
  37206. $as_echo "#define DEFINE_HASH_STRING /**/" >>confdefs.h
  37207. $as_echo "#define DEFINE_HASH_POINTERS /**/" >>confdefs.h
  37208. ac_cv_cxx_dlopen=no
  37209. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
  37210. $as_echo_n "checking for library containing dlopen... " >&6; }
  37211. if ${ac_cv_search_dlopen+:} false; then :
  37212. $as_echo_n "(cached) " >&6
  37213. else
  37214. ac_func_search_save_LIBS=$LIBS
  37215. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37216. /* end confdefs.h. */
  37217. /* Override any GCC internal prototype to avoid an error.
  37218. Use char because int might match the return type of a GCC
  37219. builtin and then its argument prototype would still apply. */
  37220. #ifdef __cplusplus
  37221. extern "C"
  37222. #endif
  37223. char dlopen ();
  37224. int
  37225. main ()
  37226. {
  37227. return dlopen ();
  37228. ;
  37229. return 0;
  37230. }
  37231. _ACEOF
  37232. for ac_lib in '' dl dld; do
  37233. if test -z "$ac_lib"; then
  37234. ac_res="none required"
  37235. else
  37236. ac_res=-l$ac_lib
  37237. LIBS="-l$ac_lib $ac_func_search_save_LIBS"
  37238. fi
  37239. if ac_fn_cxx_try_link "$LINENO"; then :
  37240. ac_cv_search_dlopen=$ac_res
  37241. fi
  37242. rm -f core conftest.err conftest.$ac_objext \
  37243. conftest$ac_exeext
  37244. if ${ac_cv_search_dlopen+:} false; then :
  37245. break
  37246. fi
  37247. done
  37248. if ${ac_cv_search_dlopen+:} false; then :
  37249. else
  37250. ac_cv_search_dlopen=no
  37251. fi
  37252. rm conftest.$ac_ext
  37253. LIBS=$ac_func_search_save_LIBS
  37254. fi
  37255. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
  37256. $as_echo "$ac_cv_search_dlopen" >&6; }
  37257. ac_res=$ac_cv_search_dlopen
  37258. if test "$ac_res" != no; then :
  37259. test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
  37260. ac_cv_cxx_dlopen=yes
  37261. else
  37262. ac_cv_cxx_dlopen=no
  37263. fi
  37264. if test "x$enableallstatic" = "xyes"; then :
  37265. ac_cv_cxx_dlopen=no
  37266. fi
  37267. if test "x$ac_cv_cxx_dlopen" = "xyes"; then :
  37268. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the c++ compiler supports dlopen/dlsym/dlclose" >&5
  37269. $as_echo_n "checking whether the c++ compiler supports dlopen/dlsym/dlclose... " >&6; }
  37270. ac_ext=cpp
  37271. ac_cpp='$CXXCPP $CPPFLAGS'
  37272. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37273. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37274. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37275. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37276. /* end confdefs.h. */
  37277. #include <stddef.h> // NULL
  37278. #include <dlfcn.h>
  37279. int
  37280. main ()
  37281. {
  37282. // Try all possible ways of naming libraries. dlopen() will search
  37283. // in system-dependent paths if these names do not contain forward
  37284. // slashes.
  37285. const unsigned n_names = 2;
  37286. const char * lib_names[n_names] = {"libm.so", "libm.dylib"};
  37287. // To catch the output of dlopen
  37288. void * handle = NULL;
  37289. for (unsigned i=0; i<n_names; ++i)
  37290. {
  37291. // Math library, surely every system has it?
  37292. handle = dlopen(lib_names[i], RTLD_LAZY);
  37293. if (handle)
  37294. break;
  37295. }
  37296. if (!handle)
  37297. return 1;
  37298. // dlsym() returns the address of the code or data location
  37299. // specified by the null-terminated character string symbol.
  37300. void * address = dlsym(handle, "cos");
  37301. if (!address)
  37302. return 1;
  37303. /* int closed_ok = */ dlclose(handle);
  37304. return 0;
  37305. ;
  37306. return 0;
  37307. }
  37308. _ACEOF
  37309. if ac_fn_cxx_try_link "$LINENO"; then :
  37310. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  37311. $as_echo "yes" >&6; }
  37312. ac_cv_cxx_dlopen=yes
  37313. else
  37314. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  37315. $as_echo "no" >&6; }
  37316. ac_cv_cxx_dlopen=no
  37317. fi
  37318. rm -f core conftest.err conftest.$ac_objext \
  37319. conftest$ac_exeext conftest.$ac_ext
  37320. ac_ext=cpp
  37321. ac_cpp='$CXXCPP $CPPFLAGS'
  37322. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37323. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37324. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37325. fi
  37326. if test "$ac_cv_cxx_dlopen" = yes; then :
  37327. $as_echo "#define HAVE_DLOPEN 1" >>confdefs.h
  37328. fi
  37329. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GCC C++ ABI name demangling" >&5
  37330. $as_echo_n "checking whether the compiler supports GCC C++ ABI name demangling... " >&6; }
  37331. if ${ac_cv_cxx_gcc_abi_demangle+:} false; then :
  37332. $as_echo_n "(cached) " >&6
  37333. else
  37334. ac_ext=cpp
  37335. ac_cpp='$CXXCPP $CPPFLAGS'
  37336. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37337. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37338. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37339. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37340. /* end confdefs.h. */
  37341. #include <typeinfo>
  37342. #include <cxxabi.h>
  37343. #include <string>
  37344. template<typename TYPE> class A {};
  37345. int
  37346. main ()
  37347. {
  37348. A<int> instance;
  37349. int status = 0;
  37350. char* c_name = 0;
  37351. c_name = abi::__cxa_demangle(typeid(instance).name(), 0, 0, &status);
  37352. std::string name(c_name);
  37353. return name == "A<int>";
  37354. ;
  37355. return 0;
  37356. }
  37357. _ACEOF
  37358. if ac_fn_cxx_try_compile "$LINENO"; then :
  37359. ac_cv_cxx_gcc_abi_demangle=yes
  37360. else
  37361. ac_cv_cxx_gcc_abi_demangle=no
  37362. fi
  37363. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37364. ac_ext=cpp
  37365. ac_cpp='$CXXCPP $CPPFLAGS'
  37366. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37367. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37368. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37369. fi
  37370. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gcc_abi_demangle" >&5
  37371. $as_echo "$ac_cv_cxx_gcc_abi_demangle" >&6; }
  37372. if test "x$ac_cv_cxx_gcc_abi_demangle" = "xyes"; then :
  37373. $as_echo "#define HAVE_GCC_ABI_DEMANGLE 1" >>confdefs.h
  37374. fi
  37375. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the c++ compiler supports glibc backtrace" >&5
  37376. $as_echo_n "checking whether the c++ compiler supports glibc backtrace... " >&6; }
  37377. if ${ac_cv_cxx_glibc_backtrace+:} false; then :
  37378. $as_echo_n "(cached) " >&6
  37379. else
  37380. ac_ext=cpp
  37381. ac_cpp='$CXXCPP $CPPFLAGS'
  37382. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37383. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37384. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37385. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37386. /* end confdefs.h. */
  37387. #include <execinfo.h>
  37388. int
  37389. main ()
  37390. {
  37391. void *addresses[10];
  37392. int size = backtrace(addresses, 10);
  37393. char** strings = backtrace_symbols(addresses, size);
  37394. ;
  37395. return 0;
  37396. }
  37397. _ACEOF
  37398. if ac_fn_cxx_try_compile "$LINENO"; then :
  37399. ac_cv_cxx_glibc_backtrace=yes
  37400. else
  37401. ac_cv_cxx_glibc_backtrace=no
  37402. fi
  37403. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37404. ac_ext=cpp
  37405. ac_cpp='$CXXCPP $CPPFLAGS'
  37406. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37407. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37408. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37409. fi
  37410. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_glibc_backtrace" >&5
  37411. $as_echo "$ac_cv_cxx_glibc_backtrace" >&6; }
  37412. if test "x$ac_cv_cxx_glibc_backtrace" = "xyes"; then :
  37413. $as_echo "#define HAVE_GLIBC_BACKTRACE 1" >>confdefs.h
  37414. fi
  37415. # See if this compiler has a broken errno_t in a very specific
  37416. # situation (this is not common).
  37417. ac_ext=cpp
  37418. ac_cpp='$CXXCPP $CPPFLAGS'
  37419. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37420. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37421. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37422. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if errno.h can be wrapped in namespace" >&5
  37423. $as_echo_n "checking if errno.h can be wrapped in namespace... " >&6; }
  37424. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37425. /* end confdefs.h. */
  37426. namespace Foo {
  37427. #include <errno.h>
  37428. }
  37429. #include <cstring>
  37430. int
  37431. main ()
  37432. {
  37433. ;
  37434. return 0;
  37435. }
  37436. _ACEOF
  37437. if ac_fn_cxx_try_compile "$LINENO"; then :
  37438. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  37439. $as_echo "yes" >&6; }
  37440. else
  37441. errno_t_works=no
  37442. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  37443. $as_echo "no" >&6; }
  37444. fi
  37445. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37446. if test "x$errno_t_works" = "xno"; then :
  37447. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if workaround fixes the issue" >&5
  37448. $as_echo_n "checking if workaround fixes the issue... " >&6; }
  37449. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  37450. /* end confdefs.h. */
  37451. #include <errno.h> // the fix
  37452. namespace Foo {
  37453. #include <errno.h>
  37454. }
  37455. #include <cstring>
  37456. int
  37457. main ()
  37458. {
  37459. ;
  37460. return 0;
  37461. }
  37462. _ACEOF
  37463. if ac_fn_cxx_try_compile "$LINENO"; then :
  37464. typedef_errno_t_fixes_issue=yes
  37465. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  37466. $as_echo "yes" >&6; }
  37467. else
  37468. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  37469. $as_echo "no" >&6; }
  37470. fi
  37471. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  37472. fi
  37473. ac_ext=cpp
  37474. ac_cpp='$CXXCPP $CPPFLAGS'
  37475. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37476. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37477. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37478. if test "x$errno_t_works" = "xno" && test "x$typedef_errno_t_fixes_issue" = "xyes"; then :
  37479. $as_echo "#define COMPILER_HAS_BROKEN_ERRNO_T 1" >>confdefs.h
  37480. fi
  37481. if test "x$errno_t_works" = "xno" && test "x$typedef_errno_t_fixes_issue" = "x"; then :
  37482. as_fn_error $? "Cannot work around errno.h inclusion issue. This compiler will most likely not be able to build libmesh correctly." "$LINENO" 5
  37483. fi
  37484. # Restore original CXXFLAGS for now
  37485. ac_ext=cpp
  37486. ac_cpp='$CXXCPP $CPPFLAGS'
  37487. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  37488. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  37489. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  37490. CXXFLAGS="$libmesh_compiler_features_save_CXXFLAGS"
  37491. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  37492. $as_echo "---------------------------------------------" >&6; }
  37493. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ----- Done configuring compiler features ----" >&5
  37494. $as_echo "----- Done configuring compiler features ----" >&6; }
  37495. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  37496. $as_echo "---------------------------------------------" >&6; }
  37497. # --------------------------------------------------------------
  37498. # The AC_SUBST(foo) command creates an output variable from a shell
  37499. # variable. This command also causes AC_OUTPUT to replace all
  37500. # instances of @VAR@ with the value of the shell variable VAR in the
  37501. # output files (e.g. one or more Makefiles).
  37502. # --------------------------------------------------------------
  37503. # --------------------------------------------------------------
  37504. # This is a special test for the mpCC (IBM) compiler.
  37505. # mpCC fails the AC_LANG tests. Set the compiler to
  37506. # mpCC if it is there instead of xlC, but only do this
  37507. # _after_ configure is finished using CXX!
  37508. # --------------------------------------------------------------
  37509. if test "$CXX" = xlC_r; then :
  37510. # Extract the first word of "mpCC_r", so it can be a program name with args.
  37511. set dummy mpCC_r; ac_word=$2
  37512. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  37513. $as_echo_n "checking for $ac_word... " >&6; }
  37514. if ${ac_cv_prog_MPCXX+:} false; then :
  37515. $as_echo_n "(cached) " >&6
  37516. else
  37517. if test -n "$MPCXX"; then
  37518. ac_cv_prog_MPCXX="$MPCXX" # Let the user override the test.
  37519. else
  37520. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  37521. for as_dir in $PATH
  37522. do
  37523. IFS=$as_save_IFS
  37524. test -z "$as_dir" && as_dir=.
  37525. for ac_exec_ext in '' $ac_executable_extensions; do
  37526. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  37527. ac_cv_prog_MPCXX="mpCC_r"
  37528. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  37529. break 2
  37530. fi
  37531. done
  37532. done
  37533. IFS=$as_save_IFS
  37534. test -z "$ac_cv_prog_MPCXX" && ac_cv_prog_MPCXX="$CXX"
  37535. fi
  37536. fi
  37537. MPCXX=$ac_cv_prog_MPCXX
  37538. if test -n "$MPCXX"; then
  37539. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPCXX" >&5
  37540. $as_echo "$MPCXX" >&6; }
  37541. else
  37542. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  37543. $as_echo "no" >&6; }
  37544. fi
  37545. CXX=$MPCXX
  37546. if test "$CXX" = mpCC_r; then :
  37547. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using $CXX instead of xlC_r to compile C++ >>>" >&5
  37548. $as_echo "<<< Using $CXX instead of xlC_r to compile C++ >>>" >&6; }
  37549. fi
  37550. fi
  37551. if test "$CXX" = xlC; then :
  37552. # Extract the first word of "mpCC", so it can be a program name with args.
  37553. set dummy mpCC; ac_word=$2
  37554. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  37555. $as_echo_n "checking for $ac_word... " >&6; }
  37556. if ${ac_cv_prog_MPCXX+:} false; then :
  37557. $as_echo_n "(cached) " >&6
  37558. else
  37559. if test -n "$MPCXX"; then
  37560. ac_cv_prog_MPCXX="$MPCXX" # Let the user override the test.
  37561. else
  37562. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  37563. for as_dir in $PATH
  37564. do
  37565. IFS=$as_save_IFS
  37566. test -z "$as_dir" && as_dir=.
  37567. for ac_exec_ext in '' $ac_executable_extensions; do
  37568. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  37569. ac_cv_prog_MPCXX="mpCC"
  37570. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  37571. break 2
  37572. fi
  37573. done
  37574. done
  37575. IFS=$as_save_IFS
  37576. test -z "$ac_cv_prog_MPCXX" && ac_cv_prog_MPCXX="$CXX"
  37577. fi
  37578. fi
  37579. MPCXX=$ac_cv_prog_MPCXX
  37580. if test -n "$MPCXX"; then
  37581. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPCXX" >&5
  37582. $as_echo "$MPCXX" >&6; }
  37583. else
  37584. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  37585. $as_echo "no" >&6; }
  37586. fi
  37587. CXX=$MPCXX
  37588. if test "$CXX" = mpCC; then :
  37589. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using $CXX instead of xlC to compile C++ >>>" >&5
  37590. $as_echo "<<< Using $CXX instead of xlC to compile C++ >>>" >&6; }
  37591. fi
  37592. fi
  37593. # --------------------------------------------------------------
  37594. # --------------------------------------------------------------
  37595. # Get the source tree directory
  37596. # --------------------------------------------------------------
  37597. PWD=`pwd`
  37598. # --------------------------------------------------------------
  37599. # configure parts of the libmesh core
  37600. # --------------------------------------------------------------
  37601. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  37602. $as_echo "---------------------------------------------" >&6; }
  37603. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ----- Configuring core library features -----" >&5
  37604. $as_echo "----- Configuring core library features -----" >&6; }
  37605. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  37606. $as_echo "---------------------------------------------" >&6; }
  37607. # -------------------------------------------------------------
  37608. # gdb backtrace command -- default "gdb"
  37609. #
  37610. # Note: if you want to completely disable GDB backtraces, configure
  37611. # libmesh with --without-gdb-command.
  37612. # -------------------------------------------------------------
  37613. # Check whether --with-gdb-command was given.
  37614. if test "${with_gdb_command+set}" = set; then :
  37615. withval=$with_gdb_command; gdb_command="$withval"
  37616. else
  37617. gdb_command="no"
  37618. fi
  37619. cat >>confdefs.h <<_ACEOF
  37620. #define GDB_COMMAND "$gdb_command"
  37621. _ACEOF
  37622. { $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring gdb command... \"$gdb_command\"" >&5
  37623. $as_echo "configuring gdb command... \"$gdb_command\"" >&6; }
  37624. # -------------------------------------------------------------
  37625. # --------------------------------------------------------------
  37626. # The --enable/disable-unique-ptr is now deprecated and a warning
  37627. # message is printed if you attempt to use it.
  37628. # --------------------------------------------------------------
  37629. # Check whether --enable-unique-ptr was given.
  37630. if test "${enable_unique_ptr+set}" = set; then :
  37631. enableval=$enable_unique_ptr; enableuniqueptr=$enableval
  37632. else
  37633. enableuniqueptr=irrelevant
  37634. fi
  37635. if test "$enableuniqueptr" != irrelevant; then :
  37636. enableuniqueptr=yes
  37637. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable/disable-unique-ptr are now deprecated" >&5
  37638. $as_echo "$as_me: WARNING: --enable/disable-unique-ptr are now deprecated" >&2;}
  37639. fi
  37640. # Keep #define and Makefile variables around for backwards compatibility.
  37641. $as_echo "#define ENABLE_UNIQUE_PTR 1" >>confdefs.h
  37642. # --------------------------------------------------------------
  37643. # --------------------------------------------------------------
  37644. # library warnings - enable by default
  37645. # --------------------------------------------------------------
  37646. # Check whether --enable-warnings was given.
  37647. if test "${enable_warnings+set}" = set; then :
  37648. enableval=$enable_warnings; enablewarnings=$enableval
  37649. else
  37650. enablewarnings=yes
  37651. fi
  37652. if test "$enablewarnings" != yes; then :
  37653. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> INFO: Disabling library warnings <<<" >&5
  37654. $as_echo ">>> INFO: Disabling library warnings <<<" >&6; }
  37655. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring library without warnings <<<" >&5
  37656. $as_echo ">>> Configuring library without warnings <<<" >&6; }
  37657. else
  37658. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with warnings >>>" >&5
  37659. $as_echo "<<< Configuring library with warnings >>>" >&6; }
  37660. $as_echo "#define ENABLE_WARNINGS 1" >>confdefs.h
  37661. fi
  37662. # --------------------------------------------------------------
  37663. # --------------------------------------------------------------
  37664. # library deprecated code - enable by default
  37665. # --------------------------------------------------------------
  37666. # Check whether --enable-deprecated was given.
  37667. if test "${enable_deprecated+set}" = set; then :
  37668. enableval=$enable_deprecated; enabledeprecated=$enableval
  37669. else
  37670. enabledeprecated=yes
  37671. fi
  37672. if test "$enabledeprecated" != yes; then :
  37673. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> INFO: Disabling library deprecated code <<<" >&5
  37674. $as_echo ">>> INFO: Disabling library deprecated code <<<" >&6; }
  37675. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring library without deprecated code support <<<" >&5
  37676. $as_echo ">>> Configuring library without deprecated code support <<<" >&6; }
  37677. else
  37678. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with deprecated code support >>>" >&5
  37679. $as_echo "<<< Configuring library with deprecated code support >>>" >&6; }
  37680. $as_echo "#define ENABLE_DEPRECATED 1" >>confdefs.h
  37681. fi
  37682. # --------------------------------------------------------------
  37683. # --------------------------------------------------------------
  37684. # forward declared enumerations - enable by default
  37685. # We want to prevent new library code from being added that
  37686. # depends on including enum headers, but still give downstream
  37687. # apps the ability to compile with the old headers for a
  37688. # period of deprecation.
  37689. # --------------------------------------------------------------
  37690. # Check whether --enable-forward-declare-enums was given.
  37691. if test "${enable_forward_declare_enums+set}" = set; then :
  37692. enableval=$enable_forward_declare_enums; enablefwdenums=$enableval
  37693. else
  37694. enablefwdenums=yes
  37695. fi
  37696. if test "$enablefwdenums" != yes; then :
  37697. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> INFO: Forward declared enumerations are disabled <<<" >&5
  37698. $as_echo ">>> INFO: Forward declared enumerations are disabled <<<" >&6; }
  37699. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Enumeration headers will be included directly <<<" >&5
  37700. $as_echo ">>> Enumeration headers will be included directly <<<" >&6; }
  37701. else
  37702. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with forward declared enumerations >>>" >&5
  37703. $as_echo "<<< Configuring library with forward declared enumerations >>>" >&6; }
  37704. $as_echo "#define FORWARD_DECLARE_ENUMS 1" >>confdefs.h
  37705. fi
  37706. # --------------------------------------------------------------
  37707. # --------------------------------------------------------------
  37708. # blocked matrix/vector storage - disabled by default.
  37709. # See http://sourceforge.net/mailarchive/forum.php?thread_name=B4613A7D-0033-43C7-A9DF-5A801217A097%40nasa.gov&forum_name=libmesh-devel
  37710. # --------------------------------------------------------------
  37711. # Check whether --enable-blocked-storage was given.
  37712. if test "${enable_blocked_storage+set}" = set; then :
  37713. enableval=$enable_blocked_storage; enableblockedstorage=$enableval
  37714. else
  37715. enableblockedstorage=no
  37716. fi
  37717. if test "$enableblockedstorage" != no; then :
  37718. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library to use blocked storage data structures >>>" >&5
  37719. $as_echo "<<< Configuring library to use blocked storage data structures >>>" >&6; }
  37720. $as_echo "#define ENABLE_BLOCKED_STORAGE 1" >>confdefs.h
  37721. fi
  37722. # --------------------------------------------------------------
  37723. # --------------------------------------------------------------
  37724. # legacy include paths - disabled by default
  37725. # --------------------------------------------------------------
  37726. # Check whether --enable-legacy-include-paths was given.
  37727. if test "${enable_legacy_include_paths+set}" = set; then :
  37728. enableval=$enable_legacy_include_paths; enablelegacyincludepaths=$enableval
  37729. else
  37730. enablelegacyincludepaths=no
  37731. fi
  37732. if test "$enablelegacyincludepaths" != no; then :
  37733. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> WARNING: using a legacy option <<<" >&5
  37734. $as_echo ">>> WARNING: using a legacy option <<<" >&6; }
  37735. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring library to dump old header paths into include args <<<" >&5
  37736. $as_echo ">>> Configuring library to dump old header paths into include args <<<" >&6; }
  37737. else
  37738. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library to require \`\`include \"libmesh/etc.h\"'' style >>>" >&5
  37739. $as_echo "<<< Configuring library to require \`\`include \"libmesh/etc.h\"'' style >>>" >&6; }
  37740. fi
  37741. # --------------------------------------------------------------
  37742. # --------------------------------------------------------------
  37743. # legacy "using namespace libMesh" - disabled by default
  37744. # --------------------------------------------------------------
  37745. # Check whether --enable-legacy-using-namespace was given.
  37746. if test "${enable_legacy_using_namespace+set}" = set; then :
  37747. enableval=$enable_legacy_using_namespace; enablelegacyusingnamespace=$enableval
  37748. else
  37749. enablelegacyusingnamespace=no
  37750. fi
  37751. if test "$enablelegacyusingnamespace" != no; then :
  37752. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> WARNING: using a legacy option <<<" >&5
  37753. $as_echo ">>> WARNING: using a legacy option <<<" >&6; }
  37754. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring library to dump names into global namespace <<<" >&5
  37755. $as_echo ">>> Configuring library to dump names into global namespace <<<" >&6; }
  37756. else
  37757. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library to keep names in libMesh namespace >>>" >&5
  37758. $as_echo "<<< Configuring library to keep names in libMesh namespace >>>" >&6; }
  37759. $as_echo "#define REQUIRE_SEPARATE_NAMESPACE 1" >>confdefs.h
  37760. fi
  37761. # --------------------------------------------------------------
  37762. # -------------------------------------------------------------
  37763. # size of boundary_id_type -- default 2 bytes
  37764. # -------------------------------------------------------------
  37765. # Check whether --with-boundary_id_bytes was given.
  37766. if test "${with_boundary_id_bytes+set}" = set; then :
  37767. withval=$with_boundary_id_bytes; boundary_bytes="$withval"
  37768. else
  37769. boundary_bytes=2
  37770. fi
  37771. case "$boundary_bytes" in #(
  37772. 1) :
  37773. $as_echo "#define BOUNDARY_ID_BYTES 1" >>confdefs.h
  37774. ;; #(
  37775. 2) :
  37776. $as_echo "#define BOUNDARY_ID_BYTES 2" >>confdefs.h
  37777. ;; #(
  37778. 4) :
  37779. $as_echo "#define BOUNDARY_ID_BYTES 4" >>confdefs.h
  37780. ;; #(
  37781. 8) :
  37782. $as_echo "#define BOUNDARY_ID_BYTES 8" >>confdefs.h
  37783. ;; #(
  37784. *) :
  37785. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> unrecognized boundary_id size: $boundary_bytes - configuring size...2" >&5
  37786. $as_echo ">>> unrecognized boundary_id size: $boundary_bytes - configuring size...2" >&6; }
  37787. $as_echo "#define BOUNDARY_ID_BYTES 2" >>confdefs.h
  37788. boundary_bytes=2
  37789. ;;
  37790. esac
  37791. { $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring size of boundary_id... $boundary_bytes" >&5
  37792. $as_echo "configuring size of boundary_id... $boundary_bytes" >&6; }
  37793. # -------------------------------------------------------------
  37794. # -------------------------------------------------------------
  37795. # size of dof_id_type -- default 4 bytes
  37796. # -------------------------------------------------------------
  37797. # Check whether --with-dof_id_bytes was given.
  37798. if test "${with_dof_id_bytes+set}" = set; then :
  37799. withval=$with_dof_id_bytes; dof_bytes="$withval"
  37800. dof_bytes_setting="explicit"
  37801. else
  37802. dof_bytes=4
  37803. dof_bytes_setting="implicit"
  37804. fi
  37805. case "$dof_bytes" in #(
  37806. 1) :
  37807. $as_echo "#define DOF_ID_BYTES 1" >>confdefs.h
  37808. ;; #(
  37809. 2) :
  37810. $as_echo "#define DOF_ID_BYTES 2" >>confdefs.h
  37811. ;; #(
  37812. 4) :
  37813. $as_echo "#define DOF_ID_BYTES 4" >>confdefs.h
  37814. ;; #(
  37815. 8) :
  37816. $as_echo "#define DOF_ID_BYTES 8" >>confdefs.h
  37817. ;; #(
  37818. *) :
  37819. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> unrecognized dof_id size: $dof_bytes - configuring size...4" >&5
  37820. $as_echo ">>> unrecognized dof_id size: $dof_bytes - configuring size...4" >&6; }
  37821. $as_echo "#define DOF_ID_BYTES 4" >>confdefs.h
  37822. dof_bytes=4
  37823. dof_bytes_setting="implicit"
  37824. ;;
  37825. esac
  37826. { $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring size of dof_id... $dof_bytes" >&5
  37827. $as_echo "configuring size of dof_id... $dof_bytes" >&6; }
  37828. # -------------------------------------------------------------
  37829. # -------------------------------------------------------------
  37830. # size of processor_id_type -- default 4 bytes
  37831. # -------------------------------------------------------------
  37832. # Check whether --with-processor_id_bytes was given.
  37833. if test "${with_processor_id_bytes+set}" = set; then :
  37834. withval=$with_processor_id_bytes; processor_bytes="$withval"
  37835. else
  37836. processor_bytes=4
  37837. fi
  37838. case "$processor_bytes" in #(
  37839. 1) :
  37840. $as_echo "#define PROCESSOR_ID_BYTES 1" >>confdefs.h
  37841. ;; #(
  37842. 2) :
  37843. $as_echo "#define PROCESSOR_ID_BYTES 2" >>confdefs.h
  37844. ;; #(
  37845. 4) :
  37846. $as_echo "#define PROCESSOR_ID_BYTES 4" >>confdefs.h
  37847. ;; #(
  37848. 8) :
  37849. $as_echo "#define PROCESSOR_ID_BYTES 8" >>confdefs.h
  37850. ;; #(
  37851. *) :
  37852. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> unrecognized processor_id size: $processor_bytes - configuring size...4" >&5
  37853. $as_echo ">>> unrecognized processor_id size: $processor_bytes - configuring size...4" >&6; }
  37854. $as_echo "#define PROCESSOR_ID_BYTES 4" >>confdefs.h
  37855. processor_bytes=4
  37856. ;;
  37857. esac
  37858. { $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring size of processor_id... $processor_bytes" >&5
  37859. $as_echo "configuring size of processor_id... $processor_bytes" >&6; }
  37860. # -------------------------------------------------------------
  37861. # -------------------------------------------------------------
  37862. # size of subdomain_id_type -- default 2 bytes
  37863. # -------------------------------------------------------------
  37864. # Check whether --with-subdomain_id_bytes was given.
  37865. if test "${with_subdomain_id_bytes+set}" = set; then :
  37866. withval=$with_subdomain_id_bytes; subdomain_bytes="$withval"
  37867. else
  37868. subdomain_bytes=2
  37869. fi
  37870. case "$subdomain_bytes" in #(
  37871. 1) :
  37872. $as_echo "#define SUBDOMAIN_ID_BYTES 1" >>confdefs.h
  37873. ;; #(
  37874. 2) :
  37875. $as_echo "#define SUBDOMAIN_ID_BYTES 2" >>confdefs.h
  37876. ;; #(
  37877. 4) :
  37878. $as_echo "#define SUBDOMAIN_ID_BYTES 4" >>confdefs.h
  37879. ;; #(
  37880. 8) :
  37881. $as_echo "#define SUBDOMAIN_ID_BYTES 8" >>confdefs.h
  37882. ;; #(
  37883. *) :
  37884. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> unrecognized subdomain_id size: $subdomain_bytes - configuring size...2" >&5
  37885. $as_echo ">>> unrecognized subdomain_id size: $subdomain_bytes - configuring size...2" >&6; }
  37886. $as_echo "#define SUBDOMAIN_ID_BYTES 2" >>confdefs.h
  37887. subdomain_bytes=2
  37888. ;;
  37889. esac
  37890. { $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring size of subdomain_id... $subdomain_bytes" >&5
  37891. $as_echo "configuring size of subdomain_id... $subdomain_bytes" >&6; }
  37892. # -------------------------------------------------------------
  37893. # -------------------------------------------------------------
  37894. # Allow user to specify --enable-everything
  37895. #
  37896. # This flag will cause all (non-conflicting) options to be
  37897. # enabled for the purposes of configuration. For example, by
  37898. # performance logging is off by default, however
  37899. # --enable-everything will change it to be on by default.
  37900. #
  37901. # Note specific flags will override --enable-everything for
  37902. # that particular package, i.e.
  37903. # ./configure --enable-everything --disable-perflog
  37904. #
  37905. # -------------------------------------------------------------
  37906. # Check whether --enable-everything was given.
  37907. if test "${enable_everything+set}" = set; then :
  37908. enableval=$enable_everything; enableeverything=$enableval
  37909. else
  37910. enableeverything=no
  37911. fi
  37912. # -------------------------------------------------------------
  37913. # unique_id -- disable by default
  37914. # -------------------------------------------------------------
  37915. # Check whether --enable-unique-id was given.
  37916. if test "${enable_unique_id+set}" = set; then :
  37917. enableval=$enable_unique_id; case "${enableval}" in #(
  37918. yes) :
  37919. enableuniqueid=yes ;; #(
  37920. no) :
  37921. enableuniqueid=no ;; #(
  37922. *) :
  37923. as_fn_error $? "bad value ${enableval} for --enable-unique-id" "$LINENO" 5 ;;
  37924. esac
  37925. else
  37926. enableuniqueid=$enableeverything
  37927. fi
  37928. if test "$enableuniqueid" = yes; then :
  37929. $as_echo "#define ENABLE_UNIQUE_ID 1" >>confdefs.h
  37930. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with unique id support >>>" >&5
  37931. $as_echo "<<< Configuring library with unique id support >>>" >&6; }
  37932. fi
  37933. # -------------------------------------------------------------
  37934. # -------------------------------------------------------------
  37935. # size of unique_id_type -- default 8 bytes
  37936. # -------------------------------------------------------------
  37937. # Check whether --with-unique_id_bytes was given.
  37938. if test "${with_unique_id_bytes+set}" = set; then :
  37939. withval=$with_unique_id_bytes; unique_bytes="$withval"
  37940. else
  37941. unique_bytes=8
  37942. fi
  37943. case "$unique_bytes" in #(
  37944. 1) :
  37945. $as_echo "#define UNIQUE_ID_BYTES 1" >>confdefs.h
  37946. ;; #(
  37947. 2) :
  37948. $as_echo "#define UNIQUE_ID_BYTES 2" >>confdefs.h
  37949. ;; #(
  37950. 4) :
  37951. $as_echo "#define UNIQUE_ID_BYTES 4" >>confdefs.h
  37952. ;; #(
  37953. 8) :
  37954. $as_echo "#define UNIQUE_ID_BYTES 8" >>confdefs.h
  37955. ;; #(
  37956. *) :
  37957. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> unrecognized unique_id size: $unique_bytes - configuring size...8" >&5
  37958. $as_echo ">>> unrecognized unique_id size: $unique_bytes - configuring size...8" >&6; }
  37959. $as_echo "#define UNIQUE_ID_BYTES 8" >>confdefs.h
  37960. unique_bytes=8
  37961. ;;
  37962. esac
  37963. if test "$enableuniqueid" = yes; then :
  37964. { $as_echo "$as_me:${as_lineno-$LINENO}: result: configuring size of unique_id... $unique_bytes" >&5
  37965. $as_echo "configuring size of unique_id... $unique_bytes" >&6; }
  37966. fi
  37967. # -------------------------------------------------------------
  37968. # --------------------------------------------------------------
  37969. # Write stack trace output files on error() - disabled by default
  37970. # --------------------------------------------------------------
  37971. # Check whether --enable-tracefiles was given.
  37972. if test "${enable_tracefiles+set}" = set; then :
  37973. enableval=$enable_tracefiles; enabletracefiles=$enableval
  37974. else
  37975. enabletracefiles=$enableeverything
  37976. fi
  37977. if test "$enabletracefiles" != no; then :
  37978. $as_echo "#define ENABLE_TRACEFILES 1" >>confdefs.h
  37979. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with stack trace file support >>>" >&5
  37980. $as_echo "<<< Configuring library with stack trace file support >>>" >&6; }
  37981. fi
  37982. # --------------------------------------------------------------
  37983. # -------------------------------------------------------------
  37984. # AMR -- enabled by default
  37985. # -------------------------------------------------------------
  37986. # Check whether --enable-amr was given.
  37987. if test "${enable_amr+set}" = set; then :
  37988. enableval=$enable_amr; enableamr=$enableval
  37989. else
  37990. enableamr=yes
  37991. fi
  37992. if test "$enableamr" != no; then :
  37993. $as_echo "#define ENABLE_AMR 1" >>confdefs.h
  37994. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with AMR support >>>" >&5
  37995. $as_echo "<<< Configuring library with AMR support >>>" >&6; }
  37996. fi
  37997. # -------------------------------------------------------------
  37998. # -------------------------------------------------------------
  37999. # Variational smoother -- enabled by default
  38000. # -------------------------------------------------------------
  38001. # Check whether --enable-vsmoother was given.
  38002. if test "${enable_vsmoother+set}" = set; then :
  38003. enableval=$enable_vsmoother; enablevsmoother=$enableval
  38004. else
  38005. enablevsmoother=yes
  38006. fi
  38007. if test "$enablevsmoother" != no; then :
  38008. $as_echo "#define ENABLE_VSMOOTHER 1" >>confdefs.h
  38009. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with variational smoother support >>>" >&5
  38010. $as_echo "<<< Configuring library with variational smoother support >>>" >&6; }
  38011. fi
  38012. # -------------------------------------------------------------
  38013. # -------------------------------------------------------------
  38014. # Periodic BCs -- enabled by default
  38015. # -------------------------------------------------------------
  38016. # Check whether --enable-periodic was given.
  38017. if test "${enable_periodic+set}" = set; then :
  38018. enableval=$enable_periodic; enableperiodic=$enableval
  38019. else
  38020. enableperiodic=yes
  38021. fi
  38022. if test "$enableperiodic" != no; then :
  38023. $as_echo "#define ENABLE_PERIODIC 1" >>confdefs.h
  38024. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with periodic BC support >>>" >&5
  38025. $as_echo "<<< Configuring library with periodic BC support >>>" >&6; }
  38026. fi
  38027. # -------------------------------------------------------------
  38028. # -------------------------------------------------------------
  38029. # Dirichlet BC constraints -- enabled by default
  38030. # -------------------------------------------------------------
  38031. # Check whether --enable-dirichlet was given.
  38032. if test "${enable_dirichlet+set}" = set; then :
  38033. enableval=$enable_dirichlet; enabledirichlet=$enableval
  38034. else
  38035. enabledirichlet=yes
  38036. fi
  38037. if test "$enabledirichlet" != no; then :
  38038. $as_echo "#define ENABLE_DIRICHLET 1" >>confdefs.h
  38039. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Dirichlet constraint support >>>" >&5
  38040. $as_echo "<<< Configuring library with Dirichlet constraint support >>>" >&6; }
  38041. fi
  38042. # -------------------------------------------------------------
  38043. # -------------------------------------------------------------
  38044. # NodeConstraints -- disabled by default
  38045. # -------------------------------------------------------------
  38046. # Check whether --enable-nodeconstraint was given.
  38047. if test "${enable_nodeconstraint+set}" = set; then :
  38048. enableval=$enable_nodeconstraint; enablenodeconstraint=$enableval
  38049. else
  38050. enablenodeconstraint=$enableeverything
  38051. fi
  38052. if test "$enablenodeconstraint" != no; then :
  38053. $as_echo "#define ENABLE_NODE_CONSTRAINTS 1" >>confdefs.h
  38054. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with node constraints support >>>" >&5
  38055. $as_echo "<<< Configuring library with node constraints support >>>" >&6; }
  38056. fi
  38057. # -------------------------------------------------------------
  38058. # -------------------------------------------------------------
  38059. # Mesh == ParallelMesh -- disabled by default for max compatibility
  38060. # -------------------------------------------------------------
  38061. # Check whether --enable-parmesh was given.
  38062. if test "${enable_parmesh+set}" = set; then :
  38063. enableval=$enable_parmesh; enableparmesh=$enableval
  38064. else
  38065. enableparmesh=no
  38066. fi
  38067. if test "$enableparmesh" != no; then :
  38068. $as_echo "#define ENABLE_PARMESH 1" >>confdefs.h
  38069. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library to use ParallelMesh >>>" >&5
  38070. $as_echo "<<< Configuring library to use ParallelMesh >>>" >&6; }
  38071. fi
  38072. # -------------------------------------------------------------
  38073. # -------------------------------------------------------------
  38074. # Ghosted instead of Serial local vectors -- enabled by default
  38075. # -------------------------------------------------------------
  38076. # Check whether --enable-ghosted was given.
  38077. if test "${enable_ghosted+set}" = set; then :
  38078. enableval=$enable_ghosted; enableghosted=$enableval
  38079. else
  38080. enableghosted=yes
  38081. fi
  38082. if test "$enableghosted" != no; then :
  38083. $as_echo "#define ENABLE_GHOSTED 1" >>confdefs.h
  38084. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library to use ghosted local vectors >>>" >&5
  38085. $as_echo "<<< Configuring library to use ghosted local vectors >>>" >&6; }
  38086. fi
  38087. # -------------------------------------------------------------
  38088. # -------------------------------------------------------------
  38089. # Store node valence for use with subdivision surface finite
  38090. # elements -- enabled by default
  38091. # -------------------------------------------------------------
  38092. # Check whether --enable-node-valence was given.
  38093. if test "${enable_node_valence+set}" = set; then :
  38094. enableval=$enable_node_valence; enablenodevalence=$enableval
  38095. else
  38096. enablenodevalence=yes
  38097. fi
  38098. if test "$enablenodevalence" != no; then :
  38099. $as_echo "#define ENABLE_NODE_VALENCE 1" >>confdefs.h
  38100. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library to store node valence >>>" >&5
  38101. $as_echo "<<< Configuring library to store node valence >>>" >&6; }
  38102. fi
  38103. # -------------------------------------------------------------
  38104. # -------------------------------------------------------------
  38105. # 1D or 1D/2D only -- disabled by default
  38106. # -------------------------------------------------------------
  38107. # Check whether --enable-1D-only was given.
  38108. if test "${enable_1D_only+set}" = set; then :
  38109. enableval=$enable_1D_only; enable1D=$enableval
  38110. else
  38111. enable1D=no
  38112. fi
  38113. # Check whether --enable-2D-only was given.
  38114. if test "${enable_2D_only+set}" = set; then :
  38115. enableval=$enable_2D_only; enable2D=$enableval
  38116. else
  38117. enable2D=no
  38118. fi
  38119. if test "$enable2D" != no; then :
  38120. $as_echo "#define DIM 2" >>confdefs.h
  38121. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library for 1D/2D meshes only >>>" >&5
  38122. $as_echo "<<< Configuring library for 1D/2D meshes only >>>" >&6; }
  38123. elif test "$enable1D" != no; then :
  38124. $as_echo "#define DIM 1" >>confdefs.h
  38125. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library for 1D meshes only >>>" >&5
  38126. $as_echo "<<< Configuring library for 1D meshes only >>>" >&6; }
  38127. else
  38128. $as_echo "#define DIM 3" >>confdefs.h
  38129. fi
  38130. # -------------------------------------------------------------
  38131. # -------------------------------------------------------------
  38132. # higher order shapes -- enabled by default
  38133. # -------------------------------------------------------------
  38134. # Check whether --enable-pfem was given.
  38135. if test "${enable_pfem+set}" = set; then :
  38136. enableval=$enable_pfem; enablepfem=$enableval
  38137. else
  38138. enablepfem=yes
  38139. fi
  38140. if test "$enablepfem" != no; then :
  38141. $as_echo "#define ENABLE_HIGHER_ORDER_SHAPES 1" >>confdefs.h
  38142. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with higher order p-FEM shapes >>>" >&5
  38143. $as_echo "<<< Configuring library with higher order p-FEM shapes >>>" >&6; }
  38144. fi
  38145. # -------------------------------------------------------------
  38146. # -------------------------------------------------------------
  38147. # Infinite Elements -- disabled by default
  38148. # -------------------------------------------------------------
  38149. # Check whether --enable-ifem was given.
  38150. if test "${enable_ifem+set}" = set; then :
  38151. enableval=$enable_ifem; enableifem=$enableval
  38152. else
  38153. enableifem=$enableeverything
  38154. fi
  38155. if test "$enableifem" != no; then :
  38156. $as_echo "#define ENABLE_INFINITE_ELEMENTS 1" >>confdefs.h
  38157. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with infinite elements >>>" >&5
  38158. $as_echo "<<< Configuring library with infinite elements >>>" >&6; }
  38159. fi
  38160. if test x$enableifem != no ; then
  38161. LIBMESH_ENABLE_INFINITE_ELEMENTS_TRUE=
  38162. LIBMESH_ENABLE_INFINITE_ELEMENTS_FALSE='#'
  38163. else
  38164. LIBMESH_ENABLE_INFINITE_ELEMENTS_TRUE='#'
  38165. LIBMESH_ENABLE_INFINITE_ELEMENTS_FALSE=
  38166. fi
  38167. # -------------------------------------------------------------
  38168. # -------------------------------------------------------------
  38169. # Second Derivative Calculations -- disabled by default
  38170. # -------------------------------------------------------------
  38171. # Check whether --enable-second was given.
  38172. if test "${enable_second+set}" = set; then :
  38173. enableval=$enable_second; enablesecond=$enableval
  38174. else
  38175. enablesecond=yes
  38176. fi
  38177. if test "$enablesecond" != no; then :
  38178. $as_echo "#define ENABLE_SECOND_DERIVATIVES 1" >>confdefs.h
  38179. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with second derivatives >>>" >&5
  38180. $as_echo "<<< Configuring library with second derivatives >>>" >&6; }
  38181. fi
  38182. # -------------------------------------------------------------
  38183. # -------------------------------------------------------------
  38184. # complex numbers -- disabled by default
  38185. # -------------------------------------------------------------
  38186. # Check whether --enable-complex was given.
  38187. if test "${enable_complex+set}" = set; then :
  38188. enableval=$enable_complex; case "${enableval}" in #(
  38189. yes) :
  38190. enablecomplex=yes ;; #(
  38191. no) :
  38192. enablecomplex=no ;; #(
  38193. *) :
  38194. as_fn_error $? "bad value ${enableval} for --enable-complex" "$LINENO" 5 ;;
  38195. esac
  38196. else
  38197. enablecomplex=no
  38198. fi
  38199. if test "$enablecomplex" != no; then :
  38200. $as_echo "#define USE_COMPLEX_NUMBERS 1" >>confdefs.h
  38201. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with complex number support >>>" >&5
  38202. $as_echo "<<< Configuring library with complex number support >>>" >&6; }
  38203. else
  38204. $as_echo "#define USE_REAL_NUMBERS 1" >>confdefs.h
  38205. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with real number support >>>" >&5
  38206. $as_echo "<<< Configuring library with real number support >>>" >&6; }
  38207. fi
  38208. if test x$enablecomplex = xyes; then
  38209. LIBMESH_ENABLE_COMPLEX_TRUE=
  38210. LIBMESH_ENABLE_COMPLEX_FALSE='#'
  38211. else
  38212. LIBMESH_ENABLE_COMPLEX_TRUE='#'
  38213. LIBMESH_ENABLE_COMPLEX_FALSE=
  38214. fi
  38215. # -------------------------------------------------------------
  38216. # -------------------------------------------------------------
  38217. # Reference Counting -- enabled by default
  38218. # -------------------------------------------------------------
  38219. # Check whether --enable-reference-counting was given.
  38220. if test "${enable_reference_counting+set}" = set; then :
  38221. enableval=$enable_reference_counting; enablerefct=$enableval
  38222. else
  38223. enablerefct=yes
  38224. fi
  38225. if test "x$enablerefct" != "xno" && test "x$ac_cv_cxx_rtti" = "xyes"; then :
  38226. $as_echo "#define ENABLE_REFERENCE_COUNTING 1" >>confdefs.h
  38227. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with reference counting support >>>" >&5
  38228. $as_echo "<<< Configuring library with reference counting support >>>" >&6; }
  38229. else
  38230. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< No RTTI: disabling reference counting support >>>" >&5
  38231. $as_echo "<<< No RTTI: disabling reference counting support >>>" >&6; }
  38232. fi
  38233. # -------------------------------------------------------------
  38234. # -------------------------------------------------------------
  38235. # Performance Logging -- disabled by default
  38236. # -------------------------------------------------------------
  38237. # Check whether --enable-perflog was given.
  38238. if test "${enable_perflog+set}" = set; then :
  38239. enableval=$enable_perflog; enableperflog=$enableval
  38240. else
  38241. enableperflog=$enableeverything
  38242. fi
  38243. if test "$enableperflog" != no; then :
  38244. $as_echo "#define ENABLE_PERFORMANCE_LOGGING 1" >>confdefs.h
  38245. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with performance logging support >>>" >&5
  38246. $as_echo "<<< Configuring library with performance logging support >>>" >&6; }
  38247. fi
  38248. # ------------------------------------------------------------
  38249. # -------------------------------------------------------------
  38250. # Examples - enabled by default
  38251. # -------------------------------------------------------------
  38252. # Check whether --enable-examples was given.
  38253. if test "${enable_examples+set}" = set; then :
  38254. enableval=$enable_examples; case "${enableval}" in #(
  38255. yes) :
  38256. enableexamples=yes ;; #(
  38257. no) :
  38258. enableexamples=no ;; #(
  38259. *) :
  38260. as_fn_error $? "bad value ${enableval} for --enable-examples" "$LINENO" 5 ;;
  38261. esac
  38262. else
  38263. enableexamples=yes
  38264. fi
  38265. if test "$enableexamples" = yes; then :
  38266. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library example suite support >>>" >&5
  38267. $as_echo "<<< Configuring library example suite support >>>" >&6; }
  38268. fi
  38269. if test x$enableexamples = xyes; then
  38270. LIBMESH_ENABLE_EXAMPLES_TRUE=
  38271. LIBMESH_ENABLE_EXAMPLES_FALSE='#'
  38272. else
  38273. LIBMESH_ENABLE_EXAMPLES_TRUE='#'
  38274. LIBMESH_ENABLE_EXAMPLES_FALSE=
  38275. fi
  38276. # ------------------------------------------------------------
  38277. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  38278. $as_echo "---------------------------------------------" >&6; }
  38279. { $as_echo "$as_me:${as_lineno-$LINENO}: result: -- Done configuring core library features ---" >&5
  38280. $as_echo "-- Done configuring core library features ---" >&6; }
  38281. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  38282. $as_echo "---------------------------------------------" >&6; }
  38283. # --------------------------------------------------------------
  38284. # configure optional, external packages and libraries
  38285. # --------------------------------------------------------------
  38286. # initialize these empty - append below
  38287. # note that
  38288. # libmesh_optional_INCLUDES and
  38289. # libmesh_optional_LIBS should point to third party packages
  38290. # outside the libMesh source and installation tree, and will
  38291. # be exported to the installation environment.
  38292. #
  38293. # By contrast, libmesh_contrib_INCLUDES point inside the
  38294. # source tree for building contributed packages that do not
  38295. # need to be exported as part of the installation environment.
  38296. #
  38297. # libmesh_subpackage_arguments is a list of configure arguments
  38298. # that will be passed down to any subpackages that we are nesting.
  38299. #
  38300. # libmesh_pkgconfig_requires is a list of pkgconfig requirements
  38301. # we will add
  38302. #
  38303. # libmesh_installed_LIBS are libraries that we install and need to
  38304. # link with, usually not needed. presently only for Tecplot's binary
  38305. # library blob
  38306. libmesh_optional_INCLUDES=""
  38307. libmesh_optional_LIBS=""
  38308. libmesh_contrib_INCLUDES=""
  38309. libmesh_subpackage_arguments=""
  38310. libmesh_pkgconfig_requires=""
  38311. libmesh_installed_LIBS=""
  38312. # --------------------------------------------------------------
  38313. # TIMPI is required - so we should be able to see our TIMPI submodule.
  38314. # If our version of TIMPI doesn't have AM MAINTAINER MODE set, then we
  38315. # need its autoconf submodule initialized too.
  38316. # --------------------------------------------------------------
  38317. if test -r $top_srcdir/contrib/timpi/README &&
  38318. (test -r $top_srcdir/contrib/timpi/m4/autoconf-submodule/acsm_mpi.m4 ||
  38319. grep "^AM""_MAINTAINER_MODE" $top_srcdir/contrib/timpi/configure.ac >/dev/null); then :
  38320. libmesh_contrib_INCLUDES="-I\$(top_srcdir)/contrib/timpi/src/algorithms/include $libmesh_contrib_INCLUDES"
  38321. libmesh_contrib_INCLUDES="-I\$(top_srcdir)/contrib/timpi/src/parallel/include $libmesh_contrib_INCLUDES"
  38322. libmesh_contrib_INCLUDES="-I\$(top_srcdir)/contrib/timpi/src/utilities/include $libmesh_contrib_INCLUDES"
  38323. # Including timpi_config.h
  38324. libmesh_contrib_INCLUDES="-I\$(top_builddir)/contrib/timpi/src/utilities/include $libmesh_contrib_INCLUDES"
  38325. else
  38326. as_fn_error $? "You must run \"git submodule update --init --recursive\" before configuring libmesh" "$LINENO" 5
  38327. fi
  38328. # Note that even when optional packages are disabled we need to
  38329. # run their m4 macros to get proper AM_CONDITIONALs. Just be
  38330. # quiet about it...
  38331. if test "$enableoptional" != no; then :
  38332. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  38333. $as_echo "---------------------------------------------" >&6; }
  38334. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ----- Configuring for optional packages -----" >&5
  38335. $as_echo "----- Configuring for optional packages -----" >&6; }
  38336. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  38337. $as_echo "---------------------------------------------" >&6; }
  38338. fi
  38339. # --------------------------------------------------------------
  38340. # Allow user to specify --disable-strict-lgpl
  38341. # By default libmesh is built only with LGPL-compatible contrib
  38342. # libraries, but the user can pass --disable-strict-lgpl to configure
  38343. # to turn on Laspack, Triangle, and Space-filling curves library
  38344. # support.
  38345. # --------------------------------------------------------------
  38346. # Check whether --enable-strict-lgpl was given.
  38347. if test "${enable_strict_lgpl+set}" = set; then :
  38348. enableval=$enable_strict_lgpl; case "${enableval}" in #(
  38349. yes) :
  38350. enablestrictlgpl=yes ;; #(
  38351. no) :
  38352. enablestrictlgpl=no ;; #(
  38353. *) :
  38354. as_fn_error $? "bad value ${enableval} for --enable-strict-lgpl" "$LINENO" 5 ;;
  38355. esac
  38356. else
  38357. enablestrictlgpl=yes
  38358. fi
  38359. # --------------------------------------------------------------
  38360. # Allow for disable-nested
  38361. # --------------------------------------------------------------
  38362. # Check whether --enable-nested was given.
  38363. if test "${enable_nested+set}" = set; then :
  38364. enableval=$enable_nested; case "${enableval}" in #(
  38365. yes) :
  38366. enablenested=yes ;; #(
  38367. no) :
  38368. enablenested=no ;; #(
  38369. *) :
  38370. as_fn_error $? "bad value ${enableval} for --enable-nested" "$LINENO" 5 ;;
  38371. esac
  38372. else
  38373. enablenested=$enableoptional
  38374. fi
  38375. # --------------------------------------------------------------
  38376. # XDR binary IO support - enabled by default
  38377. # This used to be tested in libmesh_core_features.m4 since your
  38378. # system either had it or it didn't. Now it's possible for the
  38379. # XDR headers to be in different places, so it's more convenient
  38380. # to test for it here.
  38381. # --------------------------------------------------------------
  38382. # Check whether --enable-xdr was given.
  38383. if test "${enable_xdr+set}" = set; then :
  38384. enableval=$enable_xdr; enablexdr=$enableval
  38385. else
  38386. enablexdr=yes
  38387. fi
  38388. if test "$enablexdr" != no; then :
  38389. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for built-in XDR support" >&5
  38390. $as_echo_n "checking for built-in XDR support... " >&6; }
  38391. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38392. /* end confdefs.h. */
  38393. #include <stdio.h>
  38394. #include <rpc/rpc.h>
  38395. #include <rpc/xdr.h>
  38396. int
  38397. main ()
  38398. {
  38399. XDR * xdr;
  38400. FILE * fp;
  38401. xdrstdio_create(xdr, fp, XDR_ENCODE);
  38402. ;
  38403. return 0;
  38404. }
  38405. _ACEOF
  38406. if ac_fn_cxx_try_link "$LINENO"; then :
  38407. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38408. $as_echo "yes" >&6; }
  38409. $as_echo "#define HAVE_XDR 1" >>confdefs.h
  38410. enablexdr=yes
  38411. else
  38412. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  38413. $as_echo "no" >&6; }
  38414. enablexdr=no
  38415. fi
  38416. rm -f core conftest.err conftest.$ac_objext \
  38417. conftest$ac_exeext conftest.$ac_ext
  38418. if test "x$enablexdr" = "xno"; then :
  38419. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XDR support in /usr/include/tirpc" >&5
  38420. $as_echo_n "checking for XDR support in /usr/include/tirpc... " >&6; }
  38421. old_CPPFLAGS="$CPPFLAGS"
  38422. old_LIBS="$LIBS"
  38423. CPPFLAGS="$CPPFLAGS -I/usr/include/tirpc"
  38424. LIBS="$LIBS -ltirpc"
  38425. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38426. /* end confdefs.h. */
  38427. #include <stdio.h>
  38428. #include <rpc/rpc.h>
  38429. #include <rpc/xdr.h>
  38430. int
  38431. main ()
  38432. {
  38433. XDR * xdr;
  38434. FILE * fp;
  38435. xdrstdio_create(xdr, fp, XDR_ENCODE);
  38436. ;
  38437. return 0;
  38438. }
  38439. _ACEOF
  38440. if ac_fn_cxx_try_link "$LINENO"; then :
  38441. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38442. $as_echo "yes" >&6; }
  38443. $as_echo "#define HAVE_XDR 1" >>confdefs.h
  38444. enablexdr=yes
  38445. else
  38446. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  38447. $as_echo "no" >&6; }
  38448. enablexdr=no
  38449. fi
  38450. rm -f core conftest.err conftest.$ac_objext \
  38451. conftest$ac_exeext conftest.$ac_ext
  38452. if test "x$enablexdr" = "xyes"; then :
  38453. libmesh_optional_INCLUDES="$libmesh_optional_INCLUDES -I/usr/include/tirpc"
  38454. libmesh_optional_LIBS="$libmesh_optional_LIBS -ltirpc"
  38455. fi
  38456. CPPFLAGS="$old_CPPFLAGS"
  38457. LIBS="$old_LIBS"
  38458. fi
  38459. fi
  38460. # -------------------------------------------------------------
  38461. # -------------------------------------------------------------
  38462. # Boost -- enabled by default
  38463. # -------------------------------------------------------------
  38464. # Check whether --enable-boost was given.
  38465. if test "${enable_boost+set}" = set; then :
  38466. enableval=$enable_boost; case "${enableval}" in #(
  38467. yes) :
  38468. enableboost=yes ;; #(
  38469. no) :
  38470. enableboost=no ;; #(
  38471. *) :
  38472. as_fn_error $? "bad value ${enableval} for --enable-boost" "$LINENO" 5 ;;
  38473. esac
  38474. else
  38475. enableboost=$enableoptional
  38476. fi
  38477. install_internal_boost=no
  38478. BOOST_INCLUDE=""
  38479. if test "x$enableboost" != "xno"; then :
  38480. external_boost_found=yes
  38481. if test "x" != "x"; then
  38482. want_boost="yes"
  38483. ac_boost_path=""
  38484. else
  38485. # Check whether --with-boost was given.
  38486. if test "${with_boost+set}" = set; then :
  38487. withval=$with_boost;
  38488. if test "$withval" = "no"; then
  38489. want_boost="no"
  38490. elif test "$withval" = "yes"; then
  38491. want_boost="yes"
  38492. ac_boost_path=""
  38493. else
  38494. want_boost="yes"
  38495. ac_boost_path="$withval"
  38496. fi
  38497. else
  38498. want_boost="yes"
  38499. fi
  38500. # Check whether --with-boost-libdir was given.
  38501. if test "${with_boost_libdir+set}" = set; then :
  38502. withval=$with_boost_libdir;
  38503. if test -d "$withval"
  38504. then
  38505. ac_boost_lib_path="$withval"
  38506. else
  38507. as_fn_error $? "--with-boost-libdir expected directory name" "$LINENO" 5
  38508. fi
  38509. else
  38510. ac_boost_lib_path=""
  38511. fi
  38512. fi
  38513. if test "x$want_boost" = "xyes"; then
  38514. boost_lib_version_req=1.57.0
  38515. boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'`
  38516. boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'`
  38517. boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'`
  38518. boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
  38519. if test "x$boost_lib_version_req_sub_minor" = "x" ; then
  38520. boost_lib_version_req_sub_minor="0"
  38521. fi
  38522. WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
  38523. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5
  38524. $as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; }
  38525. succeeded=no
  38526. libsubdirs="lib"
  38527. ax_arch=`uname -m`
  38528. if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
  38529. libsubdirs="lib64 lib lib64"
  38530. fi
  38531. if test "$ac_boost_path" != ""; then
  38532. BOOST_CPPFLAGS="-I$ac_boost_path/include"
  38533. for ac_boost_path_tmp in $libsubdirs; do
  38534. if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
  38535. BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
  38536. break
  38537. fi
  38538. done
  38539. elif test "$cross_compiling" != yes; then
  38540. for ac_boost_path_tmp in $BOOST_ROOT $BOOST_DIR /usr /usr/local /opt /opt/local ; do
  38541. if ls -d "$ac_boost_path_tmp"/include/boost*/boost/ >/dev/null 2>&1 ||
  38542. ls -d "$ac_boost_path_tmp"/include/boost/ >/dev/null 2>&1; then
  38543. for libsubdir in $libsubdirs ; do
  38544. if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
  38545. done
  38546. BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
  38547. ac_boost_include_dir_tmp=`ls -d "$ac_boost_path_tmp"/include{/boost*,}/boost/shared_ptr.hpp 2>/dev/null | sed 's#boost/shared_ptr.hpp##'`
  38548. BOOST_CPPFLAGS="-I$ac_boost_include_dir_tmp"
  38549. break;
  38550. fi
  38551. done
  38552. fi
  38553. if test "$ac_boost_lib_path" != ""; then
  38554. BOOST_LDFLAGS="-L$ac_boost_lib_path"
  38555. fi
  38556. CPPFLAGS_SAVED="$CPPFLAGS"
  38557. CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
  38558. export CPPFLAGS
  38559. LDFLAGS_SAVED="$LDFLAGS"
  38560. LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
  38561. export LDFLAGS
  38562. ac_ext=cpp
  38563. ac_cpp='$CXXCPP $CPPFLAGS'
  38564. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38565. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38566. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38567. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38568. /* end confdefs.h. */
  38569. #include <boost/version.hpp>
  38570. int
  38571. main ()
  38572. {
  38573. #if BOOST_VERSION >= $WANT_BOOST_VERSION
  38574. // Everything is okay
  38575. #else
  38576. # error Boost version is too old
  38577. #endif
  38578. ;
  38579. return 0;
  38580. }
  38581. _ACEOF
  38582. if ac_fn_cxx_try_compile "$LINENO"; then :
  38583. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38584. $as_echo "yes" >&6; }
  38585. succeeded=yes
  38586. found_system=yes
  38587. fi
  38588. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  38589. ac_ext=cpp
  38590. ac_cpp='$CXXCPP $CPPFLAGS'
  38591. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38592. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38593. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38594. if test "x$succeeded" != "xyes"; then
  38595. _version=0
  38596. if test "$ac_boost_path" != ""; then
  38597. if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
  38598. for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
  38599. _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
  38600. V_CHECK=`expr $_version_tmp \> $_version`
  38601. if test "$V_CHECK" = "1" ; then
  38602. _version=$_version_tmp
  38603. fi
  38604. VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
  38605. BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
  38606. done
  38607. fi
  38608. else
  38609. if test "$cross_compiling" != yes; then
  38610. for ac_boost_path in /usr /usr/local /opt /opt/local ; do
  38611. if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
  38612. for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
  38613. _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
  38614. V_CHECK=`expr $_version_tmp \> $_version`
  38615. if test "$V_CHECK" = "1" ; then
  38616. _version=$_version_tmp
  38617. best_path=$ac_boost_path
  38618. fi
  38619. done
  38620. fi
  38621. done
  38622. VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
  38623. BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
  38624. if test "$ac_boost_lib_path" = ""; then
  38625. for libsubdir in $libsubdirs ; do
  38626. if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
  38627. done
  38628. BOOST_LDFLAGS="-L$best_path/$libsubdir"
  38629. fi
  38630. fi
  38631. if test "x$BOOST_ROOT" != "x"; then
  38632. for libsubdir in $libsubdirs ; do
  38633. if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
  38634. done
  38635. if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then
  38636. version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
  38637. stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
  38638. stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'`
  38639. V_CHECK=`expr $stage_version_shorten \>\= $_version`
  38640. if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
  38641. { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5
  38642. $as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;}
  38643. BOOST_CPPFLAGS="-I$BOOST_ROOT"
  38644. BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
  38645. fi
  38646. fi
  38647. fi
  38648. fi
  38649. CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
  38650. export CPPFLAGS
  38651. LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
  38652. export LDFLAGS
  38653. ac_ext=cpp
  38654. ac_cpp='$CXXCPP $CPPFLAGS'
  38655. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38656. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38657. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38658. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38659. /* end confdefs.h. */
  38660. #include <boost/version.hpp>
  38661. int
  38662. main ()
  38663. {
  38664. #if BOOST_VERSION >= $WANT_BOOST_VERSION
  38665. // Everything is okay
  38666. #else
  38667. # error Boost version is too old
  38668. #endif
  38669. ;
  38670. return 0;
  38671. }
  38672. _ACEOF
  38673. if ac_fn_cxx_try_compile "$LINENO"; then :
  38674. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38675. $as_echo "yes" >&6; }
  38676. succeeded=yes
  38677. found_system=yes
  38678. fi
  38679. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  38680. ac_ext=cpp
  38681. ac_cpp='$CXXCPP $CPPFLAGS'
  38682. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38683. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38684. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38685. fi
  38686. if test "$succeeded" != "yes" ; then
  38687. if test "$_version" = "0" ; then
  38688. { $as_echo "$as_me:${as_lineno-$LINENO}: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&5
  38689. $as_echo "$as_me: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&6;}
  38690. else
  38691. { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5
  38692. $as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;}
  38693. fi
  38694. # execute ACTION-IF-NOT-FOUND (if present):
  38695. external_boost_found=no
  38696. else
  38697. $as_echo "#define HAVE_BOOST 1" >>confdefs.h
  38698. # execute ACTION-IF-FOUND (if present):
  38699. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using external boost installation >>>" >&5
  38700. $as_echo "<<< Using external boost installation >>>" >&6; }
  38701. fi
  38702. CPPFLAGS="$CPPFLAGS_SAVED"
  38703. LDFLAGS="$LDFLAGS_SAVED"
  38704. fi
  38705. if test "x$external_boost_found" = "xyes"; then :
  38706. $as_echo "#define HAVE_EXTERNAL_BOOST 1" >>confdefs.h
  38707. fi
  38708. if test "x$external_boost_found" = "xno"; then :
  38709. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< External boost installation *not* found... will try to configure for libmesh's internal boost >>>" >&5
  38710. $as_echo "<<< External boost installation *not* found... will try to configure for libmesh's internal boost >>>" >&6; }
  38711. internal_boost_found=yes
  38712. if test "x$top_srcdir/contrib/boost" != "x"; then
  38713. want_boost="yes"
  38714. ac_boost_path="$top_srcdir/contrib/boost"
  38715. else
  38716. # Check whether --with-boost was given.
  38717. if test "${with_boost+set}" = set; then :
  38718. withval=$with_boost;
  38719. if test "$withval" = "no"; then
  38720. want_boost="no"
  38721. elif test "$withval" = "yes"; then
  38722. want_boost="yes"
  38723. ac_boost_path=""
  38724. else
  38725. want_boost="yes"
  38726. ac_boost_path="$withval"
  38727. fi
  38728. else
  38729. want_boost="yes"
  38730. fi
  38731. # Check whether --with-boost-libdir was given.
  38732. if test "${with_boost_libdir+set}" = set; then :
  38733. withval=$with_boost_libdir;
  38734. if test -d "$withval"
  38735. then
  38736. ac_boost_lib_path="$withval"
  38737. else
  38738. as_fn_error $? "--with-boost-libdir expected directory name" "$LINENO" 5
  38739. fi
  38740. else
  38741. ac_boost_lib_path=""
  38742. fi
  38743. fi
  38744. if test "x$want_boost" = "xyes"; then
  38745. boost_lib_version_req=1.57.0
  38746. boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([0-9]*\.[0-9]*\)'`
  38747. boost_lib_version_req_major=`expr $boost_lib_version_req : '\([0-9]*\)'`
  38748. boost_lib_version_req_minor=`expr $boost_lib_version_req : '[0-9]*\.\([0-9]*\)'`
  38749. boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
  38750. if test "x$boost_lib_version_req_sub_minor" = "x" ; then
  38751. boost_lib_version_req_sub_minor="0"
  38752. fi
  38753. WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
  38754. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boostlib >= $boost_lib_version_req" >&5
  38755. $as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; }
  38756. succeeded=no
  38757. libsubdirs="lib"
  38758. ax_arch=`uname -m`
  38759. if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
  38760. libsubdirs="lib64 lib lib64"
  38761. fi
  38762. if test "$ac_boost_path" != ""; then
  38763. BOOST_CPPFLAGS="-I$ac_boost_path/include"
  38764. for ac_boost_path_tmp in $libsubdirs; do
  38765. if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
  38766. BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
  38767. break
  38768. fi
  38769. done
  38770. elif test "$cross_compiling" != yes; then
  38771. for ac_boost_path_tmp in $BOOST_ROOT $BOOST_DIR /usr /usr/local /opt /opt/local ; do
  38772. if ls -d "$ac_boost_path_tmp"/include/boost*/boost/ >/dev/null 2>&1 ||
  38773. ls -d "$ac_boost_path_tmp"/include/boost/ >/dev/null 2>&1; then
  38774. for libsubdir in $libsubdirs ; do
  38775. if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
  38776. done
  38777. BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
  38778. ac_boost_include_dir_tmp=`ls -d "$ac_boost_path_tmp"/include{/boost*,}/boost/shared_ptr.hpp 2>/dev/null | sed 's#boost/shared_ptr.hpp##'`
  38779. BOOST_CPPFLAGS="-I$ac_boost_include_dir_tmp"
  38780. break;
  38781. fi
  38782. done
  38783. fi
  38784. if test "$ac_boost_lib_path" != ""; then
  38785. BOOST_LDFLAGS="-L$ac_boost_lib_path"
  38786. fi
  38787. CPPFLAGS_SAVED="$CPPFLAGS"
  38788. CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
  38789. export CPPFLAGS
  38790. LDFLAGS_SAVED="$LDFLAGS"
  38791. LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
  38792. export LDFLAGS
  38793. ac_ext=cpp
  38794. ac_cpp='$CXXCPP $CPPFLAGS'
  38795. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38796. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38797. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38798. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38799. /* end confdefs.h. */
  38800. #include <boost/version.hpp>
  38801. int
  38802. main ()
  38803. {
  38804. #if BOOST_VERSION >= $WANT_BOOST_VERSION
  38805. // Everything is okay
  38806. #else
  38807. # error Boost version is too old
  38808. #endif
  38809. ;
  38810. return 0;
  38811. }
  38812. _ACEOF
  38813. if ac_fn_cxx_try_compile "$LINENO"; then :
  38814. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38815. $as_echo "yes" >&6; }
  38816. succeeded=yes
  38817. found_system=yes
  38818. fi
  38819. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  38820. ac_ext=cpp
  38821. ac_cpp='$CXXCPP $CPPFLAGS'
  38822. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38823. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38824. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38825. if test "x$succeeded" != "xyes"; then
  38826. _version=0
  38827. if test "$ac_boost_path" != ""; then
  38828. if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
  38829. for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
  38830. _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
  38831. V_CHECK=`expr $_version_tmp \> $_version`
  38832. if test "$V_CHECK" = "1" ; then
  38833. _version=$_version_tmp
  38834. fi
  38835. VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
  38836. BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
  38837. done
  38838. fi
  38839. else
  38840. if test "$cross_compiling" != yes; then
  38841. for ac_boost_path in /usr /usr/local /opt /opt/local ; do
  38842. if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
  38843. for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
  38844. _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
  38845. V_CHECK=`expr $_version_tmp \> $_version`
  38846. if test "$V_CHECK" = "1" ; then
  38847. _version=$_version_tmp
  38848. best_path=$ac_boost_path
  38849. fi
  38850. done
  38851. fi
  38852. done
  38853. VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
  38854. BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
  38855. if test "$ac_boost_lib_path" = ""; then
  38856. for libsubdir in $libsubdirs ; do
  38857. if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
  38858. done
  38859. BOOST_LDFLAGS="-L$best_path/$libsubdir"
  38860. fi
  38861. fi
  38862. if test "x$BOOST_ROOT" != "x"; then
  38863. for libsubdir in $libsubdirs ; do
  38864. if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
  38865. done
  38866. if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then
  38867. version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
  38868. stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
  38869. stage_version_shorten=`expr $stage_version : '\([0-9]*\.[0-9]*\)'`
  38870. V_CHECK=`expr $stage_version_shorten \>\= $_version`
  38871. if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
  38872. { $as_echo "$as_me:${as_lineno-$LINENO}: We will use a staged boost library from $BOOST_ROOT" >&5
  38873. $as_echo "$as_me: We will use a staged boost library from $BOOST_ROOT" >&6;}
  38874. BOOST_CPPFLAGS="-I$BOOST_ROOT"
  38875. BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
  38876. fi
  38877. fi
  38878. fi
  38879. fi
  38880. CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
  38881. export CPPFLAGS
  38882. LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
  38883. export LDFLAGS
  38884. ac_ext=cpp
  38885. ac_cpp='$CXXCPP $CPPFLAGS'
  38886. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38887. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38888. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38889. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38890. /* end confdefs.h. */
  38891. #include <boost/version.hpp>
  38892. int
  38893. main ()
  38894. {
  38895. #if BOOST_VERSION >= $WANT_BOOST_VERSION
  38896. // Everything is okay
  38897. #else
  38898. # error Boost version is too old
  38899. #endif
  38900. ;
  38901. return 0;
  38902. }
  38903. _ACEOF
  38904. if ac_fn_cxx_try_compile "$LINENO"; then :
  38905. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38906. $as_echo "yes" >&6; }
  38907. succeeded=yes
  38908. found_system=yes
  38909. fi
  38910. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  38911. ac_ext=cpp
  38912. ac_cpp='$CXXCPP $CPPFLAGS'
  38913. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38914. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38915. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38916. fi
  38917. if test "$succeeded" != "yes" ; then
  38918. if test "$_version" = "0" ; then
  38919. { $as_echo "$as_me:${as_lineno-$LINENO}: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&5
  38920. $as_echo "$as_me: We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation." >&6;}
  38921. else
  38922. { $as_echo "$as_me:${as_lineno-$LINENO}: Your boost libraries seems to old (version $_version)." >&5
  38923. $as_echo "$as_me: Your boost libraries seems to old (version $_version)." >&6;}
  38924. fi
  38925. # execute ACTION-IF-NOT-FOUND (if present):
  38926. internal_boost_found=no
  38927. else
  38928. $as_echo "#define HAVE_BOOST 1" >>confdefs.h
  38929. # execute ACTION-IF-FOUND (if present):
  38930. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using libmesh-provided boost in ./contrib >>>" >&5
  38931. $as_echo "<<< Using libmesh-provided boost in ./contrib >>>" >&6; }
  38932. fi
  38933. CPPFLAGS="$CPPFLAGS_SAVED"
  38934. LDFLAGS="$LDFLAGS_SAVED"
  38935. fi
  38936. if test "x$internal_boost_found" = "xno"; then :
  38937. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Libmesh boost installation *not* found >>>" >&5
  38938. $as_echo "<<< Libmesh boost installation *not* found >>>" >&6; }
  38939. enableboost=no
  38940. else
  38941. install_internal_boost=yes
  38942. BOOST_INCLUDE="-I\$(top_srcdir)/contrib/boost/include"
  38943. fi
  38944. fi
  38945. fi
  38946. if test "x$enableboost" = "xyes"; then :
  38947. if test "x$install_internal_boost" = "xyes"; then :
  38948. libmesh_contrib_INCLUDES="$BOOST_INCLUDE $libmesh_contrib_INCLUDES"
  38949. else
  38950. libmesh_optional_INCLUDES="$BOOST_CPPFLAGS $libmesh_optional_INCLUDES"
  38951. fi
  38952. fi
  38953. if test x$install_internal_boost = xyes; then
  38954. LIBMESH_INSTALL_INTERNAL_BOOST_TRUE=
  38955. LIBMESH_INSTALL_INTERNAL_BOOST_FALSE='#'
  38956. else
  38957. LIBMESH_INSTALL_INTERNAL_BOOST_TRUE='#'
  38958. LIBMESH_INSTALL_INTERNAL_BOOST_FALSE=
  38959. fi
  38960. have_boost_unique_ptr=no
  38961. if test "x$enableboost" = "xyes"; then :
  38962. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for boost::movelib::unique_ptr support" >&5
  38963. $as_echo_n "checking for boost::movelib::unique_ptr support... " >&6; }
  38964. ac_ext=cpp
  38965. ac_cpp='$CXXCPP $CPPFLAGS'
  38966. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38967. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38968. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38969. old_CXXFLAGS="$CXXFLAGS"
  38970. CXXFLAGS="$CXXFLAGS $BOOST_CPPFLAGS"
  38971. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  38972. /* end confdefs.h. */
  38973. #include "boost/move/unique_ptr.hpp"
  38974. int
  38975. main ()
  38976. {
  38977. boost::movelib::unique_ptr<double> x(new double);
  38978. ;
  38979. return 0;
  38980. }
  38981. _ACEOF
  38982. if ac_fn_cxx_try_compile "$LINENO"; then :
  38983. have_boost_unique_ptr=yes
  38984. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  38985. $as_echo "yes" >&6; }
  38986. $as_echo "#define HAVE_BOOST_MOVELIB_UNIQUE_PTR 1" >>confdefs.h
  38987. else
  38988. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  38989. $as_echo "no" >&6; }
  38990. fi
  38991. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  38992. CXXFLAGS="$old_CXXFLAGS"
  38993. ac_ext=cpp
  38994. ac_cpp='$CXXCPP $CPPFLAGS'
  38995. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  38996. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  38997. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  38998. fi
  38999. ac_config_files="$ac_config_files contrib/boost/include/Makefile"
  39000. # --------------------------------------------------------------
  39001. # -------------------------------------------------------------
  39002. # MPI -- enabled by default
  39003. # -------------------------------------------------------------
  39004. if test "x$enablempi" = xyes; then :
  39005. if test x"$MPI_USING_WRAPPERS" = x1; then :
  39006. ac_ext=cpp
  39007. ac_cpp='$CXXCPP $CPPFLAGS'
  39008. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39009. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39010. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39011. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39012. /* end confdefs.h. */
  39013. #include <mpi.h>
  39014. int
  39015. main ()
  39016. {
  39017. int np; MPI_Comm_size (MPI_COMM_WORLD, &np);
  39018. ;
  39019. return 0;
  39020. }
  39021. _ACEOF
  39022. if ac_fn_cxx_try_link "$LINENO"; then :
  39023. enablempi=yes
  39024. MPI_IMPL="mpi-wrapper-built-in"
  39025. $as_echo "#define HAVE_MPI 1" >>confdefs.h
  39026. else
  39027. { $as_echo "$as_me:${as_lineno-$LINENO}: result: MPI wrapper $CXX cannot compile an MPI program. Disabling MPI..." >&5
  39028. $as_echo "MPI wrapper $CXX cannot compile an MPI program. Disabling MPI..." >&6; }
  39029. enablempi=no
  39030. fi
  39031. rm -f core conftest.err conftest.$ac_objext \
  39032. conftest$ac_exeext conftest.$ac_ext
  39033. ac_ext=cpp
  39034. ac_cpp='$CXXCPP $CPPFLAGS'
  39035. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39036. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39037. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39038. elif test -n "$MPI_LIBS_PATH" -a -n "$MPI_INCLUDES_PATH"; then :
  39039. $as_echo "note: Checking $MPI_LIBS_PATH and $MPI_INCLUDES_PATH for MPI"
  39040. MPI_LIBS_TO_TEST=""
  39041. if test -e $MPI_LIBS_PATH/libmpi.a; then :
  39042. MPI_LIBS_TO_TEST="$MPI_LIBS_PATH/libmpi.a $MPI_LIBS_TO_TEST"
  39043. fi
  39044. if test -e $MPI_LIBS_PATH/libmpi.so; then :
  39045. MPI_LIBS_TO_TEST="$MPI_LIBS_PATH/libmpi.so $MPI_LIBS_TO_TEST"
  39046. fi
  39047. if test -e $MPI_LIBS_PATH/libmpi.dylib; then :
  39048. MPI_LIBS_TO_TEST="$MPI_LIBS_PATH/libmpi.dylib $MPI_LIBS_TO_TEST"
  39049. fi
  39050. if test x"$MPI_LIBS_TO_TEST" != x; then :
  39051. $as_echo "note: testing $MPI_LIBS_PATH/libmpi(.a/.so/.dylib)"
  39052. tmpLIBS=$LIBS
  39053. ac_ext=cpp
  39054. ac_cpp='$CXXCPP $CPPFLAGS'
  39055. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39056. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39057. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39058. LIBS="-L$MPI_LIBS_PATH $LIBS"
  39059. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lam_show_version in -llam" >&5
  39060. $as_echo_n "checking for lam_show_version in -llam... " >&6; }
  39061. if ${ac_cv_lib_lam_lam_show_version+:} false; then :
  39062. $as_echo_n "(cached) " >&6
  39063. else
  39064. ac_check_lib_save_LIBS=$LIBS
  39065. LIBS="-llam $LIBS"
  39066. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39067. /* end confdefs.h. */
  39068. /* Override any GCC internal prototype to avoid an error.
  39069. Use char because int might match the return type of a GCC
  39070. builtin and then its argument prototype would still apply. */
  39071. #ifdef __cplusplus
  39072. extern "C"
  39073. #endif
  39074. char lam_show_version ();
  39075. int
  39076. main ()
  39077. {
  39078. return lam_show_version ();
  39079. ;
  39080. return 0;
  39081. }
  39082. _ACEOF
  39083. if ac_fn_cxx_try_link "$LINENO"; then :
  39084. ac_cv_lib_lam_lam_show_version=yes
  39085. else
  39086. ac_cv_lib_lam_lam_show_version=no
  39087. fi
  39088. rm -f core conftest.err conftest.$ac_objext \
  39089. conftest$ac_exeext conftest.$ac_ext
  39090. LIBS=$ac_check_lib_save_LIBS
  39091. fi
  39092. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lam_lam_show_version" >&5
  39093. $as_echo "$ac_cv_lib_lam_lam_show_version" >&6; }
  39094. if test "x$ac_cv_lib_lam_lam_show_version" = xyes; then :
  39095. LIBS="-llam $LIBS"
  39096. MPI_LIBS="-llam $MPI_LIBS"
  39097. fi
  39098. for lib in $MPI_LIBS_TO_TEST
  39099. do
  39100. if (nm $lib | grep elan > /dev/null); then
  39101. $as_echo "note: MPI found to use Quadrics switch, looking for elan library"
  39102. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elan_init in -lelan" >&5
  39103. $as_echo_n "checking for elan_init in -lelan... " >&6; }
  39104. if ${ac_cv_lib_elan_elan_init+:} false; then :
  39105. $as_echo_n "(cached) " >&6
  39106. else
  39107. ac_check_lib_save_LIBS=$LIBS
  39108. LIBS="-lelan $LIBS"
  39109. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39110. /* end confdefs.h. */
  39111. /* Override any GCC internal prototype to avoid an error.
  39112. Use char because int might match the return type of a GCC
  39113. builtin and then its argument prototype would still apply. */
  39114. #ifdef __cplusplus
  39115. extern "C"
  39116. #endif
  39117. char elan_init ();
  39118. int
  39119. main ()
  39120. {
  39121. return elan_init ();
  39122. ;
  39123. return 0;
  39124. }
  39125. _ACEOF
  39126. if ac_fn_cxx_try_link "$LINENO"; then :
  39127. ac_cv_lib_elan_elan_init=yes
  39128. else
  39129. ac_cv_lib_elan_elan_init=no
  39130. fi
  39131. rm -f core conftest.err conftest.$ac_objext \
  39132. conftest$ac_exeext conftest.$ac_ext
  39133. LIBS=$ac_check_lib_save_LIBS
  39134. fi
  39135. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elan_elan_init" >&5
  39136. $as_echo "$ac_cv_lib_elan_elan_init" >&6; }
  39137. if test "x$ac_cv_lib_elan_elan_init" = xyes; then :
  39138. LIBS="-lelan $LIBS"
  39139. MPI_LIBS="-lelan $MPI_LIBS"
  39140. else
  39141. as_fn_error $? "Could not find elan library... exiting" "$LINENO" 5
  39142. fi
  39143. break
  39144. fi
  39145. done
  39146. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5
  39147. $as_echo_n "checking for MPI_Init in -lmpi... " >&6; }
  39148. if ${ac_cv_lib_mpi_MPI_Init+:} false; then :
  39149. $as_echo_n "(cached) " >&6
  39150. else
  39151. ac_check_lib_save_LIBS=$LIBS
  39152. LIBS="-lmpi $LIBS"
  39153. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39154. /* end confdefs.h. */
  39155. /* Override any GCC internal prototype to avoid an error.
  39156. Use char because int might match the return type of a GCC
  39157. builtin and then its argument prototype would still apply. */
  39158. #ifdef __cplusplus
  39159. extern "C"
  39160. #endif
  39161. char MPI_Init ();
  39162. int
  39163. main ()
  39164. {
  39165. return MPI_Init ();
  39166. ;
  39167. return 0;
  39168. }
  39169. _ACEOF
  39170. if ac_fn_cxx_try_link "$LINENO"; then :
  39171. ac_cv_lib_mpi_MPI_Init=yes
  39172. else
  39173. ac_cv_lib_mpi_MPI_Init=no
  39174. fi
  39175. rm -f core conftest.err conftest.$ac_objext \
  39176. conftest$ac_exeext conftest.$ac_ext
  39177. LIBS=$ac_check_lib_save_LIBS
  39178. fi
  39179. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5
  39180. $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; }
  39181. if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then :
  39182. MPI_LIBS="-lmpi $MPI_LIBS"
  39183. MPI_LDFLAGS="-L$MPI_LIBS_PATH"
  39184. MPI_IMPL="mpi"
  39185. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found valid MPI installation..." >&5
  39186. $as_echo "Found valid MPI installation..." >&6; }
  39187. else
  39188. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not link in the MPI library..." >&5
  39189. $as_echo "Could not link in the MPI library..." >&6; }; enablempi=no
  39190. fi
  39191. ac_ext=cpp
  39192. ac_cpp='$CXXCPP $CPPFLAGS'
  39193. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39194. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39195. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39196. LIBS=$tmpLIBS
  39197. else
  39198. $as_echo "note: Could not find $MPI_LIBS_PATH/libmpi(.a/.so/.dylib)"
  39199. fi
  39200. if test x"$MPI_IMPL" = x; then :
  39201. if test -e $MPI_LIBS_PATH/libmpich.a || test -e $MPI_LIBS_PATH/libmpich.so; then :
  39202. $as_echo "note: using $MPI_LIBS_PATH/libmpich(.a/.so)"
  39203. tmpLIBS=$LIBS
  39204. ac_ext=cpp
  39205. ac_cpp='$CXXCPP $CPPFLAGS'
  39206. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39207. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39208. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39209. LIBS="-L$MPI_LIBS_PATH $LIBS"
  39210. if (nm $MPI_LIBS_PATH/libmpich.* | grep gm_open > /dev/null); then
  39211. $as_echo "note: MPICH found to use Myricomm's Myrinet, looking for gm library"
  39212. if test "x$GMHOME" = "x"; then :
  39213. GMHOME="/usr"
  39214. fi
  39215. # Check whether --with-gm was given.
  39216. if test "${with_gm+set}" = set; then :
  39217. withval=$with_gm; GM="$withval"
  39218. else
  39219. $as_echo "note: GM library path not given... trying prefix=$MPIHOME"
  39220. GM=$GMHOME
  39221. fi
  39222. LIBS="-L$GM/lib $LIBS"
  39223. MPI_LIBS="-L$GM/lib $MPI_LIBS"
  39224. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gm_open in -lgm" >&5
  39225. $as_echo_n "checking for gm_open in -lgm... " >&6; }
  39226. if ${ac_cv_lib_gm_gm_open+:} false; then :
  39227. $as_echo_n "(cached) " >&6
  39228. else
  39229. ac_check_lib_save_LIBS=$LIBS
  39230. LIBS="-lgm $LIBS"
  39231. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39232. /* end confdefs.h. */
  39233. /* Override any GCC internal prototype to avoid an error.
  39234. Use char because int might match the return type of a GCC
  39235. builtin and then its argument prototype would still apply. */
  39236. #ifdef __cplusplus
  39237. extern "C"
  39238. #endif
  39239. char gm_open ();
  39240. int
  39241. main ()
  39242. {
  39243. return gm_open ();
  39244. ;
  39245. return 0;
  39246. }
  39247. _ACEOF
  39248. if ac_fn_cxx_try_link "$LINENO"; then :
  39249. ac_cv_lib_gm_gm_open=yes
  39250. else
  39251. ac_cv_lib_gm_gm_open=no
  39252. fi
  39253. rm -f core conftest.err conftest.$ac_objext \
  39254. conftest$ac_exeext conftest.$ac_ext
  39255. LIBS=$ac_check_lib_save_LIBS
  39256. fi
  39257. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gm_gm_open" >&5
  39258. $as_echo "$ac_cv_lib_gm_gm_open" >&6; }
  39259. if test "x$ac_cv_lib_gm_gm_open" = xyes; then :
  39260. LIBS="$LIBS -lgm"
  39261. MPI_LIBS="$MPI_LIBS -lgm"
  39262. else
  39263. as_fn_error $? "Could not find gm library... exiting" "$LINENO" 5
  39264. fi
  39265. fi
  39266. if test -e $MPI_LIBS_PATH/libmpl.a || test -e $MPI_LIBS_PATH/libmpl.so; then :
  39267. LIBS="-L$MPI_LIBS_PATH -lmpl $tmpLIBS"
  39268. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5
  39269. $as_echo_n "checking for MPI_Init in -lmpich... " >&6; }
  39270. if ${ac_cv_lib_mpich_MPI_Init+:} false; then :
  39271. $as_echo_n "(cached) " >&6
  39272. else
  39273. ac_check_lib_save_LIBS=$LIBS
  39274. LIBS="-lmpich $LIBS"
  39275. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39276. /* end confdefs.h. */
  39277. /* Override any GCC internal prototype to avoid an error.
  39278. Use char because int might match the return type of a GCC
  39279. builtin and then its argument prototype would still apply. */
  39280. #ifdef __cplusplus
  39281. extern "C"
  39282. #endif
  39283. char MPI_Init ();
  39284. int
  39285. main ()
  39286. {
  39287. return MPI_Init ();
  39288. ;
  39289. return 0;
  39290. }
  39291. _ACEOF
  39292. if ac_fn_cxx_try_link "$LINENO"; then :
  39293. ac_cv_lib_mpich_MPI_Init=yes
  39294. else
  39295. ac_cv_lib_mpich_MPI_Init=no
  39296. fi
  39297. rm -f core conftest.err conftest.$ac_objext \
  39298. conftest$ac_exeext conftest.$ac_ext
  39299. LIBS=$ac_check_lib_save_LIBS
  39300. fi
  39301. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5
  39302. $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; }
  39303. if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then :
  39304. MPI_LIBS="-lmpich -lmpl $MPI_LIBS"
  39305. MPI_LDFLAGS="-L$MPI_LIBS_PATH"
  39306. MPI_IMPL="mpich"
  39307. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found valid MPICH installation with libmpl..." >&5
  39308. $as_echo "Found valid MPICH installation with libmpl..." >&6; }
  39309. else
  39310. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not link in the MPI library..." >&5
  39311. $as_echo "Could not link in the MPI library..." >&6; }; enablempi=no
  39312. fi
  39313. else
  39314. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5
  39315. $as_echo_n "checking for MPI_Init in -lmpich... " >&6; }
  39316. if ${ac_cv_lib_mpich_MPI_Init+:} false; then :
  39317. $as_echo_n "(cached) " >&6
  39318. else
  39319. ac_check_lib_save_LIBS=$LIBS
  39320. LIBS="-lmpich $LIBS"
  39321. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39322. /* end confdefs.h. */
  39323. /* Override any GCC internal prototype to avoid an error.
  39324. Use char because int might match the return type of a GCC
  39325. builtin and then its argument prototype would still apply. */
  39326. #ifdef __cplusplus
  39327. extern "C"
  39328. #endif
  39329. char MPI_Init ();
  39330. int
  39331. main ()
  39332. {
  39333. return MPI_Init ();
  39334. ;
  39335. return 0;
  39336. }
  39337. _ACEOF
  39338. if ac_fn_cxx_try_link "$LINENO"; then :
  39339. ac_cv_lib_mpich_MPI_Init=yes
  39340. else
  39341. ac_cv_lib_mpich_MPI_Init=no
  39342. fi
  39343. rm -f core conftest.err conftest.$ac_objext \
  39344. conftest$ac_exeext conftest.$ac_ext
  39345. LIBS=$ac_check_lib_save_LIBS
  39346. fi
  39347. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5
  39348. $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; }
  39349. if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then :
  39350. MPI_LIBS="-lmpich $MPI_LIBS"
  39351. MPI_LDFLAGS="-L$MPI_LIBS_PATH"
  39352. MPI_IMPL="mpich"
  39353. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Found valid MPICH installation..." >&5
  39354. $as_echo "Found valid MPICH installation..." >&6; }
  39355. else
  39356. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not link in the MPI library..." >&5
  39357. $as_echo "Could not link in the MPI library..." >&6; }; enablempi=no
  39358. fi
  39359. fi
  39360. ac_ext=cpp
  39361. ac_cpp='$CXXCPP $CPPFLAGS'
  39362. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39363. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39364. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39365. LIBS=$tmpLIBS
  39366. fi
  39367. fi
  39368. if test "x$MPI_IMPL" != x; then :
  39369. if test -e $MPI_INCLUDES_PATH/mpi.h; then :
  39370. $as_echo "note: using $MPI_INCLUDES_PATH/mpi.h"
  39371. tmpCPPFLAGS=$CPPFLAGS
  39372. ac_ext=cpp
  39373. ac_cpp='$CXXCPP $CPPFLAGS'
  39374. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39375. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39376. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39377. CPPFLAGS="-I$MPI_INCLUDES_PATH $CPPFLAGS"
  39378. ac_fn_cxx_check_header_mongrel "$LINENO" "mpi.h" "ac_cv_header_mpi_h" "$ac_includes_default"
  39379. if test "x$ac_cv_header_mpi_h" = xyes; then :
  39380. $as_echo "#define HAVE_MPI 1" >>confdefs.h
  39381. enablempi=yes
  39382. else
  39383. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not compile in the MPI headers..." >&5
  39384. $as_echo "Could not compile in the MPI headers..." >&6; }; enablempi=no
  39385. fi
  39386. MPI_INCLUDES="-I$MPI_INCLUDES_PATH"
  39387. ac_ext=cpp
  39388. ac_cpp='$CXXCPP $CPPFLAGS'
  39389. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39390. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39391. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39392. CPPFLAGS=$tmpCPPFLAGS
  39393. elif test -e $MPI_INCLUDES_PATH/mpi/mpi.h; then :
  39394. MPI_INCLUDES_PATH=$MPI_INCLUDES_PATH/mpi
  39395. $as_echo "note: using $MPI_INCLUDES_PATH/mpi.h"
  39396. tmpCPPFLAGS=$CPPFLAGS
  39397. ac_ext=cpp
  39398. ac_cpp='$CXXCPP $CPPFLAGS'
  39399. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39400. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39401. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39402. CPPFLAGS="-I$MPI_INCLUDES_PATH $CPPFLAGS"
  39403. ac_fn_cxx_check_header_mongrel "$LINENO" "mpi.h" "ac_cv_header_mpi_h" "$ac_includes_default"
  39404. if test "x$ac_cv_header_mpi_h" = xyes; then :
  39405. $as_echo "#define HAVE_MPI 1" >>confdefs.h
  39406. enablempi=yes
  39407. else
  39408. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not compile in the MPI headers..." >&5
  39409. $as_echo "Could not compile in the MPI headers..." >&6; }; enablempi=no
  39410. fi
  39411. MPI_INCLUDES="-I$MPI_INCLUDES_PATH"
  39412. ac_ext=cpp
  39413. ac_cpp='$CXXCPP $CPPFLAGS'
  39414. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39415. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39416. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39417. CPPFLAGS=$tmpCPPFLAGS
  39418. else
  39419. { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not find MPI header <mpi.h>..." >&5
  39420. $as_echo "Could not find MPI header <mpi.h>..." >&6; }
  39421. enablempi=no
  39422. fi
  39423. else
  39424. ac_ext=cpp
  39425. ac_cpp='$CXXCPP $CPPFLAGS'
  39426. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39427. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39428. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39429. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39430. /* end confdefs.h. */
  39431. #include <mpi.h>
  39432. int
  39433. main ()
  39434. {
  39435. int np; MPI_Comm_size (MPI_COMM_WORLD, &np);
  39436. ;
  39437. return 0;
  39438. }
  39439. _ACEOF
  39440. if ac_fn_cxx_try_link "$LINENO"; then :
  39441. MPI_IMPL="CXX-built-in"
  39442. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX Compiler Supports MPI " >&5
  39443. $as_echo "$CXX Compiler Supports MPI " >&6; }
  39444. $as_echo "#define HAVE_MPI 1" >>confdefs.h
  39445. enablempi=yes
  39446. else
  39447. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX Compiler Does NOT Support MPI..." >&5
  39448. $as_echo "$CXX Compiler Does NOT Support MPI..." >&6; }; enablempi=no
  39449. fi
  39450. rm -f core conftest.err conftest.$ac_objext \
  39451. conftest$ac_exeext conftest.$ac_ext
  39452. ac_ext=cpp
  39453. ac_cpp='$CXXCPP $CPPFLAGS'
  39454. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39455. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39456. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39457. fi
  39458. elif test x"$PETSC_HAVE_MPI" = x1; then :
  39459. tmpCPPFLAGS=$CPPFLAGS
  39460. tmpLIBS=$LIBS
  39461. ac_ext=cpp
  39462. ac_cpp='$CXXCPP $CPPFLAGS'
  39463. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39464. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39465. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39466. LIBS="$PETSC_MPI_LINK_LIBS $LIBS"
  39467. CPPFLAGS="$PETSC_MPI_INCLUDE_DIRS $CPPFLAGS"
  39468. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39469. /* end confdefs.h. */
  39470. #include <mpi.h>
  39471. int
  39472. main ()
  39473. {
  39474. int np; MPI_Comm_size (MPI_COMM_WORLD, &np);
  39475. ;
  39476. return 0;
  39477. }
  39478. _ACEOF
  39479. if ac_fn_cxx_try_link "$LINENO"; then :
  39480. enablempi=yes
  39481. MPI_IMPL="petsc"
  39482. $as_echo "#define HAVE_MPI 1" >>confdefs.h
  39483. if test x"$PETSC_MPI_INCLUDE_DIRS" != x; then :
  39484. MPI_INCLUDES="$PETSC_MPI_INCLUDE_DIRS"
  39485. fi
  39486. if test x"$PETSC_MPI_LINK_LIBS" != x; then :
  39487. MPI_LIBS="$PETSC_MPI_LINK_LIBS"
  39488. fi
  39489. else
  39490. { $as_echo "$as_me:${as_lineno-$LINENO}: result: PETSc MPI cannot compile an MPI program. Disabling MPI..." >&5
  39491. $as_echo "PETSc MPI cannot compile an MPI program. Disabling MPI..." >&6; }
  39492. enablempi=no
  39493. fi
  39494. rm -f core conftest.err conftest.$ac_objext \
  39495. conftest$ac_exeext conftest.$ac_ext
  39496. ac_ext=cpp
  39497. ac_cpp='$CXXCPP $CPPFLAGS'
  39498. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39499. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39500. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39501. LIBS=$tmpLIBS
  39502. CPPFLAGS=$tmpCPPFLAGS
  39503. else
  39504. ac_ext=cpp
  39505. ac_cpp='$CXXCPP $CPPFLAGS'
  39506. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39507. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39508. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39509. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39510. /* end confdefs.h. */
  39511. #include <mpi.h>
  39512. int
  39513. main ()
  39514. {
  39515. int np; MPI_Comm_size (MPI_COMM_WORLD, &np);
  39516. ;
  39517. return 0;
  39518. }
  39519. _ACEOF
  39520. if ac_fn_cxx_try_link "$LINENO"; then :
  39521. MPI_IMPL="CXX-built-in"
  39522. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX Compiler Supports MPI " >&5
  39523. $as_echo "$CXX Compiler Supports MPI " >&6; }
  39524. $as_echo "#define HAVE_MPI 1" >>confdefs.h
  39525. enablempi=yes
  39526. else
  39527. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX Compiler Does NOT Support MPI..." >&5
  39528. $as_echo "$CXX Compiler Does NOT Support MPI..." >&6; }; enablempi=no
  39529. fi
  39530. rm -f core conftest.err conftest.$ac_objext \
  39531. conftest$ac_exeext conftest.$ac_ext
  39532. ac_ext=cpp
  39533. ac_cpp='$CXXCPP $CPPFLAGS'
  39534. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39535. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39536. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39537. fi
  39538. if test "x$enablempi" = xyes; then :
  39539. if test x"$MPI_INCLUDES" = x; then :
  39540. else
  39541. libmesh_optional_INCLUDES="$MPI_INCLUDES $libmesh_optional_INCLUDES"
  39542. fi
  39543. if test x"$MPI_LIBS" != x; then :
  39544. libmesh_optional_LIBS="$MPI_LIBS $libmesh_optional_LIBS"
  39545. fi
  39546. if test x"$MPI_LDFLAGS" != x; then :
  39547. libmesh_optional_LIBS="$MPI_LDFLAGS $libmesh_optional_LIBS"
  39548. fi
  39549. fi
  39550. fi
  39551. # -------------------------------------------------------------------
  39552. # Petsc -- We already called ACSM_SCRAPE_PETSC_CONFIGURE in
  39553. # LIBMESH_SET_COMPILERS, so it's possible that the $enablepetsc
  39554. # flag is already set to "no", in which case we won't do further
  39555. # PETSc configuration here.
  39556. # -------------------------------------------------------------------
  39557. # Check whether --enable-petsc-required was given.
  39558. if test "${enable_petsc_required+set}" = set; then :
  39559. enableval=$enable_petsc_required; case "${enableval}" in #(
  39560. yes) :
  39561. petscrequired=yes ;; #(
  39562. no) :
  39563. petscrequired=no ;; #(
  39564. *) :
  39565. as_fn_error $? "bad value ${enableval} for --enable-petsc-required" "$LINENO" 5 ;;
  39566. esac
  39567. else
  39568. petscrequired=no
  39569. fi
  39570. # Check whether --enable-petsc-hypre-required was given.
  39571. if test "${enable_petsc_hypre_required+set}" = set; then :
  39572. enableval=$enable_petsc_hypre_required; case "${enableval}" in #(
  39573. yes) :
  39574. petschyprerequired=yes
  39575. petscrequired=yes ;; #(
  39576. no) :
  39577. petschyprerequired=no ;; #(
  39578. *) :
  39579. as_fn_error $? "bad value ${enableval} for --enable-petsc-hypre-required" "$LINENO" 5 ;;
  39580. esac
  39581. else
  39582. petschyprerequired=no
  39583. fi
  39584. if test "x$enablepetsc" = "xno" && test "x$petscrequired" = "xyes"; then :
  39585. as_fn_error 3 "*** PETSc was not found, but --enable-petsc-required was specified." "$LINENO" 5
  39586. fi
  39587. if test "x$enablepetsc" = "xno" && test "x$petschyprerequired" = "xyes"; then :
  39588. as_fn_error 4 "*** PETSc was not found, but --enable-petsc-hypre-required was specified." "$LINENO" 5
  39589. fi
  39590. if test "x$enablepetsc" != "xno"; then :
  39591. if test "$enablepetsc" != no; then :
  39592. # AC_REQUIRE:
  39593. # If the M4 macro AC_PROG_F77 has not already been called, call
  39594. # it (without any arguments). Make sure to quote AC_PROG_F77 with
  39595. # square brackets. AC_PROG_F77 must have been defined using
  39596. # AC_DEFUN or else contain a call to AC_PROVIDE to indicate
  39597. # that it has been called.
  39598. # Let's use a C compiler for the AC_CHECK_HEADER test, although this is
  39599. # not strictly necessary...
  39600. ac_ext=c
  39601. ac_cpp='$CPP $CPPFLAGS'
  39602. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39603. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39604. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  39605. as_ac_Header=`$as_echo "ac_cv_header_${PETSC_DIR}/${PETSC_ARCH}/include/petscversion.h" | $as_tr_sh`
  39606. ac_fn_c_check_header_mongrel "$LINENO" "${PETSC_DIR}/${PETSC_ARCH}/include/petscversion.h" "$as_ac_Header" "$ac_includes_default"
  39607. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  39608. enablepetsc=yes; enablepetsc_mpi=yes
  39609. petsc_version_h_file=${PETSC_DIR}/${PETSC_ARCH}/include/petscversion.h
  39610. else
  39611. as_ac_Header=`$as_echo "ac_cv_header_${PETSC_DIR}/include/petscversion.h" | $as_tr_sh`
  39612. ac_fn_c_check_header_mongrel "$LINENO" "${PETSC_DIR}/include/petscversion.h" "$as_ac_Header" "$ac_includes_default"
  39613. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  39614. enablepetsc=yes; enablepetsc_mpi=yes
  39615. petsc_version_h_file=${PETSC_DIR}/include/petscversion.h
  39616. else
  39617. enablepetsc=no; enablepetsc_mpi=no
  39618. fi
  39619. fi
  39620. ac_ext=cpp
  39621. ac_cpp='$CXXCPP $CPPFLAGS'
  39622. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39623. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39624. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39625. petsc_have_hypre=0
  39626. # Grab PETSc version and substitute into Makefile.
  39627. # If version 2.x, also check that PETSC_ARCH is set
  39628. if test "$enablepetsc" != no; then :
  39629. petscmajor=`grep "define PETSC_VERSION_MAJOR" $petsc_version_h_file | sed -e "s/#define PETSC_VERSION_MAJOR[ ]*//g"`
  39630. petscminor=`grep "define PETSC_VERSION_MINOR" $petsc_version_h_file | sed -e "s/#define PETSC_VERSION_MINOR[ ]*//g"`
  39631. petscsubminor=`grep "define PETSC_VERSION_SUBMINOR" $petsc_version_h_file | sed -e "s/#define PETSC_VERSION_SUBMINOR[ ]*//g"`
  39632. petscrelease=`grep "define PETSC_VERSION_RELEASE" $petsc_version_h_file | sed -e "s/#define PETSC_VERSION_RELEASE[ ]*//g"`
  39633. petscversion=$petscmajor.$petscminor.$petscsubminor
  39634. petscmajorminor=$petscmajor.$petscminor.x
  39635. if test "$petscmajor" = "2" && test "x${PETSC_ARCH}" = "x"; then :
  39636. enablepetsc=no; enablepetsc_mpi=no
  39637. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< PETSc 2.x detected and \"\$PETSC_ARCH\" not set. PETSc disabled. >>>" >&5
  39638. $as_echo "<<< PETSc 2.x detected and \"\$PETSC_ARCH\" not set. PETSc disabled. >>>" >&6; }
  39639. fi
  39640. petsc_use_debug=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_USE_DEBUG`
  39641. petsc_have_superlu_dist=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_SUPERLU_DIST`
  39642. petsc_have_mumps=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_MUMPS`
  39643. petsc_have_strumpack=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_STRUMPACK`
  39644. petsc_have_metis=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_METIS`
  39645. petsc_have_chaco=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_CHACO`
  39646. petsc_have_party=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_PARTY`
  39647. petsc_have_ptscotch=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_PTSCOTCH`
  39648. petsc_have_parmetis=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_PARMETIS`
  39649. petsc_have_hypre=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_HAVE_HYPRE`
  39650. else
  39651. enablepetsc=no; enablepetsc_mpi=no
  39652. fi
  39653. # If we haven't been disabled yet, carry on!
  39654. if test $enablepetsc != no; then :
  39655. # Print informative message about the version of PETSc we detected
  39656. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Found PETSc $petscversion installation in ${PETSC_DIR} ... >>>" >&5
  39657. $as_echo "<<< Found PETSc $petscversion installation in ${PETSC_DIR} ... >>>" >&6; }
  39658. # We can skip the rest of the tests because they aren't going to pass
  39659. if test $enablepetsc != no; then :
  39660. # Try to compile a trivial PETSc program to check our
  39661. # configuration... this should handle cases where we slipped
  39662. # by the tests above with an invalid PETSCINCLUDEDIRS
  39663. # variable, which happened when PETSc 3.6 came out.
  39664. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can compile a trivial PETSc program" >&5
  39665. $as_echo_n "checking whether we can compile a trivial PETSc program... " >&6; }
  39666. ac_ext=cpp
  39667. ac_cpp='$CXXCPP $CPPFLAGS'
  39668. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39669. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39670. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39671. # Save the original CXXFLAGS contents
  39672. saveCXXFLAGS="$CXXFLAGS"
  39673. # Append PETSc include paths to the CXXFLAGS variables
  39674. CXXFLAGS="$saveCXXFLAGS $PETSCINCLUDEDIRS"
  39675. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39676. /* end confdefs.h. */
  39677. #include <petsc.h>
  39678. static char help[]="";
  39679. int main(int argc, char **argv)
  39680. {
  39681. PetscInitialize(&argc, &argv, (char*)0,help);
  39682. PetscFinalize();
  39683. return 0;
  39684. }
  39685. _ACEOF
  39686. if ac_fn_cxx_try_compile "$LINENO"; then :
  39687. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  39688. $as_echo "yes" >&6; }
  39689. else
  39690. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  39691. $as_echo "no" >&6; }
  39692. enablepetsc=no; enablepetsc_mpi=no
  39693. fi
  39694. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  39695. # Return CXXFLAGS to their original state.
  39696. CXXFLAGS="$saveCXXFLAGS"
  39697. ac_ext=cpp
  39698. ac_cpp='$CXXCPP $CPPFLAGS'
  39699. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39700. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39701. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39702. # PETSc >= 3.5.0 should have TAO built-in, we don't currently support any other type of TAO installation.
  39703. petsc_have_tao=no
  39704. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TAO support via PETSc" >&5
  39705. $as_echo_n "checking for TAO support via PETSc... " >&6; }
  39706. ac_ext=c
  39707. ac_cpp='$CPP $CPPFLAGS'
  39708. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39709. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39710. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  39711. # Save the original CFLAGS contents
  39712. saveCFLAGS="$CFLAGS"
  39713. # Append PETSc include paths to the CFLAGS variables
  39714. CFLAGS="$saveCFLAGS $PETSCINCLUDEDIRS"
  39715. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39716. /* end confdefs.h. */
  39717. #include <petsctao.h>
  39718. static char help[]="";
  39719. int main(int argc, char **argv)
  39720. {
  39721. Tao tao;
  39722. PetscInitialize(&argc, &argv, (char*)0,help);
  39723. TaoCreate(PETSC_COMM_WORLD,&tao);
  39724. TaoDestroy(&tao);
  39725. PetscFinalize();
  39726. return 0;
  39727. }
  39728. _ACEOF
  39729. if ac_fn_c_try_compile "$LINENO"; then :
  39730. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  39731. $as_echo "yes" >&6; }
  39732. petsc_have_tao=yes
  39733. else
  39734. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  39735. $as_echo "no" >&6; }
  39736. fi
  39737. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  39738. # Return C flags to their original state.
  39739. CFLAGS="$saveCFLAGS"
  39740. ac_ext=cpp
  39741. ac_cpp='$CXXCPP $CPPFLAGS'
  39742. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39743. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39744. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39745. fi
  39746. fi
  39747. fi
  39748. # If PETSc is still enabled at this point, do the required AC_SUBST
  39749. # and AC_DEFINE commands. This prevents libmesh_config.h from having
  39750. # confusing information in it if the test compilation steps fail.
  39751. if test $enablepetsc != no; then :
  39752. cat >>confdefs.h <<_ACEOF
  39753. #define DETECTED_PETSC_VERSION_MAJOR $petscmajor
  39754. _ACEOF
  39755. cat >>confdefs.h <<_ACEOF
  39756. #define DETECTED_PETSC_VERSION_MINOR $petscminor
  39757. _ACEOF
  39758. cat >>confdefs.h <<_ACEOF
  39759. #define DETECTED_PETSC_VERSION_SUBMINOR $petscsubminor
  39760. _ACEOF
  39761. cat >>confdefs.h <<_ACEOF
  39762. #define DETECTED_PETSC_VERSION_RELEASE $petscrelease
  39763. _ACEOF
  39764. # Set a #define if PETSc was built with debugging enabled. Note
  39765. # that this token will appear as LIBMESH_PETSC_USE_DEBUG in our
  39766. # header, so it won't collide with PETSc's. It is safe to test
  39767. # the value of $petsc_use_debug, it is guaranteed to be either 0
  39768. # or nonzero.
  39769. if test $petsc_use_debug -gt 0; then :
  39770. $as_echo "#define PETSC_USE_DEBUG 1" >>confdefs.h
  39771. fi
  39772. # Set a #define if PETSc was built with SuperLU_dist support
  39773. if test $petsc_have_superlu_dist -gt 0; then :
  39774. $as_echo "#define PETSC_HAVE_SUPERLU_DIST 1" >>confdefs.h
  39775. fi
  39776. # Set a #define if PETSc was built with MUMPS support
  39777. if test $petsc_have_mumps -gt 0; then :
  39778. $as_echo "#define PETSC_HAVE_MUMPS 1" >>confdefs.h
  39779. fi
  39780. # Set a #define if PETSc was built with STRUMPACK support
  39781. if test $petsc_have_strumpack -gt 0; then :
  39782. $as_echo "#define PETSC_HAVE_STRUMPACK 1" >>confdefs.h
  39783. fi
  39784. # Set a #define if PETSc was built with Chaco support
  39785. if test $petsc_have_chaco -gt 0; then :
  39786. $as_echo "#define PETSC_HAVE_CHACO 1" >>confdefs.h
  39787. fi
  39788. # Set a #define if PETSc was built with Party support
  39789. if test $petsc_have_party -gt 0; then :
  39790. $as_echo "#define PETSC_HAVE_PARTY 1" >>confdefs.h
  39791. fi
  39792. # Set a #define if PETSc was built with PTScotch support
  39793. if test $petsc_have_ptscotch -gt 0; then :
  39794. $as_echo "#define PETSC_HAVE_PTSCOTCH 1" >>confdefs.h
  39795. fi
  39796. # Set a #define if PETSc was built with ParMETIS support
  39797. if test $petsc_have_parmetis -gt 0; then :
  39798. $as_echo "#define PETSC_HAVE_PARMETIS 1" >>confdefs.h
  39799. fi
  39800. # Note: may be empty...
  39801. if test $petsc_have_hypre -gt 0; then :
  39802. $as_echo "#define HAVE_PETSC_HYPRE 1" >>confdefs.h
  39803. fi
  39804. $as_echo "#define HAVE_PETSC 1" >>confdefs.h
  39805. if test $petsc_have_tao != no; then :
  39806. $as_echo "#define HAVE_PETSC_TAO 1" >>confdefs.h
  39807. fi
  39808. fi
  39809. # If PETSc is not enabled, but it *was* required, error out now
  39810. # instead of compiling libmesh in an invalid configuration.
  39811. if test "$enablepetsc" = "no" && test "$petscrequired" = "yes"; then :
  39812. as_fn_error 3 "*** PETSc was not found, but --enable-petsc-required was specified." "$LINENO" 5
  39813. fi
  39814. # If PETSc + Hypre is required, throw an error if we don't have it.
  39815. if test "x$petschyprerequired" = "xyes" && test $petsc_have_hypre -eq 0; then :
  39816. as_fn_error 4 "*** PETSc with Hypre was not found, but --enable-petsc-hypre-required was specified." "$LINENO" 5
  39817. fi
  39818. libmesh_optional_INCLUDES="$PETSCINCLUDEDIRS $libmesh_optional_INCLUDES"
  39819. libmesh_optional_LIBS="$PETSCLINKLIBS $libmesh_optional_LIBS"
  39820. fi
  39821. if test x$enablepetsc = xyes; then
  39822. LIBMESH_ENABLE_PETSC_TRUE=
  39823. LIBMESH_ENABLE_PETSC_FALSE='#'
  39824. else
  39825. LIBMESH_ENABLE_PETSC_TRUE='#'
  39826. LIBMESH_ENABLE_PETSC_FALSE=
  39827. fi
  39828. # -------------------------------------------------------------
  39829. # -------------------------------------------------------------
  39830. # Check for inconsistencies between PETSc and libmesh's scalar
  39831. # and index datatypes.
  39832. # -------------------------------------------------------------
  39833. if test $enablepetsc != no; then :
  39834. petsc_use_64bit_indices=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_USE_64BIT_INDICES`
  39835. if test $petsc_use_64bit_indices -gt 0 && test "$dof_bytes_setting" != "explicit"; then :
  39836. if test $dof_bytes != "8"; then :
  39837. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> adopting PETSc dof_id size: 8" >&5
  39838. $as_echo ">>> adopting PETSc dof_id size: 8" >&6; }
  39839. fi
  39840. dof_bytes=8
  39841. dof_bytes_setting="explicit"
  39842. $as_echo "#define DOF_ID_BYTES 8" >>confdefs.h
  39843. fi
  39844. if test $petsc_use_64bit_indices -gt 0 && test "$dof_bytes" != "8"; then :
  39845. as_fn_error $? "<<< PETSc is using 64-bit indices, you must configure libmesh with --with-dof-id-bytes=8. >>>" "$LINENO" 5
  39846. fi
  39847. if test $petsc_use_64bit_indices = "0" && test "$dof_bytes_setting" != "explicit"; then :
  39848. if test $dof_bytes != "4"; then :
  39849. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> adopting PETSc dof_id size: 4" >&5
  39850. $as_echo ">>> adopting PETSc dof_id size: 4" >&6; }
  39851. fi
  39852. dof_bytes=4
  39853. dof_bytes_setting="explicit"
  39854. fi
  39855. if test "$petsc_use_64bit_indices" = "0" && test $dof_bytes -gt 4; then :
  39856. as_fn_error $? "<<< PETSc is using 32-bit indices, you must configure libmesh with --with-dof-id-bytes=<1|2|4>. >>>" "$LINENO" 5
  39857. fi
  39858. petsc_use_complex=`cat ${PETSC_DIR}/include/petscconf.h ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h 2>/dev/null | grep -c PETSC_USE_COMPLEX`
  39859. if test $petsc_use_complex -gt 0 && test "$enablecomplex" = "no"; then :
  39860. as_fn_error $? "<<< PETSc was built with complex scalars, you must configure libmesh with --enable-complex. >>>" "$LINENO" 5
  39861. fi
  39862. if test "$petsc_use_complex" = "0" && test "$enablecomplex" = "yes"; then :
  39863. as_fn_error $? "<<< PETSc was built with real scalars, you must configure libmesh with --disable-complex. >>>" "$LINENO" 5
  39864. fi
  39865. fi
  39866. # -------------------------------------------------------------
  39867. # SLEPc -- enabled by default
  39868. # -------------------------------------------------------------
  39869. # Check whether --enable-slepc was given.
  39870. if test "${enable_slepc+set}" = set; then :
  39871. enableval=$enable_slepc; case "${enableval}" in #(
  39872. yes) :
  39873. enableslepc=yes ;; #(
  39874. no) :
  39875. enableslepc=no ;; #(
  39876. *) :
  39877. as_fn_error $? "bad value ${enableval} for --enable-slepc" "$LINENO" 5 ;;
  39878. esac
  39879. else
  39880. enableslepc=$enablepetsc
  39881. fi
  39882. # if unspecified, infer from what's up with PETSc
  39883. if test "$enableslepc" != no; then :
  39884. if test "x$SLEPC_DIR" = "x" && test "x$PETSC_DIR" != "x"; then :
  39885. export SLEPC_DIR=$PETSC_DIR
  39886. fi
  39887. # It doesn't seem likely that we would find a /usr/lib/slepc
  39888. # when we already didn't find a /usr/lib/petsc (otherwise,
  39889. # PETSC_DIR would be set!) so let's rule that case out just
  39890. # to be safe.
  39891. if test "x$SLEPC_DIR" = "x"; then :
  39892. enableslepc=no
  39893. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Could not infer SLEPC_DIR from PETSC_DIR, SLEPc disabled. >>>" >&5
  39894. $as_echo "<<< Could not infer SLEPC_DIR from PETSC_DIR, SLEPc disabled. >>>" >&6; }
  39895. fi
  39896. if test "x$SLEPC_DIR" != "x"; then :
  39897. slepc_standalone=no
  39898. slepc_in_petsc_arch=no
  39899. slepc_in_usr_lib=no
  39900. as_ac_Header=`$as_echo "ac_cv_header_$SLEPC_DIR/include/slepcversion.h" | $as_tr_sh`
  39901. ac_fn_cxx_check_header_mongrel "$LINENO" "$SLEPC_DIR/include/slepcversion.h" "$as_ac_Header" "$ac_includes_default"
  39902. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  39903. SLEPC_INCLUDE="-I$SLEPC_DIR/include"
  39904. slepc_standalone=yes
  39905. fi
  39906. if test "x$slepc_standalone" != "xyes" && test "x$PETSC_ARCH" != "x"; then :
  39907. as_ac_Header=`$as_echo "ac_cv_header_$SLEPC_DIR/$PETSC_ARCH/include/slepcversion.h" | $as_tr_sh`
  39908. ac_fn_cxx_check_header_mongrel "$LINENO" "$SLEPC_DIR/$PETSC_ARCH/include/slepcversion.h" "$as_ac_Header" "$ac_includes_default"
  39909. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  39910. SLEPC_INCLUDE="-I$SLEPC_DIR/$PETSC_ARCH/include"
  39911. slepc_in_petsc_arch=yes
  39912. fi
  39913. fi
  39914. if test "x$slepc_standalone" != "xyes" && test "x$slepc_in_petsc_arch" != "xyes"; then :
  39915. ac_fn_cxx_check_header_mongrel "$LINENO" "/usr/lib/slepc/slepcversion.h" "ac_cv_header__usr_lib_slepc_slepcversion_h" "$ac_includes_default"
  39916. if test "x$ac_cv_header__usr_lib_slepc_slepcversion_h" = xyes; then :
  39917. export SLEPC_DIR=/usr/lib/slepc
  39918. SLEPC_INCLUDE="-I$SLEPC_DIR/include"
  39919. else
  39920. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< No valid SLEPC installation found, SLEPc disabled. >>>" >&5
  39921. $as_echo "<<< No valid SLEPC installation found, SLEPc disabled. >>>" >&6; }
  39922. unset SLEPC_DIR
  39923. enableslepc=no
  39924. fi
  39925. fi
  39926. fi
  39927. if test "x$PETSC_ARCH" != "x"; then :
  39928. as_ac_Header=`$as_echo "ac_cv_header_$SLEPC_DIR/$PETSC_ARCH/include/slepcconf.h" | $as_tr_sh`
  39929. ac_fn_cxx_check_header_mongrel "$LINENO" "$SLEPC_DIR/$PETSC_ARCH/include/slepcconf.h" "$as_ac_Header" "$ac_includes_default"
  39930. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  39931. SLEPC_INCLUDE="$SLEPC_INCLUDE -I$SLEPC_DIR/$PETSC_ARCH/include"
  39932. fi
  39933. fi
  39934. fi
  39935. if test "x$enableslepc" = "xyes"; then :
  39936. slepc_version_header=$SLEPC_DIR/$PETSC_ARCH/include/slepcversion.h
  39937. if test "x$slepc_in_petsc_arch" != "xyes"; then :
  39938. slepc_version_header=$SLEPC_DIR/include/slepcversion.h
  39939. fi
  39940. slepcmajor=`grep "define SLEPC_VERSION_MAJOR" $slepc_version_header | sed -e "s/#define SLEPC_VERSION_MAJOR[ ]*//g"`
  39941. slepcminor=`grep "define SLEPC_VERSION_MINOR" $slepc_version_header | sed -e "s/#define SLEPC_VERSION_MINOR[ ]*//g"`
  39942. slepcsubminor=`grep "define SLEPC_VERSION_SUBMINOR" $slepc_version_header | sed -e "s/#define SLEPC_VERSION_SUBMINOR[ ]*//g"`
  39943. slepcversion=$slepcmajor.$slepcminor.$slepcsubminor
  39944. oldpetsc=no
  39945. if test $petscmajor -lt 3; then :
  39946. oldpetsc=yes
  39947. fi
  39948. if test "$petscmajor" = "3" && test $petscminor -lt 4; then :
  39949. oldpetsc=yes
  39950. fi
  39951. if test "$oldpetsc" = "yes" && test "$slepcversion" != "$petscversion"; then :
  39952. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< WARNING: PETSc version $petscversion does not match SLEPc version $slepcversion >>>" >&5
  39953. $as_echo "<<< WARNING: PETSc version $petscversion does not match SLEPc version $slepcversion >>>" >&6; }
  39954. fi
  39955. if test "$slepcmajor" != "$petscmajor" || test "$slepcminor" != "$petscminor"; then :
  39956. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< WARNING: PETSc version $petscmajor.$petscminor does not match SLEPc version $slepcmajor.$slepcminor >>>" >&5
  39957. $as_echo "<<< WARNING: PETSc version $petscmajor.$petscminor does not match SLEPc version $slepcmajor.$slepcminor >>>" >&6; }
  39958. fi
  39959. includefile=""
  39960. if test -r ${SLEPC_DIR}/bmake/${PETSC_ARCH}/slepcconf; then :
  39961. includefile=${SLEPC_DIR}/bmake/${PETSC_ARCH}/slepcconf
  39962. elif test -r ${SLEPC_DIR}/conf/slepc_common_variables; then :
  39963. includefile=${SLEPC_DIR}/conf/slepc_common_variables
  39964. elif test -r ${SLEPC_DIR}/conf/slepc_variables; then :
  39965. includefile=${SLEPC_DIR}/conf/slepc_variables
  39966. elif test -r ${SLEPC_DIR}/lib/slepc/conf/slepc_variables; then :
  39967. includefile=${SLEPC_DIR}/lib/slepc/conf/slepc_variables
  39968. elif test -r ${SLEPC_DIR}/${PETSC_ARCH}/lib/slepc/conf/slepc_variables; then :
  39969. includefile=${SLEPC_DIR}/${PETSC_ARCH}/lib/slepc/conf/slepc_variables
  39970. else
  39971. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< SLEPc configuration failed. Could not find slepcconf/slepc_variables file. >>>" >&5
  39972. $as_echo "<<< SLEPc configuration failed. Could not find slepcconf/slepc_variables file. >>>" >&6; }
  39973. enableslepc=no
  39974. fi
  39975. if test "x$enableslepc" = "xyes" && test "x$includefile" != "x"; then :
  39976. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Querying SLEPc configuration from $includefile >>>" >&5
  39977. $as_echo "<<< Querying SLEPc configuration from $includefile >>>" >&6; }
  39978. printf '%s\n' "include $includefile" > Makefile_config_slepc
  39979. printf '%s\n' "getSLEPC_LIBS:" >> Makefile_config_slepc
  39980. printf '\t%s\n' "echo \$(SLEPC_LIB) \$(ARPACK_LIB)" >> Makefile_config_slepc
  39981. SLEPC_LIBS=`make -s -f Makefile_config_slepc getSLEPC_LIBS`
  39982. if test x$? = x0; then :
  39983. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can compile a trivial SLEPc program" >&5
  39984. $as_echo_n "checking whether we can compile a trivial SLEPc program... " >&6; }
  39985. ac_ext=cpp
  39986. ac_cpp='$CXXCPP $CPPFLAGS'
  39987. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  39988. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  39989. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  39990. saveCXXFLAGS="$CXXFLAGS"
  39991. CXXFLAGS="$saveCXXFLAGS $PETSCINCLUDEDIRS $SLEPC_INCLUDE"
  39992. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  39993. /* end confdefs.h. */
  39994. #include <slepc.h>
  39995. static char help[]="";
  39996. int main(int argc, char **argv)
  39997. {
  39998. SlepcInitialize(&argc, &argv, (char*)0, help);
  39999. SlepcFinalize();
  40000. return 0;
  40001. }
  40002. _ACEOF
  40003. if ac_fn_cxx_try_compile "$LINENO"; then :
  40004. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  40005. $as_echo "yes" >&6; }
  40006. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with SLEPc version $slepcversion support >>>" >&5
  40007. $as_echo "<<< Configuring library with SLEPc version $slepcversion support >>>" >&6; }
  40008. $as_echo "#define HAVE_SLEPC 1" >>confdefs.h
  40009. cat >>confdefs.h <<_ACEOF
  40010. #define DETECTED_SLEPC_VERSION_MAJOR $slepcmajor
  40011. _ACEOF
  40012. cat >>confdefs.h <<_ACEOF
  40013. #define DETECTED_SLEPC_VERSION_MINOR $slepcminor
  40014. _ACEOF
  40015. cat >>confdefs.h <<_ACEOF
  40016. #define DETECTED_SLEPC_VERSION_SUBMINOR $slepcsubminor
  40017. _ACEOF
  40018. else
  40019. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  40020. $as_echo "no" >&6; }
  40021. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Compiling trivial SLEPc program failed. SLEPc disabled. >>>" >&5
  40022. $as_echo "<<< Compiling trivial SLEPc program failed. SLEPc disabled. >>>" >&6; }
  40023. enableslepc=no
  40024. fi
  40025. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  40026. CXXFLAGS="$saveCXXFLAGS"
  40027. ac_ext=cpp
  40028. ac_cpp='$CXXCPP $CPPFLAGS'
  40029. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  40030. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  40031. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  40032. else
  40033. enableslepc=no
  40034. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< SLEPc configuration query failed. SLEPc disabled. >>>" >&5
  40035. $as_echo "<<< SLEPc configuration query failed. SLEPc disabled. >>>" >&6; }
  40036. fi
  40037. rm -f Makefile_config_slepc
  40038. fi
  40039. fi
  40040. if test $enableslepc = yes; then :
  40041. libmesh_optional_INCLUDES="$SLEPC_INCLUDE $libmesh_optional_INCLUDES"
  40042. libmesh_optional_LIBS="$SLEPC_LIBS $libmesh_optional_LIBS"
  40043. fi
  40044. if test x$enableslepc = xyes; then
  40045. LIBMESH_ENABLE_SLEPC_TRUE=
  40046. LIBMESH_ENABLE_SLEPC_FALSE='#'
  40047. else
  40048. LIBMESH_ENABLE_SLEPC_TRUE='#'
  40049. LIBMESH_ENABLE_SLEPC_FALSE=
  40050. fi
  40051. # -------------------------------------------------------------
  40052. # -------------------------------------------------------------
  40053. # "Trilinos" -- enabled by default unless we're building with
  40054. # complex numbers.
  40055. # -------------------------------------------------------------
  40056. # Check whether --enable-trilinos was given.
  40057. if test "${enable_trilinos+set}" = set; then :
  40058. enableval=$enable_trilinos; case "${enableval}" in #(
  40059. yes) :
  40060. enabletrilinos=yes ;; #(
  40061. no) :
  40062. enabletrilinos=no ;; #(
  40063. *) :
  40064. as_fn_error $? "bad value ${enableval} for --enable-trilinos" "$LINENO" 5 ;;
  40065. esac
  40066. else
  40067. enabletrilinos=$enableoptional
  40068. fi
  40069. if test "$enabletrilinos" = yes && test "$dof_bytes" != "4"; then :
  40070. enabletrilinos=no
  40071. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Trilinos disabled, requires --with-dof-id-bytes=4 >>>" >&5
  40072. $as_echo "<<< Trilinos disabled, requires --with-dof-id-bytes=4 >>>" >&6; }
  40073. fi
  40074. if test "x$enabletrilinos" = xyes; then :
  40075. { $as_echo "$as_me:${as_lineno-$LINENO}: checking Whether MPI is available for Trilinos" >&5
  40076. $as_echo_n "checking Whether MPI is available for Trilinos... " >&6; }
  40077. if test "x$enablempi" = "xno"; then :
  40078. enabletrilinos=no
  40079. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  40080. $as_echo "no" >&6; }
  40081. else
  40082. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  40083. $as_echo "yes" >&6; }
  40084. fi
  40085. { $as_echo "$as_me:${as_lineno-$LINENO}: checking Whether Real precision is compatible with Trilinos" >&5
  40086. $as_echo_n "checking Whether Real precision is compatible with Trilinos... " >&6; }
  40087. if test "x$enablesingleprecision" != "xno" || test "x$enabletripleprecision" != "xno" || test "x$enablequadrupleprecision" != "xno"; then :
  40088. enabletrilinos=no
  40089. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  40090. $as_echo "no" >&6; }
  40091. else
  40092. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  40093. $as_echo "yes" >&6; }
  40094. fi
  40095. fi
  40096. if test "x$enablecomplex" = "xno"; then :
  40097. if test "x$enabletrilinos" != "xno"; then :
  40098. if test "x$TRILINOS_DIR" = "x"; then :
  40099. if test -d /usr/include/trilinos; then :
  40100. TRILINOS_DIR=/usr/include/trilinos
  40101. else
  40102. TRILINOS_DIR=no
  40103. fi
  40104. fi
  40105. # Check whether --with-trilinos was given.
  40106. if test "${with_trilinos+set}" = set; then :
  40107. withval=$with_trilinos; withtrilinosdir=$withval
  40108. else
  40109. withtrilinosdir=$TRILINOS_DIR
  40110. fi
  40111. if test "x$withtrilinosdir" != "xno"; then :
  40112. if test -r $withtrilinosdir/include/Makefile.export.Trilinos; then :
  40113. TRILINOS_MAKEFILE_EXPORT=$withtrilinosdir/include/Makefile.export.Trilinos
  40114. elif test -r $withtrilinosdir/Makefile.export.Trilinos; then :
  40115. TRILINOS_MAKEFILE_EXPORT=$withtrilinosdir/Makefile.export.Trilinos
  40116. else
  40117. enabletrilinos10=no
  40118. fi
  40119. if test "x$enabletrilinos10" != "xno"; then :
  40120. enabletrilinos10=yes
  40121. trilinosversionstring=`grep "define TRILINOS_VERSION_STRING" $withtrilinosdir/include/Trilinos_version.h | sed -e "s/#define TRILINOS_VERSION_STRING[ ]*//g" | tr -d '"'`
  40122. if test "x$trilinosversionstring" = "x"; then :
  40123. trilinosversionstring=`grep "define TRILINOS_MAJOR_VERSION" $withtrilinosdir/include/Trilinos_version.h | sed -e "s/#define TRILINOS_MAJOR_VERSION[ ]*//g"`
  40124. fi
  40125. if test "x$trilinosversionstring" = "x"; then :
  40126. trilinosversionstring=10+
  40127. fi
  40128. $as_echo "#define HAVE_TRILINOS 1" >>confdefs.h
  40129. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Trilinos $trilinosversionstring support >>>" >&5
  40130. $as_echo "<<< Configuring library with Trilinos $trilinosversionstring support >>>" >&6; }
  40131. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/AztecOO_config.h" | $as_tr_sh`
  40132. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/AztecOO_config.h" "$as_ac_Header" "$ac_includes_default"
  40133. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40134. enableaztecoo=yes
  40135. else
  40136. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/AztecOO_config.h" | $as_tr_sh`
  40137. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/AztecOO_config.h" "$as_ac_Header" "$ac_includes_default"
  40138. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40139. enableaztecoo=yes
  40140. else
  40141. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/aztecoo/src/AztecOO_config.h" | $as_tr_sh`
  40142. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/aztecoo/src/AztecOO_config.h" "$as_ac_Header" "$ac_includes_default"
  40143. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40144. enableaztecoo=yes
  40145. else
  40146. enableaztecoo=no
  40147. fi
  40148. fi
  40149. fi
  40150. if test "x$enableaztecoo" != "xno"; then :
  40151. $as_echo "#define TRILINOS_HAVE_AZTECOO 1" >>confdefs.h
  40152. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with AztecOO support >>>" >&5
  40153. $as_echo "<<< Configuring library with AztecOO support >>>" >&6; }
  40154. fi
  40155. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/NOX_Config.h" | $as_tr_sh`
  40156. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/NOX_Config.h" "$as_ac_Header" "$ac_includes_default"
  40157. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40158. enablenox=yes
  40159. else
  40160. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/NOX_Config.h" | $as_tr_sh`
  40161. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/NOX_Config.h" "$as_ac_Header" "$ac_includes_default"
  40162. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40163. enablenox=yes
  40164. else
  40165. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/nox/src/NOX_Config.h" | $as_tr_sh`
  40166. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/nox/src/NOX_Config.h" "$as_ac_Header" "$ac_includes_default"
  40167. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40168. enablenox=yes
  40169. else
  40170. enablenox=no
  40171. fi
  40172. fi
  40173. fi
  40174. if test "x$enablenox" != "xno"; then :
  40175. $as_echo "#define TRILINOS_HAVE_NOX 1" >>confdefs.h
  40176. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with NOX support >>>" >&5
  40177. $as_echo "<<< Configuring library with NOX support >>>" >&6; }
  40178. fi
  40179. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/ml_include.h" | $as_tr_sh`
  40180. ac_fn_cxx_check_header_compile "$LINENO" "$withtrilinosdir/include/ml_include.h" "$as_ac_Header" "
  40181. #ifdef HAVE_PETSC
  40182. #undef HAVE_PETSC
  40183. #endif
  40184. "
  40185. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40186. enableml=yes
  40187. else
  40188. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/ml_include.h" | $as_tr_sh`
  40189. ac_fn_cxx_check_header_compile "$LINENO" "$withtrilinosdir/ml_include.h" "$as_ac_Header" "
  40190. #ifdef HAVE_PETSC
  40191. #undef HAVE_PETSC
  40192. #endif
  40193. "
  40194. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40195. enableml=yes
  40196. else
  40197. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/ml/src/ml_config.h" | $as_tr_sh`
  40198. ac_fn_cxx_check_header_compile "$LINENO" "$withtrilinosdir/packages/ml/src/ml_config.h" "$as_ac_Header" "
  40199. #ifdef HAVE_PETSC
  40200. #undef HAVE_PETSC
  40201. #endif
  40202. "
  40203. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40204. enableml=yes
  40205. else
  40206. enableml=no
  40207. fi
  40208. fi
  40209. fi
  40210. if test "x$enableml" != "xno"; then :
  40211. $as_echo "#define TRILINOS_HAVE_ML 1" >>confdefs.h
  40212. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with ML support >>>" >&5
  40213. $as_echo "<<< Configuring library with ML support >>>" >&6; }
  40214. fi
  40215. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/Tpetra_config.h" | $as_tr_sh`
  40216. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/Tpetra_config.h" "$as_ac_Header" "$ac_includes_default"
  40217. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40218. enabletpetra=yes
  40219. else
  40220. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/Tpetra_config.h" | $as_tr_sh`
  40221. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/Tpetra_config.h" "$as_ac_Header" "$ac_includes_default"
  40222. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40223. enabletpetra=yes
  40224. else
  40225. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/tpetra/src/Tpetra_config.h" | $as_tr_sh`
  40226. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/tpetra/src/Tpetra_config.h" "$as_ac_Header" "$ac_includes_default"
  40227. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40228. enabletpetra=yes
  40229. else
  40230. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/tpetra/core/src/TpetraCore_config.h" | $as_tr_sh`
  40231. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/tpetra/core/src/TpetraCore_config.h" "$as_ac_Header" "$ac_includes_default"
  40232. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40233. enabletpetra=yes
  40234. else
  40235. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/TpetraCore_config.h" | $as_tr_sh`
  40236. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/TpetraCore_config.h" "$as_ac_Header" "$ac_includes_default"
  40237. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40238. enabletpetra=yes
  40239. else
  40240. enabletpetra=no
  40241. fi
  40242. fi
  40243. fi
  40244. fi
  40245. fi
  40246. if test "x$enabletpetra" != "xno"; then :
  40247. $as_echo "#define TRILINOS_HAVE_TPETRA 1" >>confdefs.h
  40248. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with TPetra support >>>" >&5
  40249. $as_echo "<<< Configuring library with TPetra support >>>" >&6; }
  40250. fi
  40251. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/DataTransferKit_config.hpp" | $as_tr_sh`
  40252. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/DataTransferKit_config.hpp" "$as_ac_Header" "$ac_includes_default"
  40253. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40254. enabledtk=yes
  40255. else
  40256. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/DataTransferKit_config.hpp" | $as_tr_sh`
  40257. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/DataTransferKit_config.hpp" "$as_ac_Header" "$ac_includes_default"
  40258. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40259. enabledtk=yes
  40260. else
  40261. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/DataTransferKit/src/DataTransferKit_config.hpp" | $as_tr_sh`
  40262. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/DataTransferKit/src/DataTransferKit_config.hpp" "$as_ac_Header" "$ac_includes_default"
  40263. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40264. enabledtk=yes
  40265. else
  40266. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/DataTransferKit/packages/Utils/src/DataTransferKitUtils_config.hpp" | $as_tr_sh`
  40267. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/DataTransferKit/packages/Utils/src/DataTransferKitUtils_config.hpp" "$as_ac_Header" "$ac_includes_default"
  40268. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40269. enabledtk=yes
  40270. else
  40271. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/DataTransferKitUtils_config.hpp" | $as_tr_sh`
  40272. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/DataTransferKitUtils_config.hpp" "$as_ac_Header" "$ac_includes_default"
  40273. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40274. enabledtk=yes
  40275. else
  40276. enabledtk=no
  40277. fi
  40278. fi
  40279. fi
  40280. fi
  40281. fi
  40282. if test "x$enabledtk" != "xno"; then :
  40283. $as_echo "#define TRILINOS_HAVE_DTK 1" >>confdefs.h
  40284. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with DTK support >>>" >&5
  40285. $as_echo "<<< Configuring library with DTK support >>>" >&6; }
  40286. fi
  40287. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/Ifpack_config.h" | $as_tr_sh`
  40288. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/Ifpack_config.h" "$as_ac_Header" "$ac_includes_default"
  40289. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40290. enableifpack=yes
  40291. else
  40292. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/ifpack/src/Ifpack_config.h" | $as_tr_sh`
  40293. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/ifpack/src/Ifpack_config.h" "$as_ac_Header" "$ac_includes_default"
  40294. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40295. enableifpack=yes
  40296. else
  40297. enableifpack=no
  40298. fi
  40299. fi
  40300. if test "x$enableifpack" != "xno"; then :
  40301. $as_echo "#define TRILINOS_HAVE_IFPACK 1" >>confdefs.h
  40302. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Trilinos Ifpack support >>>" >&5
  40303. $as_echo "<<< Configuring library with Trilinos Ifpack support >>>" >&6; }
  40304. fi
  40305. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/EpetraExt_config.h" | $as_tr_sh`
  40306. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/EpetraExt_config.h" "$as_ac_Header" "$ac_includes_default"
  40307. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40308. enableepetraext=yes
  40309. else
  40310. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/epetraext/src/EpetraExt_config.h" | $as_tr_sh`
  40311. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/epetraext/src/EpetraExt_config.h" "$as_ac_Header" "$ac_includes_default"
  40312. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40313. enableepetraext=yes
  40314. else
  40315. enableepetraext=no
  40316. fi
  40317. fi
  40318. if test "x$enableepetraext" != "xno"; then :
  40319. $as_echo "#define TRILINOS_HAVE_EPETRAEXT 1" >>confdefs.h
  40320. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Trilinos EpetraExt support >>>" >&5
  40321. $as_echo "<<< Configuring library with Trilinos EpetraExt support >>>" >&6; }
  40322. fi
  40323. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/include/Epetra_config.h" | $as_tr_sh`
  40324. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/include/Epetra_config.h" "$as_ac_Header" "$ac_includes_default"
  40325. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40326. enableepetra=yes
  40327. else
  40328. as_ac_Header=`$as_echo "ac_cv_header_$withtrilinosdir/packages/epetra/src/Epetra_config.h" | $as_tr_sh`
  40329. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtrilinosdir/packages/epetra/src/Epetra_config.h" "$as_ac_Header" "$ac_includes_default"
  40330. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  40331. enableepetra=yes
  40332. else
  40333. enableepetra=no
  40334. fi
  40335. fi
  40336. if test "x$enableepetra" != "xno"; then :
  40337. $as_echo "#define TRILINOS_HAVE_EPETRA 1" >>confdefs.h
  40338. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Trilinos Epetra support >>>" >&5
  40339. $as_echo "<<< Configuring library with Trilinos Epetra support >>>" >&6; }
  40340. fi
  40341. fi
  40342. else
  40343. enabletrilinos10=no
  40344. fi
  40345. if test "x$enabletrilinos10" != "xno"; then :
  40346. printf '%s\n' "include $TRILINOS_MAKEFILE_EXPORT" > Makefile_config_trilinos
  40347. printf '%s\n' "echo_libs:" >> Makefile_config_trilinos
  40348. printf '\t%s\n' "@echo \$(Trilinos_LIBRARIES) \$(Trilinos_LIBRARY_DIRS) \$(Trilinos_TPL_LIBRARIES) \$(Trilinos_TPL_LIBRARY_DIRS)" >> Makefile_config_trilinos
  40349. printf '%s\n' "echo_include:" >> Makefile_config_trilinos
  40350. printf '\t%s\n' "@echo \$(Trilinos_INCLUDE_DIRS) \$(Trilinos_TPL_INCLUDE_DIRS)" >> Makefile_config_trilinos
  40351. TRILINOS_INCLUDES=`make -sf Makefile_config_trilinos echo_include`
  40352. TRILINOS_LIBS=`make -sf Makefile_config_trilinos echo_libs`
  40353. rm -f Makefile_config_trilinos
  40354. fi
  40355. if test "x$RPATHFLAG" != "x" && test -d ${withtrilinosdir}/lib; then :
  40356. TRILINOS_LIBS="${RPATHFLAG}${withtrilinosdir}/lib $TRILINOS_LIBS"
  40357. fi
  40358. if test "x$enabletrilinos10" = "xno"; then :
  40359. if test "x$TRILINOS_DIR" = "x"; then :
  40360. TRILINOS_DIR=no
  40361. fi
  40362. # Check whether --with-trilinos was given.
  40363. if test "${with_trilinos+set}" = set; then :
  40364. withval=$with_trilinos; withtrilinosdir=$withval
  40365. else
  40366. withtrilinosdir=$TRILINOS_DIR
  40367. fi
  40368. if test "x$withtrilinosdir" != "xno"; then :
  40369. if test -r $withtrilinosdir/include/Makefile.export.aztecoo; then :
  40370. AZTECOO_MAKEFILE_EXPORT=$withtrilinosdir/include/Makefile.export.aztecoo
  40371. elif test -r $withtrilinosdir/packages/aztecoo/Makefile.export.aztecoo; then :
  40372. AZTECOO_MAKEFILE_EXPORT=$withtrilinosdir/packages/aztecoo/Makefile.export.aztecoo
  40373. else
  40374. enableaztecoo=no
  40375. fi
  40376. if test "x$enableaztecoo" != "xno"; then :
  40377. enableaztecoo=yes
  40378. $as_echo "#define TRILINOS_HAVE_AZTECOO 1" >>confdefs.h
  40379. $as_echo "#define HAVE_TRILINOS 1" >>confdefs.h
  40380. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Trilinos 9 support >>>" >&5
  40381. $as_echo "<<< Configuring library with Trilinos 9 support >>>" >&6; }
  40382. fi
  40383. else
  40384. enableaztecoo=no
  40385. fi
  40386. # Check whether --with-nox was given.
  40387. if test "${with_nox+set}" = set; then :
  40388. withval=$with_nox; withnoxdir=$withval
  40389. else
  40390. withnoxdir=$TRILINOS_DIR
  40391. fi
  40392. if test "x$withnoxdir" != "xno"; then :
  40393. if test -r $withnoxdir/include/Makefile.export.nox; then :
  40394. NOX_MAKEFILE_EXPORT=$withnoxdir/include/Makefile.export.nox
  40395. elif test -r $withnoxdir/packages/nox/Makefile.export.nox; then :
  40396. NOX_MAKEFILE_EXPORT=$withnoxdir/packages/nox/Makefile.export.nox
  40397. else
  40398. enablenox=no
  40399. fi
  40400. if test "x$enablenox" != "xno"; then :
  40401. enablenox=yes
  40402. $as_echo "#define TRILINOS_HAVE_NOX 1" >>confdefs.h
  40403. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Nox support >>>" >&5
  40404. $as_echo "<<< Configuring library with Nox support >>>" >&6; }
  40405. fi
  40406. else
  40407. enablenox=no
  40408. fi
  40409. # Check whether --with-ml was given.
  40410. if test "${with_ml+set}" = set; then :
  40411. withval=$with_ml; withmldir=$withval
  40412. else
  40413. withmldir=$TRILINOS_DIR
  40414. fi
  40415. if test "x$withmldir" != "xno"; then :
  40416. if test -r $withmldir/include/Makefile.export.ml; then :
  40417. ML_MAKEFILE_EXPORT=$withmldir/include/Makefile.export.ml
  40418. elif test -r $withmldir/packages/nox/Makefile.export.ml; then :
  40419. ML_MAKEFILE_EXPORT=$withmldir/packages/nox/Makefile.export.ml
  40420. else
  40421. enableml=no
  40422. fi
  40423. if test "x$enableml" != "xno"; then :
  40424. enableml=yes
  40425. $as_echo "#define TRILINOS_HAVE_ML 1" >>confdefs.h
  40426. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with ML support >>>" >&5
  40427. $as_echo "<<< Configuring library with ML support >>>" >&6; }
  40428. fi
  40429. else
  40430. enableml=no
  40431. fi
  40432. # Check whether --with-tpetra was given.
  40433. if test "${with_tpetra+set}" = set; then :
  40434. withval=$with_tpetra; withtpetradir=$withval
  40435. else
  40436. withtpetradir=$TRILINOS_DIR
  40437. fi
  40438. if test "x$withtpetradir" != "xno"; then :
  40439. if test -r $withtpetradir/include/Makefile.export.Tpetra; then :
  40440. TPETRA_MAKEFILE_EXPORT=$withtpetradir/include/Makefile.export.Tpetra
  40441. elif test -r $withtpetradir/packages/tpetra/Makefile.export.Tpetra; then :
  40442. TPETRA_MAKEFILE_EXPORT=$withtpetradir/packages/tpetra/Makefile.export.Tpetra
  40443. else
  40444. enabletpetra=no
  40445. fi
  40446. if test "x$enabletpetra" != "xno"; then :
  40447. enabletpetra=yes
  40448. $as_echo "#define TRILINOS_HAVE_TPETRA 1" >>confdefs.h
  40449. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Tpetra support >>>" >&5
  40450. $as_echo "<<< Configuring library with Tpetra support >>>" >&6; }
  40451. fi
  40452. else
  40453. enabletpetra=no
  40454. fi
  40455. # Check whether --with-dtk was given.
  40456. if test "${with_dtk+set}" = set; then :
  40457. withval=$with_dtk; withdtkdir=$withval
  40458. else
  40459. withdtkdir=$TRILINOS_DIR
  40460. fi
  40461. if test "x$withdtkdir" != "xno"; then :
  40462. if test -r $withdtkdir/include/Makefile.export.DataTransferKit; then :
  40463. DTK_MAKEFILE_EXPORT=$withdtkdir/include/Makefile.export.Makefile.export.DataTransferKit
  40464. elif test -r $withdtkdir/DataTransferKit/Makefile.export.Makefile.export.DataTransferKit; then :
  40465. DTK_MAKEFILE_EXPORT=$withdtkdir/packages/dtk/Makefile.export.Makefile.export.DataTransferKit
  40466. else
  40467. enabledtk=no
  40468. fi
  40469. if test "x$enabledtk" != "xno"; then :
  40470. enabledtk=yes
  40471. $as_echo "#define TRILINOS_HAVE_DTK 1" >>confdefs.h
  40472. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with DTK support >>>" >&5
  40473. $as_echo "<<< Configuring library with DTK support >>>" >&6; }
  40474. fi
  40475. else
  40476. enabledtk=no
  40477. fi
  40478. enableifpack=no
  40479. enableepetraext=no
  40480. enableepetra=no
  40481. if test "x$enableml" = xyes || test "x$enableaztecoo" = xyes || test "x$enablenox" = xyes; then :
  40482. enabletrilinos9=yes
  40483. else
  40484. enabletrilinos9=no
  40485. fi
  40486. if test "x$enableaztecoo" != "xno"; then :
  40487. printf '%s\n' "include $AZTECOO_MAKEFILE_EXPORT" > Makefile_config_trilinos
  40488. printf '%s\n' "echo_libs:" >> Makefile_config_trilinos
  40489. printf '\t%s\n' "@echo \$(AZTECOO_LIBS)" >> Makefile_config_trilinos
  40490. printf '%s\n' "echo_include:" >> Makefile_config_trilinos
  40491. printf '\t%s\n' "@echo \$(AZTECOO_INCLUDES)" >> Makefile_config_trilinos
  40492. AZTECOO_INCLUDES=`make -sf Makefile_config_trilinos echo_include`
  40493. AZTECOO_LIBS=`make -sf Makefile_config_trilinos echo_libs`
  40494. rm -f Makefile_config_trilinos
  40495. fi
  40496. if test "x$enablenox" != "xno"; then :
  40497. printf '%s\n' "include $NOX_MAKEFILE_EXPORT" > Makefile_config_trilinos
  40498. printf '%s\n' "echo_libs:" >> Makefile_config_trilinos
  40499. printf '\t%s\n' "@echo \$(NOX_LIBS)" >> Makefile_config_trilinos
  40500. printf '%s\n' "echo_include:" >> Makefile_config_trilinos
  40501. printf '\t%s\n' "@echo \$(NOX_INCLUDES)" >> Makefile_config_trilinos
  40502. NOX_INCLUDES=`make -sf Makefile_config_trilinos echo_include`
  40503. NOX_LIBS=`make -sf Makefile_config_trilinos echo_libs`
  40504. rm -f Makefile_config_trilinos
  40505. fi
  40506. if test "x$enableml" != "xno"; then :
  40507. printf '%s\n' "include $ML_MAKEFILE_EXPORT" > Makefile_config_trilinos
  40508. printf '%s\n' "echo_libs:" >> Makefile_config_trilinos
  40509. printf '\t%s\n' "@echo \$(ML_LIBS)" >> Makefile_config_trilinos
  40510. printf '%s\n' "echo_include:" >> Makefile_config_trilinos
  40511. printf '\t%s\n' "@echo \$(ML_INCLUDES)" >> Makefile_config_trilinos
  40512. ML_INCLUDES=`make -sf Makefile_config_trilinos echo_include`
  40513. ML_LIBS=`make -sf Makefile_config_trilinos echo_libs`
  40514. rm -f Makefile_config_trilinos
  40515. fi
  40516. if test "x$enabletpetra" != "xno"; then :
  40517. printf '%s\n' "include $TPETRA_MAKEFILE_EXPORT" > Makefile_config_trilinos
  40518. printf '%s\n' "echo_libs:" >> Makefile_config_trilinos
  40519. printf '\t%s\n' "@echo \$(TPETRA_LIBS)" >> Makefile_config_trilinos
  40520. printf '%s\n' "echo_include:" >> Makefile_config_trilinos
  40521. printf '\t%s\n' "@echo \$(TPETRA_INCLUDES)" >> Makefile_config_trilinos
  40522. TPETRA_INCLUDES=`make -sf Makefile_config_trilinos echo_include`
  40523. TPETRA_LIBS=`make -sf Makefile_config_trilinos echo_libs`
  40524. rm -f Makefile_config_trilinos
  40525. fi
  40526. if test "x$enabletrilinos9" = "xno"; then :
  40527. enabletrilinos=no
  40528. fi
  40529. fi
  40530. fi
  40531. fi
  40532. if test "$enabletrilinos" = yes; then :
  40533. libmesh_optional_INCLUDES="$TRILINOS_INCLUDES $AZTECOO_INCLUDES $NOX_INCLUDES $ML_INCLUDES $TPETRA_INCLUDES $DTK_INCLUDES $libmesh_optional_INCLUDES"
  40534. libmesh_optional_LIBS="$TRILINOS_LIBS $AZTECOO_LIBS $NOX_LIBS $ML_LIBS $TPETRA_INCLUDES $DTK_INCLUDES $libmesh_optional_LIBS"
  40535. fi
  40536. # -------------------------------------------------------------
  40537. # -------------------------------------------------------------
  40538. # Choose between TBB, OpenMP, and pthreads thread models.
  40539. # The user can control this by configuring with
  40540. #
  40541. # --with-thread-model={tbb,pthread,auto,none}
  40542. #
  40543. # where "auto" will try to automatically detect the best possible
  40544. # version (see threads.m4).
  40545. # -------------------------------------------------------------
  40546. # Check whether --with-thread-model was given.
  40547. if test "${with_thread_model+set}" = set; then :
  40548. withval=$with_thread_model; case "${withval}" in #(
  40549. tbb) :
  40550. requested_thread_model=tbb ;; #(
  40551. pthread) :
  40552. requested_thread_model=pthread ;; #(
  40553. pthreads) :
  40554. requested_thread_model=pthread ;; #(
  40555. openmp) :
  40556. requested_thread_model=openmp ;; #(
  40557. auto) :
  40558. requested_thread_model=auto ;; #(
  40559. none) :
  40560. requested_thread_model=none ;; #(
  40561. *) :
  40562. as_fn_error $? "bad value ${withval} for --with-thread-model" "$LINENO" 5 ;;
  40563. esac
  40564. else
  40565. requested_thread_model=auto
  40566. fi
  40567. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< User requested thread model: $requested_thread_model >>>" >&5
  40568. $as_echo "<<< User requested thread model: $requested_thread_model >>>" >&6; }
  40569. # Check whether --enable-openmp was given.
  40570. if test "${enable_openmp+set}" = set; then :
  40571. enableval=$enable_openmp; case "${enableval}" in #(
  40572. yes) :
  40573. enableopenmp=yes ;; #(
  40574. no) :
  40575. enableopenmp=no ;; #(
  40576. *) :
  40577. as_fn_error $? "bad value ${enableval} for --enable-openmp" "$LINENO" 5 ;;
  40578. esac
  40579. else
  40580. enableopenmp=yes
  40581. fi
  40582. if test "x$enableopenmp" = "xyes"; then :
  40583. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenMP flag of C++ compiler" >&5
  40584. $as_echo_n "checking for OpenMP flag of C++ compiler... " >&6; }
  40585. if ${ax_cv_cxx_openmp+:} false; then :
  40586. $as_echo_n "(cached) " >&6
  40587. else
  40588. saveCXXFLAGS=$CXXFLAGS
  40589. ax_cv_cxx_openmp=unknown
  40590. # Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
  40591. # -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
  40592. ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none"
  40593. if test "x$OPENMP_CXXFLAGS" != x; then
  40594. ax_openmp_flags="$OPENMP_CXXFLAGS $ax_openmp_flags"
  40595. fi
  40596. for ax_openmp_flag in $ax_openmp_flags; do
  40597. case $ax_openmp_flag in
  40598. none) CXXFLAGS=$saveCXX ;;
  40599. *) CXXFLAGS="$saveCXXFLAGS $ax_openmp_flag" ;;
  40600. esac
  40601. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  40602. /* end confdefs.h. */
  40603. #include <omp.h>
  40604. int
  40605. main ()
  40606. {
  40607. const int N = 100000;
  40608. int i, arr[N];
  40609. omp_set_num_threads(2);
  40610. #pragma omp parallel for
  40611. for (i = 0; i < N; i++)
  40612. {
  40613. arr[i] = i;
  40614. }
  40615. ;
  40616. return 0;
  40617. }
  40618. _ACEOF
  40619. if ac_fn_cxx_try_link "$LINENO"; then :
  40620. ax_cv_cxx_openmp=$ax_openmp_flag; break
  40621. fi
  40622. rm -f core conftest.err conftest.$ac_objext \
  40623. conftest$ac_exeext conftest.$ac_ext
  40624. done
  40625. CXXFLAGS=$saveCXXFLAGS
  40626. fi
  40627. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_openmp" >&5
  40628. $as_echo "$ax_cv_cxx_openmp" >&6; }
  40629. if test "x$ax_cv_cxx_openmp" = "xunknown"; then
  40630. enableopenmp=no
  40631. else
  40632. if test "x$ax_cv_cxx_openmp" != "xnone"; then
  40633. OPENMP_CXXFLAGS=$ax_cv_cxx_openmp
  40634. fi
  40635. $as_echo "#define HAVE_OPENMP 1" >>confdefs.h
  40636. fi
  40637. if test "x$OPENMP_CXXFLAGS" != "x"; then :
  40638. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with OpenMP support >>>" >&5
  40639. $as_echo "<<< Configuring library with OpenMP support >>>" >&6; }
  40640. OPENMP_CFLAGS=$OPENMP_CXXFLAGS
  40641. OPENMP_FFLAGS=$OPENMP_CXXFLAGS
  40642. CXXFLAGS_OPT="$CXXFLAGS_OPT $OPENMP_CXXFLAGS"
  40643. CXXFLAGS_DBG="$CXXFLAGS_DBG $OPENMP_CXXFLAGS"
  40644. CXXFLAGS_DEVEL="$CXXFLAGS_DEVEL $OPENMP_CXXFLAGS"
  40645. CXXFLAGS_PROF="$CXXFLAGS_PROF $OPENMP_CXXFLAGS"
  40646. CXXFLAGS_OPROF="$CXXFLAGS_OPROF $OPENMP_CXXFLAGS"
  40647. CFLAGS_OPT="$CFLAGS_OPT $OPENMP_CFLAGS"
  40648. CFLAGS_DBG="$CFLAGS_DBG $OPENMP_CFLAGS"
  40649. CFLAGS_DEVEL="$CFLAGS_DEVEL $OPENMP_CFLAGS"
  40650. CFLAGS_PROF="$CFLAGS_PROF $OPENMP_CFLAGS"
  40651. CFLAGS_OPROF="$CFLAGS_OPROF $OPENMP_CFLAGS"
  40652. FFLAGS="$FFLAGS $OPENMP_FFLAGS"
  40653. else
  40654. if test "x$requested_thread_model" = "xopenmp"; then :
  40655. as_fn_error $? "requested openmp threading model, but compiler does not support openmp." "$LINENO" 5
  40656. fi
  40657. fi
  40658. else
  40659. if test "x$requested_thread_model" = "xopenmp"; then :
  40660. as_fn_error $? "requested openmp threading model, but --disable-openmp has been specified." "$LINENO" 5
  40661. fi
  40662. fi
  40663. found_thread_model=none
  40664. if test "x$requested_thread_model" = "xpthread" || test "x$requested_thread_model" = "xauto" || test "x$requested_thread_model" = "xopenmp"; then :
  40665. # Check whether --enable-pthreads was given.
  40666. if test "${enable_pthreads+set}" = set; then :
  40667. enableval=$enable_pthreads; case "${enableval}" in #(
  40668. yes) :
  40669. enablepthreads=yes ;; #(
  40670. no) :
  40671. enablepthreads=no ;; #(
  40672. *) :
  40673. as_fn_error $? "bad value ${enableval} for --enable-pthreads" "$LINENO" 5 ;;
  40674. esac
  40675. else
  40676. enablepthreads=$enableoptional
  40677. fi
  40678. if test "x$enablepthreads" = "xyes"; then :
  40679. ac_ext=c
  40680. ac_cpp='$CPP $CPPFLAGS'
  40681. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  40682. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  40683. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  40684. ax_pthread_ok=no
  40685. # We used to check for pthread.h first, but this fails if pthread.h
  40686. # requires special compiler flags (e.g. on True64 or Sequent).
  40687. # It gets checked for in the link test anyway.
  40688. # First of all, check if the user has set any of the PTHREAD_LIBS,
  40689. # etcetera environment variables, and if threads linking works using
  40690. # them:
  40691. if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
  40692. save_CFLAGS="$CFLAGS"
  40693. CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
  40694. save_LIBS="$LIBS"
  40695. LIBS="$PTHREAD_LIBS $LIBS"
  40696. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
  40697. $as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
  40698. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  40699. /* end confdefs.h. */
  40700. /* Override any GCC internal prototype to avoid an error.
  40701. Use char because int might match the return type of a GCC
  40702. builtin and then its argument prototype would still apply. */
  40703. #ifdef __cplusplus
  40704. extern "C"
  40705. #endif
  40706. char pthread_join ();
  40707. int
  40708. main ()
  40709. {
  40710. return pthread_join ();
  40711. ;
  40712. return 0;
  40713. }
  40714. _ACEOF
  40715. if ac_fn_c_try_link "$LINENO"; then :
  40716. ax_pthread_ok=yes
  40717. fi
  40718. rm -f core conftest.err conftest.$ac_objext \
  40719. conftest$ac_exeext conftest.$ac_ext
  40720. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
  40721. $as_echo "$ax_pthread_ok" >&6; }
  40722. if test x"$ax_pthread_ok" = xno; then
  40723. PTHREAD_LIBS=""
  40724. PTHREAD_CFLAGS=""
  40725. fi
  40726. LIBS="$save_LIBS"
  40727. CFLAGS="$save_CFLAGS"
  40728. fi
  40729. # We must check for the threads library under a number of different
  40730. # names; the ordering is very important because some systems
  40731. # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
  40732. # libraries is broken (non-POSIX).
  40733. # Create a list of thread flags to try. Items starting with a "-" are
  40734. # C compiler flags, and other items are library names, except for "none"
  40735. # which indicates that we try without any flags at all, and "pthread-config"
  40736. # which is a program returning the flags for the Pth emulation library.
  40737. ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
  40738. # The ordering *is* (sometimes) important. Some notes on the
  40739. # individual items follow:
  40740. # pthreads: AIX (must check this before -lpthread)
  40741. # none: in case threads are in libc; should be tried before -Kthread and
  40742. # other compiler flags to prevent continual compiler warnings
  40743. # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
  40744. # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
  40745. # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
  40746. # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
  40747. # -pthreads: Solaris/gcc
  40748. # -mthreads: Mingw32/gcc, Lynx/gcc
  40749. # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
  40750. # doesn't hurt to check since this sometimes defines pthreads too;
  40751. # also defines -D_REENTRANT)
  40752. # ... -mt is also the pthreads flag for HP/aCC
  40753. # pthread: Linux, etcetera
  40754. # --thread-safe: KAI C++
  40755. # pthread-config: use pthread-config program (for GNU Pth library)
  40756. case ${host_os} in
  40757. solaris*)
  40758. # On Solaris (at least, for some versions), libc contains stubbed
  40759. # (non-functional) versions of the pthreads routines, so link-based
  40760. # tests will erroneously succeed. (We need to link with -pthreads/-mt/
  40761. # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
  40762. # a function called by this macro, so we could check for that, but
  40763. # who knows whether they'll stub that too in a future libc.) So,
  40764. # we'll just look for -pthreads and -lpthread first:
  40765. ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
  40766. ;;
  40767. darwin*)
  40768. ax_pthread_flags="-pthread $ax_pthread_flags"
  40769. ;;
  40770. esac
  40771. if test x"$ax_pthread_ok" = xno; then
  40772. for flag in $ax_pthread_flags; do
  40773. case $flag in
  40774. none)
  40775. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
  40776. $as_echo_n "checking whether pthreads work without any flags... " >&6; }
  40777. ;;
  40778. -*)
  40779. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5
  40780. $as_echo_n "checking whether pthreads work with $flag... " >&6; }
  40781. PTHREAD_CFLAGS="$flag"
  40782. ;;
  40783. pthread-config)
  40784. # Extract the first word of "pthread-config", so it can be a program name with args.
  40785. set dummy pthread-config; ac_word=$2
  40786. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  40787. $as_echo_n "checking for $ac_word... " >&6; }
  40788. if ${ac_cv_prog_ax_pthread_config+:} false; then :
  40789. $as_echo_n "(cached) " >&6
  40790. else
  40791. if test -n "$ax_pthread_config"; then
  40792. ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test.
  40793. else
  40794. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  40795. for as_dir in $PATH
  40796. do
  40797. IFS=$as_save_IFS
  40798. test -z "$as_dir" && as_dir=.
  40799. for ac_exec_ext in '' $ac_executable_extensions; do
  40800. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  40801. ac_cv_prog_ax_pthread_config="yes"
  40802. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  40803. break 2
  40804. fi
  40805. done
  40806. done
  40807. IFS=$as_save_IFS
  40808. test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no"
  40809. fi
  40810. fi
  40811. ax_pthread_config=$ac_cv_prog_ax_pthread_config
  40812. if test -n "$ax_pthread_config"; then
  40813. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
  40814. $as_echo "$ax_pthread_config" >&6; }
  40815. else
  40816. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  40817. $as_echo "no" >&6; }
  40818. fi
  40819. if test x"$ax_pthread_config" = xno; then continue; fi
  40820. PTHREAD_CFLAGS="`pthread-config --cflags`"
  40821. PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
  40822. ;;
  40823. *)
  40824. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5
  40825. $as_echo_n "checking for the pthreads library -l$flag... " >&6; }
  40826. PTHREAD_LIBS="-l$flag"
  40827. ;;
  40828. esac
  40829. save_LIBS="$LIBS"
  40830. save_CFLAGS="$CFLAGS"
  40831. LIBS="$PTHREAD_LIBS $LIBS"
  40832. CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
  40833. # Check for various functions. We must include pthread.h,
  40834. # since some functions may be macros. (On the Sequent, we
  40835. # need a special flag -Kthread to make this header compile.)
  40836. # We check for pthread_join because it is in -lpthread on IRIX
  40837. # while pthread_create is in libc. We check for pthread_attr_init
  40838. # due to DEC craziness with -lpthreads. We check for
  40839. # pthread_cleanup_push because it is one of the few pthread
  40840. # functions on Solaris that doesn't have a non-functional libc stub.
  40841. # We try pthread_create on general principles.
  40842. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  40843. /* end confdefs.h. */
  40844. #include <pthread.h>
  40845. static void routine(void *a) { a = 0; }
  40846. static void *start_routine(void *a) { return a; }
  40847. int
  40848. main ()
  40849. {
  40850. pthread_t th; pthread_attr_t attr;
  40851. pthread_create(&th, 0, start_routine, 0);
  40852. pthread_join(th, 0);
  40853. pthread_attr_init(&attr);
  40854. pthread_cleanup_push(routine, 0);
  40855. pthread_cleanup_pop(0) /* ; */
  40856. ;
  40857. return 0;
  40858. }
  40859. _ACEOF
  40860. if ac_fn_c_try_link "$LINENO"; then :
  40861. ax_pthread_ok=yes
  40862. fi
  40863. rm -f core conftest.err conftest.$ac_objext \
  40864. conftest$ac_exeext conftest.$ac_ext
  40865. LIBS="$save_LIBS"
  40866. CFLAGS="$save_CFLAGS"
  40867. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
  40868. $as_echo "$ax_pthread_ok" >&6; }
  40869. if test "x$ax_pthread_ok" = xyes; then
  40870. break;
  40871. fi
  40872. PTHREAD_LIBS=""
  40873. PTHREAD_CFLAGS=""
  40874. done
  40875. fi
  40876. # Various other checks:
  40877. if test "x$ax_pthread_ok" = xyes; then
  40878. save_LIBS="$LIBS"
  40879. LIBS="$PTHREAD_LIBS $LIBS"
  40880. save_CFLAGS="$CFLAGS"
  40881. CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
  40882. # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
  40883. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5
  40884. $as_echo_n "checking for joinable pthread attribute... " >&6; }
  40885. attr_name=unknown
  40886. for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
  40887. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  40888. /* end confdefs.h. */
  40889. #include <pthread.h>
  40890. int
  40891. main ()
  40892. {
  40893. int attr = $attr; return attr /* ; */
  40894. ;
  40895. return 0;
  40896. }
  40897. _ACEOF
  40898. if ac_fn_c_try_link "$LINENO"; then :
  40899. attr_name=$attr; break
  40900. fi
  40901. rm -f core conftest.err conftest.$ac_objext \
  40902. conftest$ac_exeext conftest.$ac_ext
  40903. done
  40904. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5
  40905. $as_echo "$attr_name" >&6; }
  40906. if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
  40907. cat >>confdefs.h <<_ACEOF
  40908. #define PTHREAD_CREATE_JOINABLE $attr_name
  40909. _ACEOF
  40910. fi
  40911. { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5
  40912. $as_echo_n "checking if more special flags are required for pthreads... " >&6; }
  40913. flag=no
  40914. case ${host_os} in
  40915. aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
  40916. osf* | hpux*) flag="-D_REENTRANT";;
  40917. solaris*)
  40918. if test "$GCC" = "yes"; then
  40919. flag="-D_REENTRANT"
  40920. else
  40921. flag="-mt -D_REENTRANT"
  40922. fi
  40923. ;;
  40924. esac
  40925. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5
  40926. $as_echo "${flag}" >&6; }
  40927. if test "x$flag" != xno; then
  40928. PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
  40929. fi
  40930. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5
  40931. $as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; }
  40932. if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then :
  40933. $as_echo_n "(cached) " >&6
  40934. else
  40935. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  40936. /* end confdefs.h. */
  40937. #include <pthread.h>
  40938. int
  40939. main ()
  40940. {
  40941. int i = PTHREAD_PRIO_INHERIT;
  40942. ;
  40943. return 0;
  40944. }
  40945. _ACEOF
  40946. if ac_fn_c_try_link "$LINENO"; then :
  40947. ax_cv_PTHREAD_PRIO_INHERIT=yes
  40948. else
  40949. ax_cv_PTHREAD_PRIO_INHERIT=no
  40950. fi
  40951. rm -f core conftest.err conftest.$ac_objext \
  40952. conftest$ac_exeext conftest.$ac_ext
  40953. fi
  40954. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5
  40955. $as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; }
  40956. if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"; then :
  40957. $as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h
  40958. fi
  40959. LIBS="$save_LIBS"
  40960. CFLAGS="$save_CFLAGS"
  40961. # More AIX lossage: compile with *_r variant
  40962. if test "x$GCC" != xyes; then
  40963. case $host_os in
  40964. aix*)
  40965. case "x/$CC" in #(
  40966. x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6) :
  40967. #handle absolute path differently from PATH based program lookup
  40968. case "x$CC" in #(
  40969. x/*) :
  40970. if as_fn_executable_p ${CC}_r; then :
  40971. PTHREAD_CC="${CC}_r"
  40972. fi ;; #(
  40973. *) :
  40974. for ac_prog in ${CC}_r
  40975. do
  40976. # Extract the first word of "$ac_prog", so it can be a program name with args.
  40977. set dummy $ac_prog; ac_word=$2
  40978. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  40979. $as_echo_n "checking for $ac_word... " >&6; }
  40980. if ${ac_cv_prog_PTHREAD_CC+:} false; then :
  40981. $as_echo_n "(cached) " >&6
  40982. else
  40983. if test -n "$PTHREAD_CC"; then
  40984. ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test.
  40985. else
  40986. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  40987. for as_dir in $PATH
  40988. do
  40989. IFS=$as_save_IFS
  40990. test -z "$as_dir" && as_dir=.
  40991. for ac_exec_ext in '' $ac_executable_extensions; do
  40992. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  40993. ac_cv_prog_PTHREAD_CC="$ac_prog"
  40994. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  40995. break 2
  40996. fi
  40997. done
  40998. done
  40999. IFS=$as_save_IFS
  41000. fi
  41001. fi
  41002. PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
  41003. if test -n "$PTHREAD_CC"; then
  41004. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5
  41005. $as_echo "$PTHREAD_CC" >&6; }
  41006. else
  41007. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  41008. $as_echo "no" >&6; }
  41009. fi
  41010. test -n "$PTHREAD_CC" && break
  41011. done
  41012. test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
  41013. ;;
  41014. esac ;; #(
  41015. *) :
  41016. ;;
  41017. esac
  41018. ;;
  41019. esac
  41020. fi
  41021. fi
  41022. test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
  41023. # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
  41024. if test x"$ax_pthread_ok" = xyes; then
  41025. $as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
  41026. :
  41027. else
  41028. ax_pthread_ok=no
  41029. fi
  41030. ac_ext=cpp
  41031. ac_cpp='$CXXCPP $CPPFLAGS'
  41032. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  41033. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  41034. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  41035. if test "x$ax_pthread_ok" = "xyes"; then :
  41036. $as_echo "#define USING_THREADS 1" >>confdefs.h
  41037. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with pthread support >>>" >&5
  41038. $as_echo "<<< Configuring library with pthread support >>>" >&6; }
  41039. libmesh_optional_INCLUDES="$PTHREAD_CFLAGS $libmesh_optional_INCLUDES"
  41040. libmesh_optional_LIBS="$PTHREAD_LIBS $libmesh_optional_LIBS"
  41041. found_thread_model=pthread
  41042. else
  41043. enablepthreads=no
  41044. fi
  41045. fi
  41046. if test "x$enablepthreads" = "xno" && test "x$requested_thread_model" = "xpthread"; then :
  41047. as_fn_error $? "requested threading model, pthreads, could not be found." "$LINENO" 5
  41048. fi
  41049. if test "x$enablepthreads" = "xno" && test "x$requested_thread_model" = "xopenmp"; then :
  41050. as_fn_error $? "openmp threading model requested, but required pthread support unavailable." "$LINENO" 5
  41051. fi
  41052. fi
  41053. if test "x$found_thread_model" = "xnone"; then :
  41054. if test "x$requested_thread_model" = "xtbb" || test "x$requested_thread_model" = "xauto"; then :
  41055. # Check whether --enable-tbb was given.
  41056. if test "${enable_tbb+set}" = set; then :
  41057. enableval=$enable_tbb; case "${enableval}" in #(
  41058. yes) :
  41059. enabletbb=yes ;; #(
  41060. no) :
  41061. enabletbb=no ;; #(
  41062. *) :
  41063. as_fn_error $? "bad value ${enableval} for --enable-tbb" "$LINENO" 5 ;;
  41064. esac
  41065. else
  41066. enabletbb=$enableoptional
  41067. fi
  41068. if test "x$enabletbb" = "xyes"; then :
  41069. # Check whether --with-tbb was given.
  41070. if test "${with_tbb+set}" = set; then :
  41071. withval=$with_tbb; withtbb=$withval
  41072. else
  41073. withtbb=$TBB_DIR
  41074. fi
  41075. # Check whether --with-tbb-lib was given.
  41076. if test "${with_tbb_lib+set}" = set; then :
  41077. withval=$with_tbb_lib; withtbblib=$withval
  41078. else
  41079. withtbblib=$TBB_LIB_PATH
  41080. fi
  41081. if test "$withtbb" != no; then :
  41082. if test "x$withtbb" = "x"; then :
  41083. withtbb=/usr
  41084. fi
  41085. as_ac_Header=`$as_echo "ac_cv_header_$withtbb/include/tbb/task_scheduler_init.h" | $as_tr_sh`
  41086. ac_fn_cxx_check_header_mongrel "$LINENO" "$withtbb/include/tbb/task_scheduler_init.h" "$as_ac_Header" "$ac_includes_default"
  41087. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  41088. TBB_INCLUDE_PATH=$withtbb/include
  41089. fi
  41090. if test "x$withtbblib" != "x"; then :
  41091. TBB_LIBS=$withtbblib
  41092. else
  41093. TBB_LIBS=$withtbb/lib
  41094. fi
  41095. fi
  41096. if test -r $TBB_INCLUDE_PATH/tbb/task_scheduler_init.h; then :
  41097. TBB_LIBRARY="-L$TBB_LIBS -ltbb -ltbbmalloc"
  41098. TBB_INCLUDE=-I$TBB_INCLUDE_PATH
  41099. if test "x$RPATHFLAG" != "x" && test -d $TBB_LIBS; then :
  41100. TBB_LIBRARY="${RPATHFLAG}${TBB_LIBS} $TBB_LIBRARY"
  41101. fi
  41102. tbbmajor=`grep "define TBB_VERSION_MAJOR" $TBB_INCLUDE_PATH/tbb/tbb_stddef.h | sed -e "s/#define TBB_VERSION_MAJOR[ ]*//g"`
  41103. tbbminor=`grep "define TBB_VERSION_MINOR" $TBB_INCLUDE_PATH/tbb/tbb_stddef.h | sed -e "s/#define TBB_VERSION_MINOR[ ]*//g"`
  41104. else
  41105. enabletbb=no
  41106. fi
  41107. if test "x$enabletbb" != "xno"; then :
  41108. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tbb::tbb_thread support" >&5
  41109. $as_echo_n "checking for tbb::tbb_thread support... " >&6; }
  41110. ac_ext=cpp
  41111. ac_cpp='$CXXCPP $CPPFLAGS'
  41112. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  41113. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  41114. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  41115. saveCXXFLAGS="$CXXFLAGS"
  41116. CXXFLAGS="$saveCXXFLAGS $TBB_INCLUDE"
  41117. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  41118. /* end confdefs.h. */
  41119. #include <tbb/tbb_thread.h>
  41120. int
  41121. main ()
  41122. {
  41123. tbb::tbb_thread t;
  41124. t.join();
  41125. ;
  41126. return 0;
  41127. }
  41128. _ACEOF
  41129. if ac_fn_cxx_try_compile "$LINENO"; then :
  41130. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  41131. $as_echo "yes" >&6; }
  41132. enabletbb=yes
  41133. else
  41134. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  41135. $as_echo "no" >&6; }
  41136. enabletbb=no
  41137. fi
  41138. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  41139. CXXFLAGS=$saveCXXFLAGS
  41140. ac_ext=cpp
  41141. ac_cpp='$CXXCPP $CPPFLAGS'
  41142. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  41143. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  41144. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  41145. fi
  41146. if test "x$enabletbb" != "xno"; then :
  41147. cat >>confdefs.h <<_ACEOF
  41148. #define DETECTED_TBB_VERSION_MAJOR $tbbmajor
  41149. _ACEOF
  41150. cat >>confdefs.h <<_ACEOF
  41151. #define DETECTED_TBB_VERSION_MINOR $tbbminor
  41152. _ACEOF
  41153. $as_echo "#define USING_THREADS 1" >>confdefs.h
  41154. $as_echo "#define HAVE_TBB_API 1" >>confdefs.h
  41155. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Intel TBB threading support >>>" >&5
  41156. $as_echo "<<< Configuring library with Intel TBB threading support >>>" >&6; }
  41157. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread local storage (TLS) class" >&5
  41158. $as_echo_n "checking for thread local storage (TLS) class... " >&6; }
  41159. if ${ac_cv_tls+:} false; then :
  41160. $as_echo_n "(cached) " >&6
  41161. else
  41162. ax_tls_keywords="__thread __declspec(thread) none"
  41163. for ax_tls_keyword in $ax_tls_keywords; do
  41164. case $ax_tls_keyword in
  41165. none) ac_cv_tls=none ; break ;;
  41166. *)
  41167. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  41168. /* end confdefs.h. */
  41169. #include <stdlib.h>
  41170. static void
  41171. foo(void) {
  41172. static $ax_tls_keyword int bar;
  41173. exit(1);
  41174. }
  41175. int
  41176. main ()
  41177. {
  41178. ;
  41179. return 0;
  41180. }
  41181. _ACEOF
  41182. if ac_fn_cxx_try_compile "$LINENO"; then :
  41183. ac_cv_tls=$ax_tls_keyword ; break
  41184. else
  41185. ac_cv_tls=none
  41186. fi
  41187. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  41188. esac
  41189. done
  41190. fi
  41191. if test "$ac_cv_tls" != "none"; then
  41192. cat >>confdefs.h <<_ACEOF
  41193. #define TLS $ac_cv_tls
  41194. _ACEOF
  41195. fi
  41196. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
  41197. $as_echo "$ac_cv_tls" >&6; }
  41198. fi
  41199. fi
  41200. if test "x$enabletbb" = "xyes"; then :
  41201. libmesh_optional_INCLUDES="$TBB_INCLUDE $libmesh_optional_INCLUDES"
  41202. libmesh_optional_LIBS="$TBB_LIBRARY $libmesh_optional_LIBS"
  41203. found_thread_model=tbb
  41204. fi
  41205. if test "x$enabletbb" = "xno" && test "x$requested_thread_model" = "xtbb"; then :
  41206. as_fn_error $? "requested threading model, TBB, could not be found." "$LINENO" 5
  41207. fi
  41208. fi
  41209. fi
  41210. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Found thread model: $found_thread_model >>>" >&5
  41211. $as_echo "<<< Found thread model: $found_thread_model >>>" >&6; }
  41212. # -------------------------------------------------------------
  41213. # LASPACK iterative solvers -- enabled unless
  41214. # --enable-strict-lgpl is specified
  41215. # -------------------------------------------------------------
  41216. if test $enablestrictlgpl = yes; then :
  41217. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Laspack support is disabled, configure with --disable-strict-lgpl to enable it >>>" >&5
  41218. $as_echo "<<< Laspack support is disabled, configure with --disable-strict-lgpl to enable it >>>" >&6; }
  41219. enablelaspack=no;
  41220. else
  41221. # Check whether --enable-laspack was given.
  41222. if test "${enable_laspack+set}" = set; then :
  41223. enableval=$enable_laspack; case "${enableval}" in #(
  41224. yes) :
  41225. enablelaspack=yes ;; #(
  41226. no) :
  41227. enablelaspack=no ;; #(
  41228. *) :
  41229. as_fn_error $? "bad value ${enableval} for --enable-laspack" "$LINENO" 5 ;;
  41230. esac
  41231. else
  41232. enablelaspack=$enableoptional
  41233. fi
  41234. if test "x$enablelaspack" = "xyes" &&
  41235. (test "x$enabletripleprecision" != "xno" ||
  41236. test "x$enablequadrupleprecision" != "xno"); then :
  41237. enablelaspack=no
  41238. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Disabling LASPACK support due to extended precision >>>" >&5
  41239. $as_echo "<<< Disabling LASPACK support due to extended precision >>>" >&6; }
  41240. fi
  41241. if test "x$enablelaspack" = "xyes"; then :
  41242. LASPACK_INCLUDE="-I\$(top_srcdir)/contrib/laspack"
  41243. LASPACK_LIB="\$(EXTERNAL_LIBDIR)/liblaspack\$(libext)"
  41244. $as_echo "#define HAVE_LASPACK 1" >>confdefs.h
  41245. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Laspack support >>>" >&5
  41246. $as_echo "<<< Configuring library with Laspack support >>>" >&6; }
  41247. else
  41248. LASPACK_INCLUDE=""
  41249. LASPACK_LIB=""
  41250. enablelaspack=no
  41251. fi
  41252. if test $enablelaspack = yes; then :
  41253. libmesh_contrib_INCLUDES="$LASPACK_INCLUDE $libmesh_contrib_INCLUDES"
  41254. fi
  41255. fi
  41256. if test x$enablelaspack = xyes; then
  41257. LIBMESH_ENABLE_LASPACK_TRUE=
  41258. LIBMESH_ENABLE_LASPACK_FALSE='#'
  41259. else
  41260. LIBMESH_ENABLE_LASPACK_TRUE='#'
  41261. LIBMESH_ENABLE_LASPACK_FALSE=
  41262. fi
  41263. ac_config_files="$ac_config_files contrib/laspack/Makefile"
  41264. # -------------------------------------------------------------
  41265. # -------------------------------------------------------------
  41266. # Space filling curves -- enabled unless
  41267. # --enable-strict-lgpl is specified
  41268. # -------------------------------------------------------------
  41269. if test $enablestrictlgpl = yes; then :
  41270. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< The space filling curves partitioner is disabled, configure with --disable-strict-lgpl to enable it >>>" >&5
  41271. $as_echo "<<< The space filling curves partitioner is disabled, configure with --disable-strict-lgpl to enable it >>>" >&6; }
  41272. enablesfc=no;
  41273. else
  41274. # Check whether --enable-sfc was given.
  41275. if test "${enable_sfc+set}" = set; then :
  41276. enableval=$enable_sfc; case "${enableval}" in #(
  41277. yes) :
  41278. enablesfc=yes ;; #(
  41279. no) :
  41280. enablesfc=no ;; #(
  41281. *) :
  41282. as_fn_error $? "bad value ${enableval} for --enable-sfc" "$LINENO" 5 ;;
  41283. esac
  41284. else
  41285. enablesfc=$enableoptional
  41286. fi
  41287. if test "x$enablesfc" = "xyes"; then :
  41288. SFC_INCLUDE="-I\$(top_srcdir)/contrib/sfcurves"
  41289. SFC_LIB="\$(EXTERNAL_LIBDIR)/libsfcurves\$(libext)"
  41290. $as_echo "#define HAVE_SFCURVES 1" >>confdefs.h
  41291. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with SFC support >>>" >&5
  41292. $as_echo "<<< Configuring library with SFC support >>>" >&6; }
  41293. else
  41294. SFC_INCLUDE=""
  41295. SFC_LIB=""
  41296. enablesfc=no
  41297. fi
  41298. if test $enablesfc = yes; then :
  41299. libmesh_contrib_INCLUDES="$SFC_INCLUDE $libmesh_contrib_INCLUDES"
  41300. fi
  41301. fi
  41302. if test x$enablesfc = xyes; then
  41303. LIBMESH_ENABLE_SFC_TRUE=
  41304. LIBMESH_ENABLE_SFC_FALSE='#'
  41305. else
  41306. LIBMESH_ENABLE_SFC_TRUE='#'
  41307. LIBMESH_ENABLE_SFC_FALSE=
  41308. fi
  41309. ac_config_files="$ac_config_files contrib/sfcurves/Makefile"
  41310. # -------------------------------------------------------------
  41311. # -------------------------------------------------------------
  41312. # Compressed Streams with gzstream -- enabled by default
  41313. # -------------------------------------------------------------
  41314. # Check whether --enable-gzstreams was given.
  41315. if test "${enable_gzstreams+set}" = set; then :
  41316. enableval=$enable_gzstreams; case "${enableval}" in #(
  41317. yes) :
  41318. enablegz=yes ;; #(
  41319. no) :
  41320. enablegz=no ;; #(
  41321. *) :
  41322. as_fn_error $? "bad value ${enableval} for --enable-gz" "$LINENO" 5 ;;
  41323. esac
  41324. else
  41325. enablegz=$enableoptional
  41326. fi
  41327. if test "x$enablegz" = "xyes"; then :
  41328. for ac_header in zlib.h
  41329. do :
  41330. ac_fn_cxx_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
  41331. if test "x$ac_cv_header_zlib_h" = xyes; then :
  41332. cat >>confdefs.h <<_ACEOF
  41333. #define HAVE_ZLIB_H 1
  41334. _ACEOF
  41335. have_zlib_h=yes
  41336. fi
  41337. done
  41338. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5
  41339. $as_echo_n "checking for gzopen in -lz... " >&6; }
  41340. if ${ac_cv_lib_z_gzopen+:} false; then :
  41341. $as_echo_n "(cached) " >&6
  41342. else
  41343. ac_check_lib_save_LIBS=$LIBS
  41344. LIBS="-lz $LIBS"
  41345. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  41346. /* end confdefs.h. */
  41347. /* Override any GCC internal prototype to avoid an error.
  41348. Use char because int might match the return type of a GCC
  41349. builtin and then its argument prototype would still apply. */
  41350. #ifdef __cplusplus
  41351. extern "C"
  41352. #endif
  41353. char gzopen ();
  41354. int
  41355. main ()
  41356. {
  41357. return gzopen ();
  41358. ;
  41359. return 0;
  41360. }
  41361. _ACEOF
  41362. if ac_fn_cxx_try_link "$LINENO"; then :
  41363. ac_cv_lib_z_gzopen=yes
  41364. else
  41365. ac_cv_lib_z_gzopen=no
  41366. fi
  41367. rm -f core conftest.err conftest.$ac_objext \
  41368. conftest$ac_exeext conftest.$ac_ext
  41369. LIBS=$ac_check_lib_save_LIBS
  41370. fi
  41371. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzopen" >&5
  41372. $as_echo "$ac_cv_lib_z_gzopen" >&6; }
  41373. if test "x$ac_cv_lib_z_gzopen" = xyes; then :
  41374. have_libz=yes
  41375. fi
  41376. fi
  41377. if test "$have_zlib_h" != yes || test "$have_libz" != yes; then :
  41378. enablegz=no
  41379. fi
  41380. if test "x$enablegz" = "xyes"; then :
  41381. GZSTREAM_INCLUDE="-I\$(top_srcdir)/contrib/gzstream"
  41382. GZSTREAM_LIB="\$(EXTERNAL_LIBDIR)/libgzstream\$(libext) -lz"
  41383. $as_echo "#define HAVE_GZSTREAM 1" >>confdefs.h
  41384. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with gzstreams support >>>" >&5
  41385. $as_echo "<<< Configuring library with gzstreams support >>>" >&6; }
  41386. else
  41387. GZSTREAM_INCLUDE=""
  41388. GZSTREAM_LIB=""
  41389. fi
  41390. if test "$enablegz" = yes; then :
  41391. libmesh_contrib_INCLUDES="$GZSTREAM_INCLUDE $libmesh_contrib_INCLUDES"
  41392. libmesh_optional_LIBS="-lz $libmesh_optional_LIBS"
  41393. fi
  41394. if test x$enablegz = xyes; then
  41395. LIBMESH_ENABLE_GZSTREAMS_TRUE=
  41396. LIBMESH_ENABLE_GZSTREAMS_FALSE='#'
  41397. else
  41398. LIBMESH_ENABLE_GZSTREAMS_TRUE='#'
  41399. LIBMESH_ENABLE_GZSTREAMS_FALSE=
  41400. fi
  41401. ac_config_files="$ac_config_files contrib/gzstream/Makefile"
  41402. # -------------------------------------------------------------
  41403. # -------------------------------------------------------------
  41404. # Compressed Files with bzip2
  41405. # -------------------------------------------------------------
  41406. # Check whether --enable-bzip2 was given.
  41407. if test "${enable_bzip2+set}" = set; then :
  41408. enableval=$enable_bzip2; enablebz2=$enableval
  41409. else
  41410. enablebz2=$enableoptional
  41411. fi
  41412. if test "$enablebz2" != no; then :
  41413. # Extract the first word of "bzip2", so it can be a program name with args.
  41414. set dummy bzip2; ac_word=$2
  41415. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  41416. $as_echo_n "checking for $ac_word... " >&6; }
  41417. if ${ac_cv_prog_BZIP2+:} false; then :
  41418. $as_echo_n "(cached) " >&6
  41419. else
  41420. if test -n "$BZIP2"; then
  41421. ac_cv_prog_BZIP2="$BZIP2" # Let the user override the test.
  41422. else
  41423. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  41424. for as_dir in $PATH
  41425. do
  41426. IFS=$as_save_IFS
  41427. test -z "$as_dir" && as_dir=.
  41428. for ac_exec_ext in '' $ac_executable_extensions; do
  41429. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  41430. ac_cv_prog_BZIP2="bzip2"
  41431. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  41432. break 2
  41433. fi
  41434. done
  41435. done
  41436. IFS=$as_save_IFS
  41437. test -z "$ac_cv_prog_BZIP2" && ac_cv_prog_BZIP2="none"
  41438. fi
  41439. fi
  41440. BZIP2=$ac_cv_prog_BZIP2
  41441. if test -n "$BZIP2"; then
  41442. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BZIP2" >&5
  41443. $as_echo "$BZIP2" >&6; }
  41444. else
  41445. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  41446. $as_echo "no" >&6; }
  41447. fi
  41448. if test "$BZIP2" = bzip2; then :
  41449. # Extract the first word of "bunzip2", so it can be a program name with args.
  41450. set dummy bunzip2; ac_word=$2
  41451. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  41452. $as_echo_n "checking for $ac_word... " >&6; }
  41453. if ${ac_cv_prog_BUNZIP2+:} false; then :
  41454. $as_echo_n "(cached) " >&6
  41455. else
  41456. if test -n "$BUNZIP2"; then
  41457. ac_cv_prog_BUNZIP2="$BUNZIP2" # Let the user override the test.
  41458. else
  41459. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  41460. for as_dir in $PATH
  41461. do
  41462. IFS=$as_save_IFS
  41463. test -z "$as_dir" && as_dir=.
  41464. for ac_exec_ext in '' $ac_executable_extensions; do
  41465. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  41466. ac_cv_prog_BUNZIP2="bunzip2"
  41467. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  41468. break 2
  41469. fi
  41470. done
  41471. done
  41472. IFS=$as_save_IFS
  41473. test -z "$ac_cv_prog_BUNZIP2" && ac_cv_prog_BUNZIP2="none"
  41474. fi
  41475. fi
  41476. BUNZIP2=$ac_cv_prog_BUNZIP2
  41477. if test -n "$BUNZIP2"; then
  41478. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUNZIP2" >&5
  41479. $as_echo "$BUNZIP2" >&6; }
  41480. else
  41481. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  41482. $as_echo "no" >&6; }
  41483. fi
  41484. if test "$BUNZIP2" = bunzip2; then :
  41485. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using bzip2/bunzip2 for writing/reading compressed .bz2 files >>>" >&5
  41486. $as_echo "<<< Using bzip2/bunzip2 for writing/reading compressed .bz2 files >>>" >&6; }
  41487. $as_echo "#define HAVE_BZIP 1" >>confdefs.h
  41488. fi
  41489. fi
  41490. fi
  41491. # -------------------------------------------------------------
  41492. # -------------------------------------------------------------
  41493. # Compressed Files with xz
  41494. # -------------------------------------------------------------
  41495. # Check whether --enable-xz was given.
  41496. if test "${enable_xz+set}" = set; then :
  41497. enableval=$enable_xz; enablexz=$enableval
  41498. else
  41499. enablexz=$enableoptional
  41500. fi
  41501. if test "$enablexz" != no; then :
  41502. # Extract the first word of "xz", so it can be a program name with args.
  41503. set dummy xz; ac_word=$2
  41504. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  41505. $as_echo_n "checking for $ac_word... " >&6; }
  41506. if ${ac_cv_prog_XZ+:} false; then :
  41507. $as_echo_n "(cached) " >&6
  41508. else
  41509. if test -n "$XZ"; then
  41510. ac_cv_prog_XZ="$XZ" # Let the user override the test.
  41511. else
  41512. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  41513. for as_dir in $PATH
  41514. do
  41515. IFS=$as_save_IFS
  41516. test -z "$as_dir" && as_dir=.
  41517. for ac_exec_ext in '' $ac_executable_extensions; do
  41518. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  41519. ac_cv_prog_XZ="xz"
  41520. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  41521. break 2
  41522. fi
  41523. done
  41524. done
  41525. IFS=$as_save_IFS
  41526. test -z "$ac_cv_prog_XZ" && ac_cv_prog_XZ="none"
  41527. fi
  41528. fi
  41529. XZ=$ac_cv_prog_XZ
  41530. if test -n "$XZ"; then
  41531. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XZ" >&5
  41532. $as_echo "$XZ" >&6; }
  41533. else
  41534. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  41535. $as_echo "no" >&6; }
  41536. fi
  41537. if test "$XZ" = xz; then :
  41538. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using xz for writing/reading compressed .xz files >>>" >&5
  41539. $as_echo "<<< Using xz for writing/reading compressed .xz files >>>" >&6; }
  41540. $as_echo "#define HAVE_XZ 1" >>confdefs.h
  41541. fi
  41542. fi
  41543. # -------------------------------------------------------------
  41544. # -------------------------------------------------------------
  41545. # Tecplot, from source -- enabled by default
  41546. # -------------------------------------------------------------
  41547. # Check whether --enable-tecio was given.
  41548. if test "${enable_tecio+set}" = set; then :
  41549. enableval=$enable_tecio; case "${enableval}" in #(
  41550. yes) :
  41551. enabletecio=yes ;; #(
  41552. no) :
  41553. enabletecio=no ;; #(
  41554. *) :
  41555. as_fn_error $? "bad value ${enableval} for --enable-tecio" "$LINENO" 5 ;;
  41556. esac
  41557. else
  41558. enabletecio=$enableoptional
  41559. fi
  41560. # Check whether --with-tecio-x11-include was given.
  41561. if test "${with_tecio_x11_include+set}" = set; then :
  41562. withval=$with_tecio_x11_include; withteciox11inc=$withval
  41563. else
  41564. withteciox11inc=no
  41565. fi
  41566. TECIO_CPPFLAGS=""
  41567. if test "x$enabletecio" = "xyes"; then :
  41568. if test "x$withteciox11inc" != "xno"; then :
  41569. TECIO_CPPFLAGS="-I$withteciox11inc"
  41570. elif test -r /usr/include/X11/Intrinsic.h; then :
  41571. TECIO_CPPFLAGS="-I/usr/include"
  41572. elif test -r /opt/X11/include/X11/Intrinsic.h; then :
  41573. TECIO_CPPFLAGS="-I/opt/X11/include"
  41574. fi
  41575. if test "x$TECIO_CPPFLAGS" != "x"; then :
  41576. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Testing X11 headers with $TECIO_CPPFLAGS >>>" >&5
  41577. $as_echo "<<< Testing X11 headers with $TECIO_CPPFLAGS >>>" >&6; }
  41578. fi
  41579. saved_CPPFLAGS=$CPPFLAGS
  41580. CPPFLAGS="$TECIO_CPPFLAGS $CPPFLAGS"
  41581. ac_fn_cxx_check_header_mongrel "$LINENO" "X11/Intrinsic.h" "ac_cv_header_X11_Intrinsic_h" "$ac_includes_default"
  41582. if test "x$ac_cv_header_X11_Intrinsic_h" = xyes; then :
  41583. else
  41584. enabletecio=no
  41585. fi
  41586. CPPFLAGS=$saved_CPPFLAGS
  41587. fi
  41588. if test "x$enabletecio" = "xyes"; then :
  41589. case "${host_os}" in #(
  41590. *linux*) :
  41591. TECIO_CPPFLAGS="-DLINUX $TECIO_CPPFLAGS"
  41592. # The cast to long int works around a bug in the HP C Compiler
  41593. # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
  41594. # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
  41595. # This bug is HP SR number 8606223364.
  41596. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
  41597. $as_echo_n "checking size of void *... " >&6; }
  41598. if ${ac_cv_sizeof_void_p+:} false; then :
  41599. $as_echo_n "(cached) " >&6
  41600. else
  41601. if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
  41602. else
  41603. if test "$ac_cv_type_void_p" = yes; then
  41604. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  41605. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  41606. as_fn_error 77 "cannot compute sizeof (void *)
  41607. See \`config.log' for more details" "$LINENO" 5; }
  41608. else
  41609. ac_cv_sizeof_void_p=0
  41610. fi
  41611. fi
  41612. fi
  41613. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
  41614. $as_echo "$ac_cv_sizeof_void_p" >&6; }
  41615. cat >>confdefs.h <<_ACEOF
  41616. #define SIZEOF_VOID_P $ac_cv_sizeof_void_p
  41617. _ACEOF
  41618. if test "x$ac_cv_sizeof_void_p" = "x8"; then :
  41619. TECIO_CPPFLAGS="-DLINUX64 $TECIO_CPPFLAGS"
  41620. fi ;; #(
  41621. *darwin*) :
  41622. TECIO_CPPFLAGS="-DDARWIN -DLONGIS64 $TECIO_CPPFLAGS" ;; #(
  41623. *) :
  41624. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Unrecognized TecIO platform, see contrib/tecplot/tecio/Runmake for hints on how to extend <<<" >&5
  41625. $as_echo ">>> Unrecognized TecIO platform, see contrib/tecplot/tecio/Runmake for hints on how to extend <<<" >&6; } ;;
  41626. esac
  41627. TECIO_INCLUDE="-I\$(top_srcdir)/contrib/tecplot/tecio/include"
  41628. $as_echo "#define HAVE_TECPLOT_API 1" >>confdefs.h
  41629. $as_echo "#define HAVE_TECPLOT_API_112 1" >>confdefs.h
  41630. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Tecplot TecIO support >>>" >&5
  41631. $as_echo "<<< Configuring library with Tecplot TecIO support >>>" >&6; }
  41632. have_tecio=yes
  41633. else
  41634. TECIO_INCLUDE=""
  41635. enabletecio=no
  41636. have_tecio=no
  41637. fi
  41638. if test $enabletecio = yes; then :
  41639. libmesh_contrib_INCLUDES="$TECIO_INCLUDE $libmesh_contrib_INCLUDES"
  41640. fi
  41641. if test x$enabletecio = xyes; then
  41642. LIBMESH_ENABLE_TECIO_TRUE=
  41643. LIBMESH_ENABLE_TECIO_FALSE='#'
  41644. else
  41645. LIBMESH_ENABLE_TECIO_TRUE='#'
  41646. LIBMESH_ENABLE_TECIO_FALSE=
  41647. fi
  41648. ac_config_files="$ac_config_files contrib/tecplot/tecio/Makefile"
  41649. # -------------------------------------------------------------
  41650. # -------------------------------------------------------------
  41651. # Tecplot, vendor provided libraries -- disabled by default
  41652. # -------------------------------------------------------------
  41653. # Check whether --enable-tecplot was given.
  41654. if test "${enable_tecplot+set}" = set; then :
  41655. enableval=$enable_tecplot; case "${enableval}" in #(
  41656. yes) :
  41657. enabletecplot=yes ;; #(
  41658. no) :
  41659. enabletecplot=no ;; #(
  41660. *) :
  41661. as_fn_error $? "bad value ${enableval} for --enable-tecplot" "$LINENO" 5 ;;
  41662. esac
  41663. else
  41664. enabletecplot=no
  41665. fi
  41666. if test "x$enabletecplot" = "xyes" && test "x$enabletecio" = "xyes"; then :
  41667. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Not using vendor provided tecio libraries, deferring to source build <<<" >&5
  41668. $as_echo ">>> Not using vendor provided tecio libraries, deferring to source build <<<" >&6; }
  41669. enabletecplot=no
  41670. fi
  41671. if test "x$enabletecplot" = "xyes"; then :
  41672. TECPLOT_LIBRARY_PATH=""
  41673. if test -r $top_srcdir/contrib/tecplot/binary/lib/$host/tecio.a; then :
  41674. TECPLOT_LIBRARY_PATH=$top_srcdir/contrib/tecplot/binary/lib/$host
  41675. else
  41676. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring Tecplot failed, no tecio exists for $host <<<" >&5
  41677. $as_echo ">>> Configuring Tecplot failed, no tecio exists for $host <<<" >&6; }
  41678. enabletecplot=no
  41679. fi
  41680. old_CPPFLAGS="$CPPFLAGS"
  41681. CPPFLAGS="$CPPFLAGS -I$top_srcdir/contrib/tecplot/binary/include"
  41682. ac_fn_cxx_check_header_mongrel "$LINENO" "TECIO.h" "ac_cv_header_TECIO_h" "$ac_includes_default"
  41683. if test "x$ac_cv_header_TECIO_h" = xyes; then :
  41684. TECPLOT_INCLUDE_PATH=$top_srcdir/contrib/tecplot/binary/include
  41685. TECPLOT_INCLUDE="-I\$(top_srcdir)/contrib/tecplot/binary/include"
  41686. fi
  41687. CPPFLAGS="$old_CPPFLAGS"
  41688. unset old_CPPFLAGS
  41689. fi
  41690. if test "x$enabletecplot" = "xyes"; then :
  41691. if test -r $TECPLOT_LIBRARY_PATH/tecio.a && test -r $TECPLOT_INCLUDE_PATH/TECIO.h; then :
  41692. save_CPPFLAGS=$CPPFLAGS
  41693. save_LIBS=$LIBS
  41694. CPPFLAGS="-I$TECPLOT_INCLUDE_PATH $CPPFLAGS"
  41695. LIBS="$TECPLOT_LIBRARY_PATH/tecio.a $LIBS"
  41696. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  41697. /* end confdefs.h. */
  41698. #include <TECIO.h>
  41699. int
  41700. main ()
  41701. {
  41702. int ierr = TECEND112 ();
  41703. ;
  41704. return 0;
  41705. }
  41706. _ACEOF
  41707. if ac_fn_cxx_try_link "$LINENO"; then :
  41708. $as_echo "#define HAVE_TECPLOT_API 1" >>confdefs.h
  41709. $as_echo "#define HAVE_TECPLOT_API_112 1" >>confdefs.h
  41710. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Tecplot API support (v11.2) >>>" >&5
  41711. $as_echo "<<< Configuring library with Tecplot API support (v11.2) >>>" >&6; }
  41712. else
  41713. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  41714. /* end confdefs.h. */
  41715. #include <TECIO.h>
  41716. int
  41717. main ()
  41718. {
  41719. int ierr = TECEND ();
  41720. ;
  41721. return 0;
  41722. }
  41723. _ACEOF
  41724. if ac_fn_cxx_try_link "$LINENO"; then :
  41725. $as_echo "#define HAVE_TECPLOT_API 1" >>confdefs.h
  41726. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with legacy Tecplot API support >>>" >&5
  41727. $as_echo "<<< Configuring library with legacy Tecplot API support >>>" >&6; }
  41728. else
  41729. { $as_echo "$as_me:${as_lineno-$LINENO}: result: WARNING: Found $TECPLOT_LIBRARY_PATH/tecio.a but cannot link with it! " >&5
  41730. $as_echo "WARNING: Found $TECPLOT_LIBRARY_PATH/tecio.a but cannot link with it! " >&6; }
  41731. enabletecplot=no
  41732. fi
  41733. rm -f core conftest.err conftest.$ac_objext \
  41734. conftest$ac_exeext conftest.$ac_ext
  41735. fi
  41736. rm -f core conftest.err conftest.$ac_objext \
  41737. conftest$ac_exeext conftest.$ac_ext
  41738. LIBS=$save_LIBS
  41739. CPPFLAGS=$save_CPPFLAGS
  41740. else
  41741. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring Tecplot failed, could not find at least one of tecio.a or TECIO.h <<<" >&5
  41742. $as_echo ">>> Configuring Tecplot failed, could not find at least one of tecio.a or TECIO.h <<<" >&6; }
  41743. enabletecplot=no
  41744. fi
  41745. fi
  41746. if test $enabletecplot = yes; then :
  41747. libmesh_contrib_INCLUDES="$TECPLOT_INCLUDE $libmesh_contrib_INCLUDES"
  41748. libmesh_installed_LIBS="$libmesh_installed_LIBS -ltecio_vendor"
  41749. fi
  41750. if test x$enabletecplot = xyes; then
  41751. LIBMESH_ENABLE_TECPLOT_TRUE=
  41752. LIBMESH_ENABLE_TECPLOT_FALSE='#'
  41753. else
  41754. LIBMESH_ENABLE_TECPLOT_TRUE='#'
  41755. LIBMESH_ENABLE_TECPLOT_FALSE=
  41756. fi
  41757. ac_config_files="$ac_config_files contrib/tecplot/binary/Makefile"
  41758. # -------------------------------------------------------------
  41759. # -------------------------------------------------------------
  41760. # Metis Partitioning -- enabled by default
  41761. # -------------------------------------------------------------
  41762. # Check whether --enable-metis was given.
  41763. if test "${enable_metis+set}" = set; then :
  41764. enableval=$enable_metis; case "${enableval}" in #(
  41765. yes) :
  41766. enablemetis=yes ;; #(
  41767. no) :
  41768. enablemetis=no ;; #(
  41769. *) :
  41770. as_fn_error $? "bad value ${enableval} for --enable-metis" "$LINENO" 5 ;;
  41771. esac
  41772. else
  41773. enablemetis=$enableoptional
  41774. fi
  41775. # Check whether --with-metis was given.
  41776. if test "${with_metis+set}" = set; then :
  41777. withval=$with_metis; case "${withval}" in #(
  41778. internal) :
  41779. build_metis=yes ;; #(
  41780. PETSc) :
  41781. build_metis=petsc ;; #(
  41782. *) :
  41783. METIS_LIB="-L${withval} -lmetis"
  41784. build_metis=no ;;
  41785. esac
  41786. enablemetis=yes
  41787. else
  41788. build_metis=yes
  41789. fi
  41790. # Check whether --with-metis-include was given.
  41791. if test "${with_metis_include+set}" = set; then :
  41792. withval=$with_metis_include; METIS_INCLUDE="-I${withval}"
  41793. enablemetis=yes
  41794. build_metis=no
  41795. fi
  41796. if test "x$petsc_have_metis" != "x" && test $petsc_have_metis -gt 0; then :
  41797. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using PETSc Metis support to avoid PETSc conflict>>>" >&5
  41798. $as_echo "<<< Using PETSc Metis support to avoid PETSc conflict>>>" >&6; }
  41799. build_metis=petsc
  41800. fi
  41801. if test "$enablemetis" = "yes" && test "$build_metis" = "petsc"; then :
  41802. if test "x$petsc_have_metis" = "x0" || test "$enablepetsc" = "no"; then :
  41803. build_metis=yes
  41804. fi
  41805. fi
  41806. if test "$enablemetis" = "yes"; then :
  41807. if test "$build_metis" = "yes"; then :
  41808. METIS_INCLUDE="-I\$(top_srcdir)/contrib/metis/include"
  41809. METIS_LIB="" # contrib Metis gets lumped into libcontrib
  41810. fi
  41811. $as_echo "#define HAVE_METIS 1" >>confdefs.h
  41812. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Metis support >>>" >&5
  41813. $as_echo "<<< Configuring library with Metis support >>>" >&6; }
  41814. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread local storage (TLS) class" >&5
  41815. $as_echo_n "checking for thread local storage (TLS) class... " >&6; }
  41816. if ${ac_cv_tls+:} false; then :
  41817. $as_echo_n "(cached) " >&6
  41818. else
  41819. ax_tls_keywords="__thread __declspec(thread) none"
  41820. for ax_tls_keyword in $ax_tls_keywords; do
  41821. case $ax_tls_keyword in
  41822. none) ac_cv_tls=none ; break ;;
  41823. *)
  41824. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  41825. /* end confdefs.h. */
  41826. #include <stdlib.h>
  41827. static void
  41828. foo(void) {
  41829. static $ax_tls_keyword int bar;
  41830. exit(1);
  41831. }
  41832. int
  41833. main ()
  41834. {
  41835. ;
  41836. return 0;
  41837. }
  41838. _ACEOF
  41839. if ac_fn_cxx_try_compile "$LINENO"; then :
  41840. ac_cv_tls=$ax_tls_keyword ; break
  41841. else
  41842. ac_cv_tls=none
  41843. fi
  41844. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  41845. esac
  41846. done
  41847. fi
  41848. if test "$ac_cv_tls" != "none"; then
  41849. cat >>confdefs.h <<_ACEOF
  41850. #define TLS $ac_cv_tls
  41851. _ACEOF
  41852. fi
  41853. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
  41854. $as_echo "$ac_cv_tls" >&6; }
  41855. else
  41856. METIS_INCLUDE=""
  41857. METIS_LIB=""
  41858. enablemetis=no
  41859. fi
  41860. if test x$build_metis = xyes; then
  41861. BUILD_METIS_TRUE=
  41862. BUILD_METIS_FALSE='#'
  41863. else
  41864. BUILD_METIS_TRUE='#'
  41865. BUILD_METIS_FALSE=
  41866. fi
  41867. if test $enablemetis = yes; then :
  41868. libmesh_contrib_INCLUDES="$METIS_INCLUDE $libmesh_contrib_INCLUDES"
  41869. libmesh_optional_LIBS="$METIS_LIB $libmesh_optional_LIBS"
  41870. fi
  41871. if test x$enablemetis = xyes; then
  41872. LIBMESH_ENABLE_METIS_TRUE=
  41873. LIBMESH_ENABLE_METIS_FALSE='#'
  41874. else
  41875. LIBMESH_ENABLE_METIS_TRUE='#'
  41876. LIBMESH_ENABLE_METIS_FALSE=
  41877. fi
  41878. ac_config_files="$ac_config_files contrib/metis/Makefile"
  41879. # -------------------------------------------------------------
  41880. # -------------------------------------------------------------
  41881. # Parmetis Partitioning -- enabled by default
  41882. # -------------------------------------------------------------
  41883. # Check whether --enable-parmetis was given.
  41884. if test "${enable_parmetis+set}" = set; then :
  41885. enableval=$enable_parmetis; case "${enableval}" in #(
  41886. yes) :
  41887. enableparmetis=yes ;; #(
  41888. no) :
  41889. enableparmetis=no ;; #(
  41890. *) :
  41891. as_fn_error $? "bad value ${enableval} for --enable-parmetis" "$LINENO" 5 ;;
  41892. esac
  41893. else
  41894. enableparmetis=$enableoptional
  41895. fi
  41896. # Check whether --with-parmetis was given.
  41897. if test "${with_parmetis+set}" = set; then :
  41898. withval=$with_parmetis; case "${withval}" in #(
  41899. internal) :
  41900. build_parmetis=yes ;; #(
  41901. PETSc) :
  41902. build_parmetis=petsc ;; #(
  41903. *) :
  41904. PARMETIS_LIB="-L${withval} -lparmetis"
  41905. build_parmetis=no ;;
  41906. esac
  41907. enableparmetis=yes
  41908. else
  41909. build_parmetis=yes
  41910. fi
  41911. # Check whether --with-parmetis-include was given.
  41912. if test "${with_parmetis_include+set}" = set; then :
  41913. withval=$with_parmetis_include; PARMETIS_INCLUDE="-I${withval}"
  41914. enableparmetis=yes
  41915. build_parmetis=no
  41916. fi
  41917. if test "x$petsc_have_metis" = "x"; then :
  41918. petsc_have_metis=0
  41919. fi
  41920. if test "x$petsc_have_parmetis" = "x"; then :
  41921. petsc_have_parmetis=0
  41922. fi
  41923. if test $petsc_have_metis -gt 0; then :
  41924. if test $petsc_have_parmetis -gt 0; then :
  41925. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using PETSc ParMETIS support to avoid PETSc conflict>>>" >&5
  41926. $as_echo "<<< Using PETSc ParMETIS support to avoid PETSc conflict>>>" >&6; }
  41927. build_parmetis=petsc
  41928. else
  41929. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Disabling ParMETIS support to avoid PETSc conflict>>>" >&5
  41930. $as_echo "<<< Disabling ParMETIS support to avoid PETSc conflict>>>" >&6; }
  41931. enableparmetis=no
  41932. fi
  41933. fi
  41934. if test "$enableparmetis" = "yes" && test "$build_parmetis" = "petsc"; then :
  41935. if test "x$petsc_have_metis" = "x0" &&
  41936. test "x$petsc_have_parmetis" = "x0"; then :
  41937. build_parmetis=yes
  41938. fi
  41939. if test "$enablepetsc" = "no"; then :
  41940. build_parmetis=yes
  41941. fi
  41942. fi
  41943. if test "x$enablempi" = "xno"; then :
  41944. enableparmetis=no
  41945. fi
  41946. if test "x$enableparmetis" = "xyes"; then :
  41947. $as_echo "#define HAVE_PARMETIS 1" >>confdefs.h
  41948. if test "$build_parmetis" = "yes"; then :
  41949. PARMETIS_INCLUDE="-I\$(top_srcdir)/contrib/parmetis/include"
  41950. PARMETIS_LIB="" # contrib Parmetis gets lumped into libcontrib
  41951. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with internal Parmetis support >>>" >&5
  41952. $as_echo "<<< Configuring library with internal Parmetis support >>>" >&6; }
  41953. elif test "$build_parmetis" = "petsc"; then :
  41954. PARMETIS_INCLUDE=""
  41955. PARMETIS_LIB=""
  41956. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with PETSc Parmetis support >>>" >&5
  41957. $as_echo "<<< Configuring library with PETSc Parmetis support >>>" >&6; }
  41958. else
  41959. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with external Parmetis support >>>" >&5
  41960. $as_echo "<<< Configuring library with external Parmetis support >>>" >&6; }
  41961. fi
  41962. else
  41963. PARMETIS_INCLUDE=""
  41964. PARMETIS_LIB=""
  41965. enableparmetis=no
  41966. build_parmetis=no
  41967. fi
  41968. if test x$build_parmetis = xyes; then
  41969. BUILD_PARMETIS_TRUE=
  41970. BUILD_PARMETIS_FALSE='#'
  41971. else
  41972. BUILD_PARMETIS_TRUE='#'
  41973. BUILD_PARMETIS_FALSE=
  41974. fi
  41975. if test $enableparmetis = yes; then :
  41976. libmesh_contrib_INCLUDES="$PARMETIS_INCLUDE $libmesh_contrib_INCLUDES"
  41977. libmesh_optional_LIBS="$PARMETIS_LIB $libmesh_optional_LIBS"
  41978. fi
  41979. if test x$enableparmetis = xyes; then
  41980. LIBMESH_ENABLE_PARMETIS_TRUE=
  41981. LIBMESH_ENABLE_PARMETIS_FALSE='#'
  41982. else
  41983. LIBMESH_ENABLE_PARMETIS_TRUE='#'
  41984. LIBMESH_ENABLE_PARMETIS_FALSE=
  41985. fi
  41986. ac_config_files="$ac_config_files contrib/parmetis/Makefile"
  41987. # -------------------------------------------------------------
  41988. # -------------------------------------------------------------
  41989. # Doxygen - look for doxygen (a documentation tool)
  41990. # -------------------------------------------------------------
  41991. # Extract the first word of "doxygen", so it can be a program name with args.
  41992. set dummy doxygen; ac_word=$2
  41993. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  41994. $as_echo_n "checking for $ac_word... " >&6; }
  41995. if ${ac_cv_path_DOXYGEN+:} false; then :
  41996. $as_echo_n "(cached) " >&6
  41997. else
  41998. case $DOXYGEN in
  41999. [\\/]* | ?:[\\/]*)
  42000. ac_cv_path_DOXYGEN="$DOXYGEN" # Let the user override the test with a path.
  42001. ;;
  42002. *)
  42003. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  42004. for as_dir in $PATH
  42005. do
  42006. IFS=$as_save_IFS
  42007. test -z "$as_dir" && as_dir=.
  42008. for ac_exec_ext in '' $ac_executable_extensions; do
  42009. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  42010. ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
  42011. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  42012. break 2
  42013. fi
  42014. done
  42015. done
  42016. IFS=$as_save_IFS
  42017. ;;
  42018. esac
  42019. fi
  42020. DOXYGEN=$ac_cv_path_DOXYGEN
  42021. if test -n "$DOXYGEN"; then
  42022. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
  42023. $as_echo "$DOXYGEN" >&6; }
  42024. else
  42025. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  42026. $as_echo "no" >&6; }
  42027. fi
  42028. if test "x$DOXYGEN" != x; then :
  42029. # Extract the first word of "dot", so it can be a program name with args.
  42030. set dummy dot; ac_word=$2
  42031. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  42032. $as_echo_n "checking for $ac_word... " >&6; }
  42033. if ${ac_cv_path_DOT+:} false; then :
  42034. $as_echo_n "(cached) " >&6
  42035. else
  42036. case $DOT in
  42037. [\\/]* | ?:[\\/]*)
  42038. ac_cv_path_DOT="$DOT" # Let the user override the test with a path.
  42039. ;;
  42040. *)
  42041. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  42042. for as_dir in $PATH
  42043. do
  42044. IFS=$as_save_IFS
  42045. test -z "$as_dir" && as_dir=.
  42046. for ac_exec_ext in '' $ac_executable_extensions; do
  42047. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  42048. ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext"
  42049. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  42050. break 2
  42051. fi
  42052. done
  42053. done
  42054. IFS=$as_save_IFS
  42055. ;;
  42056. esac
  42057. fi
  42058. DOT=$ac_cv_path_DOT
  42059. if test -n "$DOT"; then
  42060. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
  42061. $as_echo "$DOT" >&6; }
  42062. else
  42063. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  42064. $as_echo "no" >&6; }
  42065. fi
  42066. HAVE_DOT=NO
  42067. if test "x$DOT" != x; then :
  42068. HAVE_DOT=YES
  42069. DOTPATH=$PWD/doc
  42070. fi
  42071. fi
  42072. # -------------------------------------------------------------
  42073. # -------------------------------------------------------------
  42074. # TetGen -- enabled unless --enable-strict-lgpl is specified
  42075. # -------------------------------------------------------------
  42076. if test $enablestrictlgpl = yes; then :
  42077. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Tetgen support is disabled, configure with --disable-strict-lgpl to enable it >>>" >&5
  42078. $as_echo "<<< Tetgen support is disabled, configure with --disable-strict-lgpl to enable it >>>" >&6; }
  42079. enabletetgen=no;
  42080. else
  42081. # Check whether --enable-tetgen was given.
  42082. if test "${enable_tetgen+set}" = set; then :
  42083. enableval=$enable_tetgen; case "${enableval}" in #(
  42084. yes) :
  42085. enabletetgen=yes ;; #(
  42086. no) :
  42087. enabletetgen=no ;; #(
  42088. *) :
  42089. as_fn_error $? "bad value ${enableval} for --enable-tetgen" "$LINENO" 5 ;;
  42090. esac
  42091. else
  42092. enabletetgen=$enableoptional
  42093. fi
  42094. if test "x$enabletetgen" = "xyes"; then :
  42095. TETGEN_INCLUDE="-I\$(top_srcdir)/contrib/tetgen"
  42096. TETGEN_LIBRARY="\$(EXTERNAL_LIBDIR)/libtetgen\$(libext)"
  42097. $as_echo "#define HAVE_TETGEN 1" >>confdefs.h
  42098. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Tetgen support >>>" >&5
  42099. $as_echo "<<< Configuring library with Tetgen support >>>" >&6; }
  42100. else
  42101. TETGEN_INCLUDE=""
  42102. TETGEN_LIBRARY=""
  42103. enabletetgen=no
  42104. fi
  42105. if test $enabletetgen = yes; then :
  42106. libmesh_contrib_INCLUDES="$TETGEN_INCLUDE $libmesh_contrib_INCLUDES"
  42107. fi
  42108. fi
  42109. if test x$enabletetgen = xyes; then
  42110. LIBMESH_ENABLE_TETGEN_TRUE=
  42111. LIBMESH_ENABLE_TETGEN_FALSE='#'
  42112. else
  42113. LIBMESH_ENABLE_TETGEN_TRUE='#'
  42114. LIBMESH_ENABLE_TETGEN_FALSE=
  42115. fi
  42116. ac_config_files="$ac_config_files contrib/tetgen/Makefile"
  42117. # -------------------------------------------------------------
  42118. # -------------------------------------------------------------
  42119. # Triangle -- enabled unless --enable-strict-lgpl is specified
  42120. # -------------------------------------------------------------
  42121. if test $enablestrictlgpl = yes; then :
  42122. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Triangle meshing support is disabled, configure with --disable-strict-lgpl to enable it >>>" >&5
  42123. $as_echo "<<< Triangle meshing support is disabled, configure with --disable-strict-lgpl to enable it >>>" >&6; }
  42124. enabletriangle=no;
  42125. else
  42126. # Check whether --enable-triangle was given.
  42127. if test "${enable_triangle+set}" = set; then :
  42128. enableval=$enable_triangle; case "${enableval}" in #(
  42129. yes) :
  42130. enabletriangle=yes ;; #(
  42131. no) :
  42132. enabletriangle=no ;; #(
  42133. *) :
  42134. as_fn_error $? "bad value ${enableval} for --enable-triangle" "$LINENO" 5 ;;
  42135. esac
  42136. else
  42137. enabletriangle=$enableoptional
  42138. fi
  42139. if test "x$enabletriangle" = "xyes" &&
  42140. (test "x$enabletripleprecision" != "xno" ||
  42141. test "x$enablequadrupleprecision" != "xno"); then :
  42142. enabletriangle=no
  42143. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Disabling Triangle support due to extended precision >>>" >&5
  42144. $as_echo "<<< Disabling Triangle support due to extended precision >>>" >&6; }
  42145. fi
  42146. if test "x$enabletriangle" = "xyes"; then :
  42147. TRIANGLE_INCLUDE="-I\$(top_srcdir)/contrib/triangle"
  42148. TRIANGLE_LIBRARY="\$(EXTERNAL_LIBDIR)/libtriangle\$(libext)"
  42149. $as_echo "#define HAVE_TRIANGLE 1" >>confdefs.h
  42150. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Triangle support >>>" >&5
  42151. $as_echo "<<< Configuring library with Triangle support >>>" >&6; }
  42152. else
  42153. TRIANGLE_INCLUDE=""
  42154. TRIANGLE_LIBRARY=""
  42155. enabletriangle=no
  42156. fi
  42157. if test $enabletriangle = yes; then :
  42158. libmesh_contrib_INCLUDES="$TRIANGLE_INCLUDE $libmesh_contrib_INCLUDES"
  42159. fi
  42160. fi
  42161. if test x$enabletriangle = xyes; then
  42162. LIBMESH_ENABLE_TRIANGLE_TRUE=
  42163. LIBMESH_ENABLE_TRIANGLE_FALSE='#'
  42164. else
  42165. LIBMESH_ENABLE_TRIANGLE_TRUE='#'
  42166. LIBMESH_ENABLE_TRIANGLE_FALSE=
  42167. fi
  42168. ac_config_files="$ac_config_files contrib/triangle/Makefile"
  42169. # -------------------------------------------------------------
  42170. # -------------------------------------------------------------
  42171. # Qhull -- enabled by default
  42172. # -------------------------------------------------------------
  42173. # Check whether --enable-qhull was given.
  42174. if test "${enable_qhull+set}" = set; then :
  42175. enableval=$enable_qhull; case "${enableval}" in #(
  42176. yes) :
  42177. enableqhull=yes ;; #(
  42178. no) :
  42179. enableqhull=no ;; #(
  42180. *) :
  42181. as_fn_error $? "bad value ${enableval} for --enable-qhull" "$LINENO" 5 ;;
  42182. esac
  42183. else
  42184. enableqhull=$enableoptional
  42185. fi
  42186. # if unspecified, depend on enableoptional
  42187. QHULL_INCLUDE=""
  42188. QHULL_LIBS=""
  42189. if test "x$enableqhull" = "xyes"; then :
  42190. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5
  42191. $as_echo_n "checking for library containing sqrt... " >&6; }
  42192. if ${ac_cv_search_sqrt+:} false; then :
  42193. $as_echo_n "(cached) " >&6
  42194. else
  42195. ac_func_search_save_LIBS=$LIBS
  42196. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42197. /* end confdefs.h. */
  42198. /* Override any GCC internal prototype to avoid an error.
  42199. Use char because int might match the return type of a GCC
  42200. builtin and then its argument prototype would still apply. */
  42201. #ifdef __cplusplus
  42202. extern "C"
  42203. #endif
  42204. char sqrt ();
  42205. int
  42206. main ()
  42207. {
  42208. return sqrt ();
  42209. ;
  42210. return 0;
  42211. }
  42212. _ACEOF
  42213. for ac_lib in '' m; do
  42214. if test -z "$ac_lib"; then
  42215. ac_res="none required"
  42216. else
  42217. ac_res=-l$ac_lib
  42218. LIBS="-l$ac_lib $ac_func_search_save_LIBS"
  42219. fi
  42220. if ac_fn_cxx_try_link "$LINENO"; then :
  42221. ac_cv_search_sqrt=$ac_res
  42222. fi
  42223. rm -f core conftest.err conftest.$ac_objext \
  42224. conftest$ac_exeext
  42225. if ${ac_cv_search_sqrt+:} false; then :
  42226. break
  42227. fi
  42228. done
  42229. if ${ac_cv_search_sqrt+:} false; then :
  42230. else
  42231. ac_cv_search_sqrt=no
  42232. fi
  42233. rm conftest.$ac_ext
  42234. LIBS=$ac_func_search_save_LIBS
  42235. fi
  42236. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrt" >&5
  42237. $as_echo "$ac_cv_search_sqrt" >&6; }
  42238. ac_res=$ac_cv_search_sqrt
  42239. if test "$ac_res" != no; then :
  42240. test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
  42241. QHULL_LIBS="-lm"
  42242. fi
  42243. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing trunc" >&5
  42244. $as_echo_n "checking for library containing trunc... " >&6; }
  42245. if ${ac_cv_search_trunc+:} false; then :
  42246. $as_echo_n "(cached) " >&6
  42247. else
  42248. ac_func_search_save_LIBS=$LIBS
  42249. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42250. /* end confdefs.h. */
  42251. /* Override any GCC internal prototype to avoid an error.
  42252. Use char because int might match the return type of a GCC
  42253. builtin and then its argument prototype would still apply. */
  42254. #ifdef __cplusplus
  42255. extern "C"
  42256. #endif
  42257. char trunc ();
  42258. int
  42259. main ()
  42260. {
  42261. return trunc ();
  42262. ;
  42263. return 0;
  42264. }
  42265. _ACEOF
  42266. for ac_lib in '' m; do
  42267. if test -z "$ac_lib"; then
  42268. ac_res="none required"
  42269. else
  42270. ac_res=-l$ac_lib
  42271. LIBS="-l$ac_lib $ac_func_search_save_LIBS"
  42272. fi
  42273. if ac_fn_cxx_try_link "$LINENO"; then :
  42274. ac_cv_search_trunc=$ac_res
  42275. fi
  42276. rm -f core conftest.err conftest.$ac_objext \
  42277. conftest$ac_exeext
  42278. if ${ac_cv_search_trunc+:} false; then :
  42279. break
  42280. fi
  42281. done
  42282. if ${ac_cv_search_trunc+:} false; then :
  42283. else
  42284. ac_cv_search_trunc=no
  42285. fi
  42286. rm conftest.$ac_ext
  42287. LIBS=$ac_func_search_save_LIBS
  42288. fi
  42289. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_trunc" >&5
  42290. $as_echo "$ac_cv_search_trunc" >&6; }
  42291. ac_res=$ac_cv_search_trunc
  42292. if test "$ac_res" != no; then :
  42293. test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
  42294. QHULL_LIBS="-lm"
  42295. fi
  42296. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing cos" >&5
  42297. $as_echo_n "checking for library containing cos... " >&6; }
  42298. if ${ac_cv_search_cos+:} false; then :
  42299. $as_echo_n "(cached) " >&6
  42300. else
  42301. ac_func_search_save_LIBS=$LIBS
  42302. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42303. /* end confdefs.h. */
  42304. /* Override any GCC internal prototype to avoid an error.
  42305. Use char because int might match the return type of a GCC
  42306. builtin and then its argument prototype would still apply. */
  42307. #ifdef __cplusplus
  42308. extern "C"
  42309. #endif
  42310. char cos ();
  42311. int
  42312. main ()
  42313. {
  42314. return cos ();
  42315. ;
  42316. return 0;
  42317. }
  42318. _ACEOF
  42319. for ac_lib in '' m; do
  42320. if test -z "$ac_lib"; then
  42321. ac_res="none required"
  42322. else
  42323. ac_res=-l$ac_lib
  42324. LIBS="-l$ac_lib $ac_func_search_save_LIBS"
  42325. fi
  42326. if ac_fn_cxx_try_link "$LINENO"; then :
  42327. ac_cv_search_cos=$ac_res
  42328. fi
  42329. rm -f core conftest.err conftest.$ac_objext \
  42330. conftest$ac_exeext
  42331. if ${ac_cv_search_cos+:} false; then :
  42332. break
  42333. fi
  42334. done
  42335. if ${ac_cv_search_cos+:} false; then :
  42336. else
  42337. ac_cv_search_cos=no
  42338. fi
  42339. rm conftest.$ac_ext
  42340. LIBS=$ac_func_search_save_LIBS
  42341. fi
  42342. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_cos" >&5
  42343. $as_echo "$ac_cv_search_cos" >&6; }
  42344. ac_res=$ac_cv_search_cos
  42345. if test "$ac_res" != no; then :
  42346. test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
  42347. QHULL_LIBS="-lm"
  42348. fi
  42349. QHULL_INCLUDE="-I\$(top_srcdir)/contrib/qhull/qhull/src -I\$(top_srcdir)/contrib/qhull/qhull/src/libqhullcpp"
  42350. $as_echo "#define HAVE_QHULL_API 1" >>confdefs.h
  42351. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Qhull version 2012.1 support >>>" >&5
  42352. $as_echo "<<< Configuring library with Qhull version 2012.1 support >>>" >&6; }
  42353. fi
  42354. if test $enableqhull = yes; then :
  42355. libmesh_contrib_INCLUDES="$QHULL_INCLUDE $libmesh_contrib_INCLUDES"
  42356. fi
  42357. if test x$enableqhull = xyes; then
  42358. LIBMESH_ENABLE_QHULL_TRUE=
  42359. LIBMESH_ENABLE_QHULL_FALSE='#'
  42360. else
  42361. LIBMESH_ENABLE_QHULL_TRUE='#'
  42362. LIBMESH_ENABLE_QHULL_FALSE=
  42363. fi
  42364. ac_config_files="$ac_config_files contrib/qhull/qhull/Makefile"
  42365. # -------------------------------------------------------------
  42366. # -------------------------------------------------------------
  42367. # GMV -- file I/O API is enabled by default (it is distributed in contrib)
  42368. # -------------------------------------------------------------
  42369. # Check whether --enable-gmv was given.
  42370. if test "${enable_gmv+set}" = set; then :
  42371. enableval=$enable_gmv; case "${enableval}" in #(
  42372. yes) :
  42373. enablegmv=yes ;; #(
  42374. no) :
  42375. enablegmv=no ;; #(
  42376. *) :
  42377. as_fn_error $? "bad value ${enableval} for --enable-gmv" "$LINENO" 5 ;;
  42378. esac
  42379. else
  42380. enablegmv=$enableoptional
  42381. fi
  42382. if test "x$enablegmv" = "xyes"; then :
  42383. GMV_INCLUDE="-I\$(top_srcdir)/contrib/gmv"
  42384. GMV_LIBRARY="\$(EXTERNAL_LIBDIR)/libgmv\$(libext)"
  42385. $as_echo "#define HAVE_GMV 1" >>confdefs.h
  42386. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with GMV support >>>" >&5
  42387. $as_echo "<<< Configuring library with GMV support >>>" >&6; }
  42388. else
  42389. GMV_INCLUDE=""
  42390. GMV_LIBRARY=""
  42391. enablegmv=no
  42392. fi
  42393. if test x$enablegmv = xyes; then :
  42394. libmesh_contrib_INCLUDES="$GMV_INCLUDE $libmesh_contrib_INCLUDES"
  42395. fi
  42396. if test x$enablegmv = xyes; then
  42397. LIBMESH_ENABLE_GMV_TRUE=
  42398. LIBMESH_ENABLE_GMV_FALSE='#'
  42399. else
  42400. LIBMESH_ENABLE_GMV_TRUE='#'
  42401. LIBMESH_ENABLE_GMV_FALSE=
  42402. fi
  42403. ac_config_files="$ac_config_files contrib/gmv/Makefile"
  42404. # -------------------------------------------------------------
  42405. # -------------------------------------------------------------
  42406. # VTK -- Mesh I/O API is enabled by default
  42407. # -------------------------------------------------------------
  42408. # Check whether --enable-vtk was given.
  42409. if test "${enable_vtk+set}" = set; then :
  42410. enableval=$enable_vtk; case "${enableval}" in #(
  42411. yes) :
  42412. enablevtk=yes ;; #(
  42413. no) :
  42414. enablevtk=no ;; #(
  42415. *) :
  42416. as_fn_error $? "bad value ${enableval} for --enable-vtk" "$LINENO" 5 ;;
  42417. esac
  42418. else
  42419. enablevtk=$enableoptional
  42420. fi
  42421. # Check whether --enable-vtk-required was given.
  42422. if test "${enable_vtk_required+set}" = set; then :
  42423. enableval=$enable_vtk_required; case "${enableval}" in #(
  42424. yes) :
  42425. vtkrequired=yes ;; #(
  42426. no) :
  42427. vtkrequired=no ;; #(
  42428. *) :
  42429. as_fn_error $? "bad value ${enableval} for --enable-vtk-required" "$LINENO" 5 ;;
  42430. esac
  42431. else
  42432. vtkrequired=no
  42433. fi
  42434. if test "$enablevtk" = "yes"; then :
  42435. if test "x$VTK_DIR" = "x"; then :
  42436. VTK_DIR=/usr
  42437. fi
  42438. VTK_LS_CHECK=$(dirname $(ls -d $VTK_DIR/include/vtk*/vtkConfigure.h 2>/dev/null | tail -n 1) 2>/dev/null)
  42439. if test "x$VTK_INC" = "x"; then :
  42440. if test "x$VTK_INCLUDE" != "x"; then :
  42441. if test -d $VTK_INCLUDE; then :
  42442. VTK_INC=$VTK_INCLUDE
  42443. fi
  42444. elif test -d $VTK_LS_CHECK; then :
  42445. VTK_INC=$VTK_LS_CHECK
  42446. elif test "x$VTK_DIR" != "x"; then :
  42447. VTK_INC=$VTK_DIR/include
  42448. else
  42449. VTK_INC="/usr/include/vtk"
  42450. fi
  42451. fi
  42452. if test "x$VTK_LIB" = "x"; then :
  42453. if test "x$VTK_DIR" != x; then :
  42454. VTK_LIB=$VTK_DIR/lib
  42455. else
  42456. VTK_LIB="/usr/lib"
  42457. fi
  42458. fi
  42459. # Check whether --with-vtk-include was given.
  42460. if test "${with_vtk_include+set}" = set; then :
  42461. withval=$with_vtk_include; withvtkinc=$withval
  42462. else
  42463. withvtkinc=no
  42464. fi
  42465. # Check whether --with-vtk-lib was given.
  42466. if test "${with_vtk_lib+set}" = set; then :
  42467. withval=$with_vtk_lib; withvtklib=$withval
  42468. else
  42469. withvtklib=no
  42470. fi
  42471. if test "$withvtkinc" != "no"; then :
  42472. VTK_INC="$withvtkinc"
  42473. fi
  42474. if test "$withvtklib" != "no"; then :
  42475. VTK_LIB="$withvtklib"
  42476. fi
  42477. VTK_INCLUDE=""
  42478. VTK_LIBRARY=""
  42479. if test "$enablevtk" = "yes"; then :
  42480. vtkincFound=no;
  42481. for ac_header in $VTK_INC/vtkConfigure.h
  42482. do :
  42483. as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  42484. ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
  42485. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  42486. cat >>confdefs.h <<_ACEOF
  42487. #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  42488. _ACEOF
  42489. vtkincFound=yes
  42490. fi
  42491. done
  42492. if test "$vtkincFound" = "no"; then :
  42493. { $as_echo "$as_me:${as_lineno-$LINENO}: result: VTK header files not found!" >&5
  42494. $as_echo "VTK header files not found!" >&6; }
  42495. enablevtk=no;
  42496. fi
  42497. if test "x$enablevtk" = "xyes"; then :
  42498. if test -r $VTK_INC/vtkVersionMacros.h; then :
  42499. vtkmajor=`grep "define VTK_MAJOR_VERSION" $VTK_INC/vtkVersionMacros.h | sed -e "s/.*#define VTK_MAJOR_VERSION[ ]*//g"`
  42500. vtkminor=`grep "define VTK_MINOR_VERSION" $VTK_INC/vtkVersionMacros.h | sed -e "s/.*#define VTK_MINOR_VERSION[ ]*//g"`
  42501. vtkbuild=`grep "define VTK_BUILD_VERSION" $VTK_INC/vtkVersionMacros.h | sed -e "s/.*#define VTK_BUILD_VERSION[ ]*//g"`
  42502. elif test -r $VTK_INC/vtkConfigure.h; then :
  42503. vtkmajor=`grep "define VTK_MAJOR_VERSION" $VTK_INC/vtkConfigure.h | sed -e "s/.*#define VTK_MAJOR_VERSION[ ]*//g"`
  42504. vtkminor=`grep "define VTK_MINOR_VERSION" $VTK_INC/vtkConfigure.h | sed -e "s/.*#define VTK_MINOR_VERSION[ ]*//g"`
  42505. vtkbuild=`grep "define VTK_BUILD_VERSION" $VTK_INC/vtkConfigure.h | sed -e "s/.*#define VTK_BUILD_VERSION[ ]*//g"`
  42506. fi
  42507. vtkversion=$vtkmajor.$vtkminor.$vtkbuild
  42508. vtkmajorminor=$vtkmajor.$vtkminor
  42509. fi
  42510. if test "x$enablevtk" = "xyes"; then :
  42511. old_LIBS="$LIBS"
  42512. old_CPPFLAGS="$CPPFLAGS"
  42513. # If this compiler supports -rpath commands, create a
  42514. # variable for them now that can be used in $LIBS below. We
  42515. # ran across an issue where GCC's linker actually needed
  42516. # -rpath flags in order to *link* a test program. From the
  42517. # man page for GNU ld:
  42518. # The -rpath option is also used when locating shared objects
  42519. # which are needed by shared objects explicitly included in
  42520. # the link; see the description of the -rpath-link option.
  42521. if test "x$RPATHFLAG" != "x" && test -d $VTK_LIB; then :
  42522. VTK_RPATH_FLAGS="${RPATHFLAG}${VTK_LIB}"
  42523. fi
  42524. if test $vtkmajor -eq 5; then :
  42525. VTK_LIBRARY="-L$VTK_LIB -lvtkIO -lvtkCommon -lvtkFiltering -lvtkImaging -lvtkParallel"
  42526. elif test $vtkmajor -eq 6 && test $vtkminor -le 1; then :
  42527. VTK_LIBRARY_WITH_VERSION="-L$VTK_LIB -lvtkIOCore-$vtkmajorminor -lvtkCommonCore-$vtkmajorminor -lvtkCommonDataModel-$vtkmajorminor \
  42528. -lvtkFiltersCore-$vtkmajorminor -lvtkIOXML-$vtkmajorminor -lvtkImagingCore-$vtkmajorminor \
  42529. -lvtkIOImage-$vtkmajorminor -lvtkImagingMath-$vtkmajorminor \
  42530. -lvtkParallelMPI-$vtkmajorminor -lvtkParallelCore-$vtkmajorminor"
  42531. VTK_LIBRARY_NO_VERSION="-L$VTK_LIB -lvtkIOCore -lvtkCommonCore -lvtkCommonDataModel \
  42532. -lvtkFiltersCore -lvtkIOXML -lvtkImagingCore \
  42533. -lvtkIOImage -lvtkImagingMath \
  42534. -lvtkParallelMPI -lvtkParallelCore"
  42535. else
  42536. VTK_LIBRARY_WITH_VERSION="-L$VTK_LIB -lvtkIOCore-$vtkmajorminor -lvtkCommonCore-$vtkmajorminor -lvtkCommonDataModel-$vtkmajorminor \
  42537. -lvtkFiltersCore-$vtkmajorminor -lvtkIOXML-$vtkmajorminor -lvtkImagingCore-$vtkmajorminor \
  42538. -lvtkIOImage-$vtkmajorminor -lvtkImagingMath-$vtkmajorminor -lvtkIOParallelXML-$vtkmajorminor \
  42539. -lvtkParallelMPI-$vtkmajorminor -lvtkParallelCore-$vtkmajorminor \
  42540. -lvtkCommonExecutionModel-$vtkmajorminor"
  42541. VTK_LIBRARY_NO_VERSION="-L$VTK_LIB -lvtkIOCore -lvtkCommonCore -lvtkCommonDataModel \
  42542. -lvtkFiltersCore -lvtkIOXML -lvtkImagingCore \
  42543. -lvtkIOImage -lvtkImagingMath -lvtkIOParallelXML \
  42544. -lvtkParallelMPI -lvtkParallelCore \
  42545. -lvtkCommonExecutionModel"
  42546. fi
  42547. if test $vtkmajor -gt 5; then :
  42548. CPPFLAGS="$CPPFLAGS -I$VTK_INC"
  42549. LIBS="$old_LIBS $VTK_RPATH_FLAGS $VTK_LIBRARY_NO_VERSION"
  42550. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42551. /* end confdefs.h. */
  42552. #include "vtkSmartPointer.h"
  42553. #include "vtkCellArray.h"
  42554. #include "vtkUnstructuredGrid.h"
  42555. #include "vtkPoints.h"
  42556. #include "vtkDoubleArray.h"
  42557. #include "vtkXMLPUnstructuredGridWriter.h"
  42558. #include "vtkImageThreshold.h"
  42559. #include "vtkMPIController.h"
  42560. int
  42561. main ()
  42562. {
  42563. vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New();
  42564. vtkSmartPointer<vtkUnstructuredGrid> grid = vtkSmartPointer<vtkUnstructuredGrid>::New();
  42565. vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
  42566. vtkSmartPointer<vtkDoubleArray> pcoords = vtkSmartPointer<vtkDoubleArray>::New();
  42567. vtkSmartPointer<vtkXMLPUnstructuredGridWriter> writer = vtkSmartPointer<vtkXMLPUnstructuredGridWriter>::New();
  42568. vtkSmartPointer<vtkImageThreshold> threshold = vtkSmartPointer<vtkImageThreshold>::New();
  42569. vtkSmartPointer<vtkMPIController> controller = vtkSmartPointer<vtkMPIController>::New();
  42570. ;
  42571. return 0;
  42572. }
  42573. _ACEOF
  42574. if ac_fn_cxx_try_link "$LINENO"; then :
  42575. enablevtk=yes
  42576. VTK_LIBRARY=$VTK_LIBRARY_NO_VERSION
  42577. else
  42578. enablevtk=no
  42579. fi
  42580. rm -f core conftest.err conftest.$ac_objext \
  42581. conftest$ac_exeext conftest.$ac_ext
  42582. if test "x$enablevtk" = "xno"; then :
  42583. LIBS="$old_LIBS $VTK_RPATH_FLAGS $VTK_LIBRARY_WITH_VERSION"
  42584. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42585. /* end confdefs.h. */
  42586. #include "vtkSmartPointer.h"
  42587. #include "vtkCellArray.h"
  42588. #include "vtkUnstructuredGrid.h"
  42589. #include "vtkPoints.h"
  42590. #include "vtkDoubleArray.h"
  42591. #include "vtkXMLPUnstructuredGridWriter.h"
  42592. #include "vtkImageThreshold.h"
  42593. #include "vtkMPIController.h"
  42594. int
  42595. main ()
  42596. {
  42597. vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New();
  42598. vtkSmartPointer<vtkUnstructuredGrid> grid = vtkSmartPointer<vtkUnstructuredGrid>::New();
  42599. vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
  42600. vtkSmartPointer<vtkDoubleArray> pcoords = vtkSmartPointer<vtkDoubleArray>::New();
  42601. vtkSmartPointer<vtkXMLPUnstructuredGridWriter> writer = vtkSmartPointer<vtkXMLPUnstructuredGridWriter>::New();
  42602. vtkSmartPointer<vtkImageThreshold> threshold = vtkSmartPointer<vtkImageThreshold>::New();
  42603. vtkSmartPointer<vtkMPIController> controller = vtkSmartPointer<vtkMPIController>::New();
  42604. ;
  42605. return 0;
  42606. }
  42607. _ACEOF
  42608. if ac_fn_cxx_try_link "$LINENO"; then :
  42609. enablevtk=yes
  42610. VTK_LIBRARY=$VTK_LIBRARY_WITH_VERSION
  42611. else
  42612. enablevtk=no
  42613. fi
  42614. rm -f core conftest.err conftest.$ac_objext \
  42615. conftest$ac_exeext conftest.$ac_ext
  42616. fi
  42617. if test "x$enablevtk" = "xno"; then :
  42618. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Linking a test program against the VTK libraries failed >>>" >&5
  42619. $as_echo "<<< Linking a test program against the VTK libraries failed >>>" >&6; }
  42620. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON >>>" >&5
  42621. $as_echo "<<< libMesh requires VTK to be configured with -DVTK_Group_MPI:BOOL=ON >>>" >&6; }
  42622. fi
  42623. LIBS="$old_LIBS"
  42624. CPPFLAGS="$old_CPPFLAGS"
  42625. else
  42626. LIBS="$old_LIBS $VTK_RPATH_FLAGS $VTK_LIBRARY"
  42627. CPPFLAGS="$CPPFLAGS -I$VTK_INC"
  42628. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42629. /* end confdefs.h. */
  42630. #include "vtkSmartPointer.h"
  42631. #include "vtkCellArray.h"
  42632. #include "vtkUnstructuredGrid.h"
  42633. #include "vtkPoints.h"
  42634. #include "vtkDoubleArray.h"
  42635. #include "vtkXMLPUnstructuredGridWriter.h"
  42636. #include "vtkImageThreshold.h"
  42637. #include "vtkMPIController.h"
  42638. int
  42639. main ()
  42640. {
  42641. vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New();
  42642. vtkSmartPointer<vtkUnstructuredGrid> grid = vtkSmartPointer<vtkUnstructuredGrid>::New();
  42643. vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
  42644. vtkSmartPointer<vtkDoubleArray> pcoords = vtkSmartPointer<vtkDoubleArray>::New();
  42645. vtkSmartPointer<vtkXMLPUnstructuredGridWriter> writer = vtkSmartPointer<vtkXMLPUnstructuredGridWriter>::New();
  42646. vtkSmartPointer<vtkImageThreshold> threshold = vtkSmartPointer<vtkImageThreshold>::New();
  42647. vtkSmartPointer<vtkMPIController> controller = vtkSmartPointer<vtkMPIController>::New();
  42648. ;
  42649. return 0;
  42650. }
  42651. _ACEOF
  42652. if ac_fn_cxx_try_link "$LINENO"; then :
  42653. enablevtk=yes
  42654. else
  42655. enablevtk=no
  42656. fi
  42657. rm -f core conftest.err conftest.$ac_objext \
  42658. conftest$ac_exeext conftest.$ac_ext
  42659. if test "x$enablevtk" = "xno"; then :
  42660. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Linking a test program against the VTK libraries failed >>>" >&5
  42661. $as_echo "<<< Linking a test program against the VTK libraries failed >>>" >&6; }
  42662. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< libMesh requires VTK to be configured with -DVTK_USE_PARALLEL:BOOL=ON -DVTK_USE_MPI:BOOL=ON >>>" >&5
  42663. $as_echo "<<< libMesh requires VTK to be configured with -DVTK_USE_PARALLEL:BOOL=ON -DVTK_USE_MPI:BOOL=ON >>>" >&6; }
  42664. fi
  42665. LIBS="$old_LIBS"
  42666. CPPFLAGS="$old_CPPFLAGS"
  42667. fi
  42668. fi
  42669. if test "x$enablevtk" = "xyes"; then :
  42670. VTK_INCLUDE="-I$VTK_INC"
  42671. if test "x$RPATHFLAG" != "x" && test -d $VTK_LIB; then :
  42672. VTK_LIBRARY="${RPATHFLAG}${VTK_LIB} $VTK_LIBRARY"
  42673. fi
  42674. cat >>confdefs.h <<_ACEOF
  42675. #define DETECTED_VTK_VERSION_MAJOR $vtkmajor
  42676. _ACEOF
  42677. cat >>confdefs.h <<_ACEOF
  42678. #define DETECTED_VTK_VERSION_MINOR $vtkminor
  42679. _ACEOF
  42680. cat >>confdefs.h <<_ACEOF
  42681. #define DETECTED_VTK_VERSION_SUBMINOR $vtkbuild
  42682. _ACEOF
  42683. $as_echo "#define HAVE_VTK 1" >>confdefs.h
  42684. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with VTK version $vtkversion support >>>" >&5
  42685. $as_echo "<<< Configuring library with VTK version $vtkversion support >>>" >&6; }
  42686. else
  42687. VTK_LIBRARY=''
  42688. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library without VTK support >>>" >&5
  42689. $as_echo "<<< Configuring library without VTK support >>>" >&6; }
  42690. fi
  42691. fi
  42692. fi
  42693. if test "$enablevtk" = "no" && test "$vtkrequired" = "yes"; then :
  42694. as_fn_error 4 "*** VTK was not found, but --enable-vtk-required was specified." "$LINENO" 5
  42695. fi
  42696. if test x$enablevtk = xyes; then :
  42697. libmesh_optional_INCLUDES="$VTK_INCLUDE $libmesh_optional_INCLUDES"
  42698. libmesh_optional_LIBS="$VTK_LIBRARY $libmesh_optional_LIBS"
  42699. fi
  42700. if test x$enablevtk = xyes; then
  42701. LIBMESH_ENABLE_VTK_TRUE=
  42702. LIBMESH_ENABLE_VTK_FALSE='#'
  42703. else
  42704. LIBMESH_ENABLE_VTK_TRUE='#'
  42705. LIBMESH_ENABLE_VTK_FALSE=
  42706. fi
  42707. # -------------------------------------------------------------
  42708. # -------------------------------------------------------------
  42709. # Eigen -- Optimized linear algebra routines, enabled by default
  42710. # -------------------------------------------------------------
  42711. # we require Eigen/Sparse support if we're going to enable Eigen
  42712. enableeigensparse=yes
  42713. # we test with Eigen 3.1.2, so if the user has their own Eigen it
  42714. # should be at least that new.
  42715. # Check whether --enable-eigen was given.
  42716. if test "${enable_eigen+set}" = set; then :
  42717. enableval=$enable_eigen; case "${enableval}" in #(
  42718. yes) :
  42719. enableeigen=yes ;; #(
  42720. no) :
  42721. enableeigen=no ;; #(
  42722. *) :
  42723. as_fn_error $? "bad value ${enableval} for --enable-eigen" "$LINENO" 5 ;;
  42724. esac
  42725. else
  42726. enableeigen=$enableoptional
  42727. fi
  42728. is_package_required=no
  42729. install_internal_eigen=no
  42730. if test "x$enableeigen" = "xyes"; then :
  42731. # Check whether --with-eigen-include was given.
  42732. if test "${with_eigen_include+set}" = set; then :
  42733. withval=$with_eigen_include; witheigeninc=$withval
  42734. else
  42735. witheigeninc=no
  42736. fi
  42737. if test "x$witheigeninc" != "xno"; then :
  42738. EIGEN_INC="$witheigeninc"
  42739. elif test "x$EIGEN_INC" != "x" && test -f $EIGEN_INC/Eigen/Eigen; then :
  42740. $as_echo "Environment EIGEN_INC=$EIGEN_INC"
  42741. elif test "x$EIGEN3_INCLUDE" != "x" && test -f $EIGEN3_INCLUDE/Eigen/Eigen; then :
  42742. EIGEN_INC=$EIGEN3_INCLUDE
  42743. $as_echo "Environment EIGEN3_INCLUDE=$EIGEN_INC"
  42744. elif test "x$EIGEN_INCLUDE" != "x" && test -f $EIGEN_INCLUDE/Eigen/Eigen; then :
  42745. EIGEN_INC=$EIGEN_INCLUDE
  42746. $as_echo "Environment EIGEN_INCLUDE=$EIGEN_INC"
  42747. elif test -f /usr/include/eigen3/Eigen/Eigen; then :
  42748. EIGEN_INC="/usr/include/eigen3"
  42749. $as_echo "System EIGEN_INC=$EIGEN_INC"
  42750. else
  42751. EIGEN_INC="/usr/include"
  42752. $as_echo "Testing EIGEN_INC=$EIGEN_INC"
  42753. fi
  42754. EIGEN_INCLUDE=""
  42755. ac_ext=cpp
  42756. ac_cpp='$CXXCPP $CPPFLAGS'
  42757. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  42758. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  42759. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  42760. externaleigenincFound=no;
  42761. for ac_header in $EIGEN_INC/Eigen/Eigen
  42762. do :
  42763. as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  42764. ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
  42765. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  42766. cat >>confdefs.h <<_ACEOF
  42767. #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  42768. _ACEOF
  42769. externaleigenincFound=yes
  42770. fi
  42771. done
  42772. if test "x$externaleigenincFound" = "xyes"; then :
  42773. enableeigenincFound=yes
  42774. ac_eigen_save_CPPFLAGS="$CPPFLAGS"
  42775. CPPFLAGS="-I${EIGEN_INC} ${CPPFLAGS}"
  42776. for ac_header in Eigen/Dense
  42777. do :
  42778. ac_fn_cxx_check_header_mongrel "$LINENO" "Eigen/Dense" "ac_cv_header_Eigen_Dense" "$ac_includes_default"
  42779. if test "x$ac_cv_header_Eigen_Dense" = xyes; then :
  42780. cat >>confdefs.h <<_ACEOF
  42781. #define HAVE_EIGEN_DENSE 1
  42782. _ACEOF
  42783. else
  42784. enableeigenincFound=no
  42785. fi
  42786. done
  42787. if test "x$enableeigensparse" = "xyes"; then :
  42788. for ac_header in Eigen/Sparse
  42789. do :
  42790. ac_fn_cxx_check_header_mongrel "$LINENO" "Eigen/Sparse" "ac_cv_header_Eigen_Sparse" "$ac_includes_default"
  42791. if test "x$ac_cv_header_Eigen_Sparse" = xyes; then :
  42792. cat >>confdefs.h <<_ACEOF
  42793. #define HAVE_EIGEN_SPARSE 1
  42794. _ACEOF
  42795. else
  42796. enableeigenincFound=no
  42797. fi
  42798. done
  42799. fi
  42800. CPPFLAGS="${ac_eigen_save_CPPFLAGS}"
  42801. fi
  42802. if test "x$enableeigenincFound" = "xyes"; then :
  42803. EIGEN_INCLUDE="-I$EIGEN_INC"
  42804. elif test -d $top_srcdir/contrib/eigen/eigen; then :
  42805. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< external Eigen header files not found, using Eigen from ./contrib >>>" >&5
  42806. $as_echo "<<< external Eigen header files not found, using Eigen from ./contrib >>>" >&6; }
  42807. EIGEN_INC=$top_srcdir/contrib/eigen/eigen
  42808. EIGEN_INCLUDE="-I\$(top_srcdir)/contrib/eigen/eigen"
  42809. install_internal_eigen=yes
  42810. else
  42811. enableeigen=no
  42812. fi
  42813. if test "x$enableeigen" = "xyes"; then :
  42814. ac_eigen_save_CPPFLAGS="$CPPFLAGS"
  42815. CPPFLAGS="-I${EIGEN_INC} ${CPPFLAGS}"
  42816. { ac_cv_header_Eigen_Dense=; unset ac_cv_header_Eigen_Dense;}
  42817. { ac_cv_header_Eigen_Sparse=; unset ac_cv_header_Eigen_Sparse;}
  42818. for ac_header in Eigen/Dense
  42819. do :
  42820. ac_fn_cxx_check_header_mongrel "$LINENO" "Eigen/Dense" "ac_cv_header_Eigen_Dense" "$ac_includes_default"
  42821. if test "x$ac_cv_header_Eigen_Dense" = xyes; then :
  42822. cat >>confdefs.h <<_ACEOF
  42823. #define HAVE_EIGEN_DENSE 1
  42824. _ACEOF
  42825. else
  42826. enableeigen=no
  42827. fi
  42828. done
  42829. if test "x$enableeigensparse" = "xyes"; then :
  42830. for ac_header in Eigen/Sparse
  42831. do :
  42832. ac_fn_cxx_check_header_mongrel "$LINENO" "Eigen/Sparse" "ac_cv_header_Eigen_Sparse" "$ac_includes_default"
  42833. if test "x$ac_cv_header_Eigen_Sparse" = xyes; then :
  42834. cat >>confdefs.h <<_ACEOF
  42835. #define HAVE_EIGEN_SPARSE 1
  42836. _ACEOF
  42837. else
  42838. enableeigen=no
  42839. fi
  42840. done
  42841. fi
  42842. min_eigen_version=3.1.2
  42843. MAJOR_VER=`echo $min_eigen_version | sed 's/^\([0-9]*\).*/\1/'`
  42844. if test "x${MAJOR_VER}" = "x"; then :
  42845. MAJOR_VER=0
  42846. fi
  42847. MINOR_VER=`echo $min_eigen_version | sed 's/^\([0-9]*\)\.\{0,1\}\([0-9]*\).*/\2/'`
  42848. if test "x${MINOR_VER}" = "x"; then :
  42849. MINOR_VER=0
  42850. fi
  42851. MICRO_VER=`echo $min_eigen_version | sed 's/^\([0-9]*\)\.\{0,1\}\([0-9]*\)\.\{0,1\}\([0-9]*\).*/\3/'`
  42852. if test "x${MICRO_VER}" = "x"; then :
  42853. MICRO_VER=0
  42854. fi
  42855. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eigen - version >= $min_eigen_version" >&5
  42856. $as_echo_n "checking for eigen - version >= $min_eigen_version... " >&6; }
  42857. ac_ext=cpp
  42858. ac_cpp='$CXXCPP $CPPFLAGS'
  42859. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  42860. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  42861. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  42862. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  42863. /* end confdefs.h. */
  42864. #include "Eigen/Core"
  42865. int
  42866. main ()
  42867. {
  42868. #if EIGEN_WORLD_VERSION > $MAJOR_VER
  42869. #elif (EIGEN_WORLD_VERSION >= $MAJOR_VER) && (EIGEN_MAJOR_VERSION > $MINOR_VER)
  42870. #elif (EIGEN_WORLD_VERSION >= $MAJOR_VER) && (EIGEN_MAJOR_VERSION >= $MINOR_VER) && (EIGEN_MINOR_VERSION >= $MICRO_VER)
  42871. #else
  42872. # error version is too old
  42873. #endif
  42874. ;
  42875. return 0;
  42876. }
  42877. _ACEOF
  42878. if ac_fn_cxx_try_compile "$LINENO"; then :
  42879. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  42880. $as_echo "yes" >&6; }
  42881. else
  42882. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  42883. $as_echo "no" >&6; }
  42884. enableeigen=no
  42885. fi
  42886. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  42887. ac_ext=cpp
  42888. ac_cpp='$CXXCPP $CPPFLAGS'
  42889. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  42890. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  42891. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  42892. CPPFLAGS="${ac_eigen_save_CPPFLAGS}"
  42893. if test "x$enableeigen" = "xyes"; then :
  42894. HAVE_EIGEN=1
  42895. $as_echo "#define HAVE_EIGEN 1" >>confdefs.h
  42896. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Eigen support >>>" >&5
  42897. $as_echo "<<< Configuring library with Eigen support >>>" >&6; }
  42898. elif test "x$is_package_required" = "xyes"; then :
  42899. as_fn_error $? "Your EIGEN version ($EIGEN_INC) does not meet the minimum versioning
  42900. requirements ($min_eigen_version). Please use --with-eigen-include to
  42901. specify the location of an updated installation." "$LINENO" 5
  42902. fi
  42903. fi
  42904. ac_ext=cpp
  42905. ac_cpp='$CXXCPP $CPPFLAGS'
  42906. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  42907. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  42908. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  42909. fi
  42910. if test "x$enableeigen" = xyes; then :
  42911. if test "x$install_internal_eigen" = xyes; then :
  42912. libmesh_contrib_INCLUDES="$EIGEN_INCLUDE $libmesh_contrib_INCLUDES"
  42913. else
  42914. libmesh_optional_INCLUDES="$EIGEN_INCLUDE $libmesh_optional_INCLUDES"
  42915. fi
  42916. fi
  42917. ac_config_files="$ac_config_files contrib/eigen/eigen/Makefile"
  42918. if test x$enableeigen = xyes; then
  42919. LIBMESH_ENABLE_EIGEN_TRUE=
  42920. LIBMESH_ENABLE_EIGEN_FALSE='#'
  42921. else
  42922. LIBMESH_ENABLE_EIGEN_TRUE='#'
  42923. LIBMESH_ENABLE_EIGEN_FALSE=
  42924. fi
  42925. if test x$install_internal_eigen = xyes; then
  42926. LIBMESH_INSTALL_INTERNAL_EIGEN_TRUE=
  42927. LIBMESH_INSTALL_INTERNAL_EIGEN_FALSE='#'
  42928. else
  42929. LIBMESH_INSTALL_INTERNAL_EIGEN_TRUE='#'
  42930. LIBMESH_INSTALL_INTERNAL_EIGEN_FALSE=
  42931. fi
  42932. #--------------------------------------------------------------
  42933. # -------------------------------------------------------------
  42934. # GLPK -- Needed by the SCM routine of rbOOmit.
  42935. # Enabled by default.
  42936. # -------------------------------------------------------------
  42937. # Check whether --enable-glpk was given.
  42938. if test "${enable_glpk+set}" = set; then :
  42939. enableval=$enable_glpk; case "${enableval}" in #(
  42940. yes) :
  42941. enableglpk=yes ;; #(
  42942. no) :
  42943. enableglpk=no ;; #(
  42944. *) :
  42945. as_fn_error $? "bad value ${enableval} for --enable-glpk" "$LINENO" 5 ;;
  42946. esac
  42947. else
  42948. enableglpk=$enableoptional
  42949. fi
  42950. if test "x$enableglpk" = "xyes"; then :
  42951. # Check whether --with-glpk-include was given.
  42952. if test "${with_glpk_include+set}" = set; then :
  42953. withval=$with_glpk_include; withglpkinc=$withval
  42954. else
  42955. withglpkinc=no
  42956. fi
  42957. # Check whether --with-glpk-lib was given.
  42958. if test "${with_glpk_lib+set}" = set; then :
  42959. withval=$with_glpk_lib; withglpklib=$withval
  42960. else
  42961. withglpklib=no
  42962. fi
  42963. if test "x$withglpkinc" != "xno"; then :
  42964. GLPK_INC="$withglpkinc"
  42965. elif test "x$GLPK_INC" != "x" && test -f $GLPK_INC/glpk.h; then :
  42966. $as_echo "Environment GLPK_INC=$GLPK_INC"
  42967. elif test "x$GLPK_DIR" != "x" && test -f $GLPK_DIR/include/glpk.h; then :
  42968. GLPK_INC="$GLPK_DIR/include"
  42969. elif test -f /usr/include/glpk/glpk.h; then :
  42970. GLPK_INC="/usr/include/glpk"
  42971. elif test -f /usr/local/include/glpk.h; then :
  42972. GLPK_INC="/usr/local/include"
  42973. else
  42974. GLPK_INC="/usr/include"
  42975. fi
  42976. if test "x$withglpklib" != "xno"; then :
  42977. GLPK_LIB="$withglpklib"
  42978. elif test "x$GLPK_LIB" != "x"; then :
  42979. $as_echo "Environment GLPK_LIB=$GLPK_INC"
  42980. elif test "x$GLPK_DIR" != "x"; then :
  42981. GLPK_LIB="$GLPK_DIR/lib"
  42982. elif test -f /usr/include/glpk/glpk.h; then :
  42983. if test -f /usr/lib64/libglpk.so || test -f /usr/lib64/libglpk.a; then :
  42984. GLPK_LIB="/usr/lib64"
  42985. elif test -f /usr/lib/libglpk.so || test -f /usr/lib/libglpk.a; then :
  42986. GLPK_LIB="/usr/lib"
  42987. fi
  42988. elif test -f /usr/local/include/glpk.h; then :
  42989. GLPK_LIB="/usr/local/lib"
  42990. else
  42991. GLPK_LIB="/usr/lib"
  42992. fi
  42993. GLPK_INCLUDE=""
  42994. GLPK_LIBRARY=""
  42995. if test "x$enableglpk" = "xyes"; then :
  42996. glpkincFound=no;
  42997. for ac_header in $GLPK_INC/glpk.h
  42998. do :
  42999. as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  43000. ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
  43001. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  43002. cat >>confdefs.h <<_ACEOF
  43003. #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  43004. _ACEOF
  43005. glpkincFound=yes
  43006. fi
  43007. done
  43008. if test "x$glpkincFound" = "xno"; then :
  43009. { $as_echo "$as_me:${as_lineno-$LINENO}: result: GLPK header files not found!" >&5
  43010. $as_echo "GLPK header files not found!" >&6; }
  43011. enableglpk=no
  43012. fi
  43013. if test "x$enableglpk" = "xyes"; then :
  43014. glpkmajor=`grep "define GLP_MAJOR_VERSION" $GLPK_INC/glpk.h | sed -e "s/#define GLP_MAJOR_VERSION[ ]*//g"`
  43015. glpkminor=`grep "define GLP_MINOR_VERSION" $GLPK_INC/glpk.h | sed -e "s/#define GLP_MINOR_VERSION[ ]*//g"`
  43016. glpkversion=$glpkmajor.$glpkminor
  43017. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with GLPK version $glpkversion support >>>" >&5
  43018. $as_echo "<<< Configuring library with GLPK version $glpkversion support >>>" >&6; }
  43019. fi
  43020. if test "x$enableglpk" = "xyes"; then :
  43021. old_LIBS="$LIBS"
  43022. LIBS="$old_LIBS -L$GLPK_LIB"
  43023. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lglpk" >&5
  43024. $as_echo_n "checking for main in -lglpk... " >&6; }
  43025. if ${ac_cv_lib_glpk_main+:} false; then :
  43026. $as_echo_n "(cached) " >&6
  43027. else
  43028. ac_check_lib_save_LIBS=$LIBS
  43029. LIBS="-lglpk $LIBS"
  43030. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43031. /* end confdefs.h. */
  43032. int
  43033. main ()
  43034. {
  43035. return main ();
  43036. ;
  43037. return 0;
  43038. }
  43039. _ACEOF
  43040. if ac_fn_cxx_try_link "$LINENO"; then :
  43041. ac_cv_lib_glpk_main=yes
  43042. else
  43043. ac_cv_lib_glpk_main=no
  43044. fi
  43045. rm -f core conftest.err conftest.$ac_objext \
  43046. conftest$ac_exeext conftest.$ac_ext
  43047. LIBS=$ac_check_lib_save_LIBS
  43048. fi
  43049. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_glpk_main" >&5
  43050. $as_echo "$ac_cv_lib_glpk_main" >&6; }
  43051. if test "x$ac_cv_lib_glpk_main" = xyes; then :
  43052. enableglpk=yes
  43053. else
  43054. enableglpk=no
  43055. fi
  43056. LIBS="$old_LIBS"
  43057. fi
  43058. if test "x$enableglpk" = "xyes"; then :
  43059. GLPK_INCLUDE="-I$GLPK_INC"
  43060. GLPK_LIBRARY="-L$GLPK_LIB -lglpk"
  43061. if test "x$RPATHFLAG" != "x" && test -d $GLPK_LIB; then :
  43062. if test "$GLPK_LIB" != "/usr/lib" && test "$GLPK_LIB" != "/usr/lib64"; then :
  43063. GLPK_LIBRARY="${RPATHFLAG}${GLPK_LIB} $GLPK_LIBRARY"
  43064. fi
  43065. fi
  43066. $as_echo "#define HAVE_GLPK 1" >>confdefs.h
  43067. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with GLPK support >>>" >&5
  43068. $as_echo "<<< Configuring library with GLPK support >>>" >&6; }
  43069. fi
  43070. fi
  43071. fi
  43072. if test x$enableglpk = xyes; then :
  43073. libmesh_optional_INCLUDES="$GLPK_INCLUDE $libmesh_optional_INCLUDES"
  43074. libmesh_optional_LIBS="$GLPK_LIBRARY $libmesh_optional_LIBS"
  43075. fi
  43076. if test x$enableglpk = xyes; then
  43077. LIBMESH_ENABLE_GLPK_TRUE=
  43078. LIBMESH_ENABLE_GLPK_FALSE='#'
  43079. else
  43080. LIBMESH_ENABLE_GLPK_TRUE='#'
  43081. LIBMESH_ENABLE_GLPK_FALSE=
  43082. fi
  43083. # -------------------------------------------------------------
  43084. # -------------------------------------------------------------
  43085. # NLOPT -- A library of nonlinear optimization routines.
  43086. # -------------------------------------------------------------
  43087. # Check whether --enable-nlopt was given.
  43088. if test "${enable_nlopt+set}" = set; then :
  43089. enableval=$enable_nlopt; case "${enableval}" in #(
  43090. yes) :
  43091. enablenlopt=yes ;; #(
  43092. no) :
  43093. enablenlopt=no ;; #(
  43094. *) :
  43095. as_fn_error $? "bad value ${enableval} for --enable-nlopt" "$LINENO" 5 ;;
  43096. esac
  43097. else
  43098. enablenlopt=$enableoptional
  43099. fi
  43100. if test "x$enablenlopt" = "xyes" && test "$dof_bytes" != "4"; then :
  43101. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< nlopt can only be enabled if libmesh is configured with --with-dof-id-bytes=4. >>>" >&5
  43102. $as_echo "<<< nlopt can only be enabled if libmesh is configured with --with-dof-id-bytes=4. >>>" >&6; }
  43103. enablenlopt=no
  43104. fi
  43105. if test "x$enablenlopt" = "xyes"; then :
  43106. # User-specific include path
  43107. # Check whether --with-nlopt-include was given.
  43108. if test "${with_nlopt_include+set}" = set; then :
  43109. withval=$with_nlopt_include; withnloptinc=$withval
  43110. else
  43111. withnloptinc=no
  43112. fi
  43113. # User-specific library path
  43114. # Check whether --with-nlopt-lib was given.
  43115. if test "${with_nlopt_lib+set}" = set; then :
  43116. withval=$with_nlopt_lib; withnloptlib=$withval
  43117. else
  43118. withnloptlib=no
  43119. fi
  43120. # Use NLOPT_DIR/include if it exists.
  43121. if test $withnloptinc != no; then :
  43122. NLOPT_INC="$withnloptinc"
  43123. elif test "x$NLOPT_DIR" != "x" && test -f $NLOPT_DIR/include/nlopt.h; then :
  43124. NLOPT_INC="$NLOPT_DIR/include"
  43125. else
  43126. NLOPT_INC=""
  43127. fi
  43128. # Use NLOPT_DIR/lib if it exists.
  43129. if test "x$withnloptlib" != "xno"; then :
  43130. NLOPT_LIB="$withnloptlib"
  43131. elif test "x$NLOPT_DIR" != "x"; then :
  43132. NLOPT_LIB="$NLOPT_DIR/lib"
  43133. else
  43134. NLOPT_LIB=""
  43135. fi
  43136. # Initialize Makefile/config.h substitution variables
  43137. NLOPT_INCLUDE=""
  43138. NLOPT_LIBRARY=""
  43139. if test "x$enablenlopt" = "xyes"; then :
  43140. NLOPT_INCLUDE="-I$NLOPT_INC"
  43141. NLOPT_LIBRARY="-L$NLOPT_LIB -lnlopt"
  43142. # Try to compile and link a trivial nlopt test code.
  43143. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for valid nlopt installation" >&5
  43144. $as_echo_n "checking for valid nlopt installation... " >&6; }
  43145. ac_ext=c
  43146. ac_cpp='$CPP $CPPFLAGS'
  43147. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43148. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43149. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  43150. # Save the original CFLAGS and LIBS contents
  43151. saveCFLAGS="$CFLAGS"
  43152. saveLIBS="$LIBS"
  43153. # Append nlopt include paths to the CFLAGS variables
  43154. CFLAGS="$saveCFLAGS $NLOPT_INCLUDE"
  43155. LIBS="$saveLIBS $NLOPT_LIBRARY -lm"
  43156. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43157. /* end confdefs.h. */
  43158. #include <math.h>
  43159. #include <nlopt.h>
  43160. #include <stdio.h>
  43161. double myfunc(unsigned n, const double *x, double *grad, void *my_func_data)
  43162. {
  43163. if (grad) {
  43164. grad[0] = 0.0;
  43165. grad[1] = 0.5 / sqrt(x[1]);
  43166. }
  43167. return sqrt(x[1]);
  43168. }
  43169. typedef struct
  43170. {
  43171. double a, b;
  43172. } my_constraint_data;
  43173. double myconstraint(unsigned n, const double *x, double *grad, void *data)
  43174. {
  43175. my_constraint_data *d = (my_constraint_data *) data;
  43176. double a = d->a, b = d->b;
  43177. if (grad) {
  43178. grad[0] = 3 * a * (a*x[0] + b) * (a*x[0] + b);
  43179. grad[1] = -1.0;
  43180. }
  43181. return ((a*x[0] + b) * (a*x[0] + b) * (a*x[0] + b) - x[1]);
  43182. }
  43183. int
  43184. main ()
  43185. {
  43186. double lb[2] = { -HUGE_VAL, 0 }; /* lower bounds */
  43187. nlopt_opt opt;
  43188. opt = nlopt_create(NLOPT_LD_MMA, 2); /* algorithm and dimensionality */
  43189. nlopt_set_lower_bounds(opt, lb);
  43190. nlopt_set_min_objective(opt, myfunc, NULL);
  43191. my_constraint_data data[2] = { {2,0}, {-1,1} };
  43192. nlopt_add_inequality_constraint(opt, myconstraint, &data[0], 1e-8);
  43193. nlopt_add_inequality_constraint(opt, myconstraint, &data[1], 1e-8);
  43194. nlopt_set_xtol_rel(opt, 1e-4);
  43195. double x[2] = { 1.234, 5.678 }; /* some initial guess */
  43196. double minf; /* the minimum objective value, upon return */
  43197. if (nlopt_optimize(opt, x, &minf) < 0) {
  43198. printf("nlopt failed!\n");
  43199. }
  43200. else {
  43201. printf("found minimum at f(%g,%g) = %0.10g\n", x[0], x[1], minf);
  43202. }
  43203. nlopt_destroy(opt);
  43204. return 0;
  43205. ;
  43206. return 0;
  43207. }
  43208. _ACEOF
  43209. if ac_fn_c_try_link "$LINENO"; then :
  43210. enablenlopt=yes
  43211. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  43212. $as_echo "yes" >&6; }
  43213. else
  43214. enablenlopt=no
  43215. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  43216. $as_echo "no" >&6; }
  43217. fi
  43218. rm -f core conftest.err conftest.$ac_objext \
  43219. conftest$ac_exeext conftest.$ac_ext
  43220. # Return CFLAGS and LIBS to their original states.
  43221. CFLAGS="$saveCFLAGS"
  43222. LIBS="$saveLIBS"
  43223. ac_ext=cpp
  43224. ac_cpp='$CXXCPP $CPPFLAGS'
  43225. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43226. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43227. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  43228. if test "x$enablenlopt" = "xyes"; then :
  43229. if test "x$RPATHFLAG" != "x" && test -d $NLOPT_LIB; then :
  43230. NLOPT_LIBRARY="${RPATHFLAG}${NLOPT_LIB} $NLOPT_LIBRARY"
  43231. fi
  43232. $as_echo "#define HAVE_NLOPT 1" >>confdefs.h
  43233. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with NLOPT support >>>" >&5
  43234. $as_echo "<<< Configuring library with NLOPT support >>>" >&6; }
  43235. fi
  43236. fi
  43237. fi
  43238. # Substitute the substitution variables
  43239. if test x$enablenlopt = xyes; then :
  43240. libmesh_optional_INCLUDES="$NLOPT_INCLUDE $libmesh_optional_INCLUDES"
  43241. libmesh_optional_LIBS="$NLOPT_LIBRARY $libmesh_optional_LIBS"
  43242. fi
  43243. if test x$enablenlopt = xyes; then
  43244. LIBMESH_ENABLE_NLOPT_TRUE=
  43245. LIBMESH_ENABLE_NLOPT_FALSE='#'
  43246. else
  43247. LIBMESH_ENABLE_NLOPT_TRUE='#'
  43248. LIBMESH_ENABLE_NLOPT_FALSE=
  43249. fi
  43250. # -------------------------------------------------------------
  43251. # -------------------------------------------------------------
  43252. # CAPNPROTO -- Serialization library.
  43253. # -------------------------------------------------------------
  43254. # Check whether --enable-capnproto was given.
  43255. if test "${enable_capnproto+set}" = set; then :
  43256. enableval=$enable_capnproto; case "${enableval}" in #(
  43257. yes) :
  43258. enablecapnproto=yes ;; #(
  43259. no) :
  43260. enablecapnproto=no ;; #(
  43261. *) :
  43262. as_fn_error $? "bad value ${enableval} for --enable-capnproto" "$LINENO" 5 ;;
  43263. esac
  43264. else
  43265. enablecapnproto=$enableoptional
  43266. fi
  43267. # Check whether --enable-capnp-required was given.
  43268. if test "${enable_capnp_required+set}" = set; then :
  43269. enableval=$enable_capnp_required; case "${enableval}" in #(
  43270. yes) :
  43271. capnprequired=yes ;; #(
  43272. no) :
  43273. capnprequired=no ;; #(
  43274. *) :
  43275. as_fn_error $? "bad value ${enableval} for --enable-capnp-required" "$LINENO" 5 ;;
  43276. esac
  43277. else
  43278. capnprequired=no
  43279. fi
  43280. if test "x$HAVE_CXX11" = "x" || test "x$HAVE_CXX11" = "x0"; then :
  43281. enablecapnproto=no
  43282. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Cap'n Proto disabled -- C++11 support (auto keyword) is required. >>>" >&5
  43283. $as_echo "<<< Cap'n Proto disabled -- C++11 support (auto keyword) is required. >>>" >&6; }
  43284. fi
  43285. if test "x$enablecapnproto" = "xyes"; then :
  43286. CAPNPROTO_INC=""
  43287. CAPNPROTO_LIB=""
  43288. # Check whether --with-capnproto was given.
  43289. if test "${with_capnproto+set}" = set; then :
  43290. withval=$with_capnproto;
  43291. CAPNPROTO_INC="$withval/include"
  43292. CAPNPROTO_LIB="$withval/lib"
  43293. fi
  43294. if test "x$CAPNPROTO_DIR" != x; then :
  43295. CAPNPROTO_INC="$CAPNPROTO_DIR/include"
  43296. CAPNPROTO_LIB="$CAPNPROTO_DIR/lib"
  43297. fi
  43298. CAPNPROTO_INCLUDE=""
  43299. CAPNPROTO_LIBRARY=""
  43300. if test -r $CAPNPROTO_INC/capnp/common.h; then :
  43301. enablecapnproto=yes
  43302. else
  43303. enablecapnproto=no
  43304. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Required header files not found, Cap'n Proto support disabled. >>>" >&5
  43305. $as_echo "<<< Required header files not found, Cap'n Proto support disabled. >>>" >&6; }
  43306. fi
  43307. if test "x$enablecapnproto" = "xyes"; then :
  43308. # Extract the first word of "capnp", so it can be a program name with args.
  43309. set dummy capnp; ac_word=$2
  43310. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  43311. $as_echo_n "checking for $ac_word... " >&6; }
  43312. if ${ac_cv_prog_CAPNP_BINARY+:} false; then :
  43313. $as_echo_n "(cached) " >&6
  43314. else
  43315. if test -n "$CAPNP_BINARY"; then
  43316. ac_cv_prog_CAPNP_BINARY="$CAPNP_BINARY" # Let the user override the test.
  43317. else
  43318. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  43319. for as_dir in $PATH
  43320. do
  43321. IFS=$as_save_IFS
  43322. test -z "$as_dir" && as_dir=.
  43323. for ac_exec_ext in '' $ac_executable_extensions; do
  43324. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  43325. ac_cv_prog_CAPNP_BINARY="capnp"
  43326. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  43327. break 2
  43328. fi
  43329. done
  43330. done
  43331. IFS=$as_save_IFS
  43332. test -z "$ac_cv_prog_CAPNP_BINARY" && ac_cv_prog_CAPNP_BINARY="none"
  43333. fi
  43334. fi
  43335. CAPNP_BINARY=$ac_cv_prog_CAPNP_BINARY
  43336. if test -n "$CAPNP_BINARY"; then
  43337. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAPNP_BINARY" >&5
  43338. $as_echo "$CAPNP_BINARY" >&6; }
  43339. else
  43340. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  43341. $as_echo "no" >&6; }
  43342. fi
  43343. if test "x$CAPNP_BINARY" = "xcapnp"; then :
  43344. enablecapnproto=yes
  43345. else
  43346. enablecapnproto=no
  43347. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< The 'capnp' utility is not in your PATH, Cap'n Proto support disabled. >>>" >&5
  43348. $as_echo "<<< The 'capnp' utility is not in your PATH, Cap'n Proto support disabled. >>>" >&6; }
  43349. fi
  43350. fi
  43351. # If the required programs were found in $PATH, continue.
  43352. if test "x$enablecapnproto" = "xyes"; then :
  43353. printf '%s\n' "@0xdbb9ad1f14bf0b36;" > example.capnp
  43354. printf '%s\n' "struct Person {" >> example.capnp
  43355. printf '%s\n' "name @0 :Text;" >> example.capnp
  43356. printf '%s\n' "birthdate @3 :Date;" >> example.capnp
  43357. printf '%s\n' "email @1 :Text;" >> example.capnp
  43358. printf '%s\n' "phones @2 :List(PhoneNumber);" >> example.capnp
  43359. printf '%s\n' "struct PhoneNumber {" >> example.capnp
  43360. printf '%s\n' "number @0 :Text;" >> example.capnp
  43361. printf '%s\n' "type @1 :Type;" >> example.capnp
  43362. printf '%s\n' "enum Type {" >> example.capnp
  43363. printf '%s\n' "mobile @0;" >> example.capnp
  43364. printf '%s\n' "home @1;" >> example.capnp
  43365. printf '%s\n' "work @2;" >> example.capnp
  43366. printf '%s\n' "} } }" >> example.capnp
  43367. printf '%s\n' "struct Date {" >> example.capnp
  43368. printf '%s\n' "year @0 :Int16;" >> example.capnp
  43369. printf '%s\n' "month @1 :UInt8;" >> example.capnp
  43370. printf '%s\n' "day @2 :UInt8;" >> example.capnp
  43371. printf '%s\n' "}" >> example.capnp
  43372. # Call the capnp utility
  43373. capnp compile -oc++ example.capnp
  43374. if test "x$?" = "x0"; then :
  43375. enablecapnproto=yes
  43376. else
  43377. enablecapnproto=no
  43378. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< The 'capnp' utility function failed, Cap'n Proto support disabled. >>>" >&5
  43379. $as_echo "<<< The 'capnp' utility function failed, Cap'n Proto support disabled. >>>" >&6; }
  43380. fi
  43381. rm -f example.capnp example.capnp.h example.capnp.c++
  43382. fi
  43383. if test "x$enablecapnproto" = "xyes"; then :
  43384. CAPNPROTO_INCLUDE="-I$CAPNPROTO_INC"
  43385. CAPNPROTO_LIBRARY="-L$CAPNPROTO_LIB -lcapnp -lkj"
  43386. if test "x$RPATHFLAG" != "x" && test -d $CAPNPROTO_LIB; then :
  43387. CAPNPROTO_LIBRARY="${RPATHFLAG}${CAPNPROTO_LIB} $CAPNPROTO_LIBRARY"
  43388. fi
  43389. $as_echo "#define HAVE_CAPNPROTO 1" >>confdefs.h
  43390. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with CAPNPROTO support >>>" >&5
  43391. $as_echo "<<< Configuring library with CAPNPROTO support >>>" >&6; }
  43392. fi
  43393. fi
  43394. if test "x$enablecapnproto" != "xyes" && test "x$capnprequired" = "xyes"; then :
  43395. as_fn_error 6 "*** Cap'n Proto was not found, but --enable-capnp-required was specified. Make sure the capnp executable is in your PATH" "$LINENO" 5
  43396. fi
  43397. if test x$enablecapnproto = xyes; then :
  43398. libmesh_optional_INCLUDES="$CAPNPROTO_INCLUDE $libmesh_optional_INCLUDES"
  43399. libmesh_optional_LIBS="$CAPNPROTO_LIBRARY $libmesh_optional_LIBS"
  43400. fi
  43401. if test x$enablecapnproto = xyes; then
  43402. LIBMESH_ENABLE_CAPNPROTO_TRUE=
  43403. LIBMESH_ENABLE_CAPNPROTO_FALSE='#'
  43404. else
  43405. LIBMESH_ENABLE_CAPNPROTO_TRUE='#'
  43406. LIBMESH_ENABLE_CAPNPROTO_FALSE=
  43407. fi
  43408. ac_config_files="$ac_config_files contrib/capnproto/Makefile"
  43409. # -------------------------------------------------------------
  43410. # -------------------------------------------------------------
  43411. # libcurl -- enabled by default
  43412. # Note: I tried to use the m4 files ax_lib_curl.m4 and
  43413. # ax_path_generic.m4 from the autoconf-archive for this, but they
  43414. # would not work (bootstrap failed!) on either Linux or OSX.
  43415. # -------------------------------------------------------------
  43416. # Check whether --enable-curl was given.
  43417. if test "${enable_curl+set}" = set; then :
  43418. enableval=$enable_curl; case "${enableval}" in #(
  43419. yes) :
  43420. enablecurl=yes ;; #(
  43421. no) :
  43422. enablecurl=no ;; #(
  43423. *) :
  43424. as_fn_error $? "bad value ${enableval} for --enable-curl" "$LINENO" 5 ;;
  43425. esac
  43426. else
  43427. enablecurl=no
  43428. fi
  43429. if test "x$enablecurl" = "xyes"; then :
  43430. # Check whether --with-curl-include was given.
  43431. if test "${with_curl_include+set}" = set; then :
  43432. withval=$with_curl_include; withcurlinc=$withval
  43433. else
  43434. withcurlinc=no
  43435. fi
  43436. # Check whether --with-curl-lib was given.
  43437. if test "${with_curl_lib+set}" = set; then :
  43438. withval=$with_curl_lib; withcurllib=$withval
  43439. else
  43440. withcurllib=no
  43441. fi
  43442. CURL_INC="/usr/include/curl"
  43443. CURL_LIB="/usr/lib"
  43444. if test "x$withcurlinc" != "xno"; then :
  43445. CURL_INC="$withcurlinc"
  43446. fi
  43447. if test "x$withcurllib" != "xno"; then :
  43448. CURL_LIB="$withcurllib"
  43449. fi
  43450. # Initialize eventual Makefile/config.h substitution variables
  43451. CURL_INCLUDE=""
  43452. CURL_LIBRARY=""
  43453. # Actually test for the existence of headers and libs.
  43454. if test "x$enablecurl" = "xyes"; then :
  43455. curlincFound=no;
  43456. for ac_header in $CURL_INC/curl.h
  43457. do :
  43458. as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  43459. ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
  43460. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  43461. cat >>confdefs.h <<_ACEOF
  43462. #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  43463. _ACEOF
  43464. curlincFound=yes
  43465. fi
  43466. done
  43467. if test "x$curlincFound" = "xno"; then :
  43468. { $as_echo "$as_me:${as_lineno-$LINENO}: result: CURL header files not found!" >&5
  43469. $as_echo "CURL header files not found!" >&6; }
  43470. enablecurl=no
  43471. fi
  43472. #define LIBCURL_VERSION_MAJOR 7
  43473. #define LIBCURL_VERSION_MINOR 37
  43474. #define LIBCURL_VERSION_PATCH 1
  43475. if test "x$enablecurl" = "xyes"; then :
  43476. curlmajor=`grep "define LIBCURL_VERSION_MAJOR" $CURL_INC/curlver.h | sed -e "s/#define LIBCURL_VERSION_MAJOR[ ]*//g"`
  43477. curlminor=`grep "define LIBCURL_VERSION_MINOR" $CURL_INC/curlver.h | sed -e "s/#define LIBCURL_VERSION_MINOR[ ]*//g"`
  43478. curlversion=$curlmajor.$curlminor
  43479. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with CURL version $curlversion support >>>" >&5
  43480. $as_echo "<<< Configuring library with CURL version $curlversion support >>>" >&6; }
  43481. fi
  43482. if test "x$enablecurl" = "xyes"; then :
  43483. old_LIBS="$LIBS"
  43484. LIBS="$old_LIBS -L$CURL_LIB"
  43485. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lcurl" >&5
  43486. $as_echo_n "checking for main in -lcurl... " >&6; }
  43487. if ${ac_cv_lib_curl_main+:} false; then :
  43488. $as_echo_n "(cached) " >&6
  43489. else
  43490. ac_check_lib_save_LIBS=$LIBS
  43491. LIBS="-lcurl $LIBS"
  43492. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43493. /* end confdefs.h. */
  43494. int
  43495. main ()
  43496. {
  43497. return main ();
  43498. ;
  43499. return 0;
  43500. }
  43501. _ACEOF
  43502. if ac_fn_cxx_try_link "$LINENO"; then :
  43503. ac_cv_lib_curl_main=yes
  43504. else
  43505. ac_cv_lib_curl_main=no
  43506. fi
  43507. rm -f core conftest.err conftest.$ac_objext \
  43508. conftest$ac_exeext conftest.$ac_ext
  43509. LIBS=$ac_check_lib_save_LIBS
  43510. fi
  43511. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_main" >&5
  43512. $as_echo "$ac_cv_lib_curl_main" >&6; }
  43513. if test "x$ac_cv_lib_curl_main" = xyes; then :
  43514. enablecurl=yes
  43515. else
  43516. enablecurl=no
  43517. fi
  43518. LIBS="$old_LIBS"
  43519. fi
  43520. if test "x$enablecurl" = "xyes"; then :
  43521. CURL_INCLUDE="-I$CURL_INC"
  43522. CURL_LIBRARY="-L$CURL_LIB -lcurl"
  43523. if test "x$RPATHFLAG" != "x" && test -d $CURL_LIB; then :
  43524. if test "$CURL_LIB" != "/usr/lib" && test "$CURL_LIB" != "/usr/lib64"; then :
  43525. CURL_LIBRARY="${RPATHFLAG}${CURL_LIB} $CURL_LIBRARY"
  43526. fi
  43527. fi
  43528. $as_echo "#define HAVE_CURL 1" >>confdefs.h
  43529. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with CURL support >>>" >&5
  43530. $as_echo "<<< Configuring library with CURL support >>>" >&6; }
  43531. fi
  43532. fi
  43533. fi
  43534. if test x$enablecurl = xyes; then :
  43535. libmesh_optional_INCLUDES="$CURL_INCLUDE $libmesh_optional_INCLUDES"
  43536. libmesh_optional_LIBS="$CURL_LIBRARY $libmesh_optional_LIBS"
  43537. fi
  43538. if test x$enablecurl = xyes; then
  43539. LIBMESH_ENABLE_CURL_TRUE=
  43540. LIBMESH_ENABLE_CURL_FALSE='#'
  43541. else
  43542. LIBMESH_ENABLE_CURL_TRUE='#'
  43543. LIBMESH_ENABLE_CURL_FALSE=
  43544. fi
  43545. # -------------------------------------------------------------
  43546. # --------------------------------------------------------------
  43547. # HDF5 -- enabled by default
  43548. # --------------------------------------------------------------
  43549. # Check whether --enable-hdf5 was given.
  43550. if test "${enable_hdf5+set}" = set; then :
  43551. enableval=$enable_hdf5; case "${enableval}" in #(
  43552. yes) :
  43553. enablehdf5=yes ;; #(
  43554. no) :
  43555. enablehdf5=no ;; #(
  43556. *) :
  43557. as_fn_error $? "bad value ${enableval} for --enable-hdf5" "$LINENO" 5 ;;
  43558. esac
  43559. else
  43560. enablehdf5=no
  43561. fi
  43562. if test "x$enablehdf5" = "xyes"; then :
  43563. HAVE_HDF5=0
  43564. # Check whether --with-hdf5 was given.
  43565. if test "${with_hdf5+set}" = set; then :
  43566. withval=$with_hdf5;
  43567. with_hdf5=$withval
  43568. if test "x${with_hdf5}" != "xyes"; then :
  43569. HDF5_PREFIX=$withval
  43570. fi
  43571. else
  43572. with_hdf5=$withval
  43573. if test "x${HDF5_DIR}" != "x"; then :
  43574. HDF5_PREFIX=${HDF5_DIR}
  43575. with_hdf5=yes
  43576. fi
  43577. fi
  43578. is_package_required=no
  43579. if test "x${with_hdf5}" != "xno"; then :
  43580. if test -d "${HDF5_PREFIX}/lib"; then :
  43581. HDF5_LIBS="-L${HDF5_PREFIX}/lib -lhdf5"
  43582. HDF5_FLIBS="-L${HDF5_PREFIX}/lib -lhdf5_fortran"
  43583. HDF5_CXXLIBS="-L${HDF5_PREFIX}/lib -lhdf5_cpp"
  43584. fi
  43585. if test "x$RPATHFLAG" != "x" && test -d "${HDF5_PREFIX}/lib"; then :
  43586. HDF5_LIBS="${HDF5_LIBS} ${RPATHFLAG}${HDF5_PREFIX}/lib"
  43587. HDF5_FLIBS="${HDF5_FLIBS} ${RPATHFLAG}${HDF5_PREFIX}/lib"
  43588. HDF5_CXXLIBS="${HDF5_CXXLIBS} ${RPATHFLAG}${HDF5_PREFIX}/lib"
  43589. fi
  43590. if test -d "${HDF5_PREFIX}/include"; then :
  43591. HDF5_CPPFLAGS="-I${HDF5_PREFIX}/include"
  43592. fi
  43593. ac_HDF5_save_CFLAGS="$CFLAGS"
  43594. ac_HDF5_save_CPPFLAGS="$CPPFLAGS"
  43595. ac_HDF5_save_LDFLAGS="$LDFLAGS"
  43596. ac_HDF5_save_LIBS="$LIBS"
  43597. CFLAGS="${HDF5_CPPFLAGS} ${CFLAGS}"
  43598. CPPFLAGS="${HDF5_CPPFLAGS} ${CPPFLAGS}"
  43599. LDFLAGS="${HDF5_LIBS} ${LDFLAGS}"
  43600. ac_ext=c
  43601. ac_cpp='$CPP $CPPFLAGS'
  43602. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43603. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43604. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  43605. ac_fn_c_check_header_mongrel "$LINENO" "hdf5.h" "ac_cv_header_hdf5_h" "$ac_includes_default"
  43606. if test "x$ac_cv_header_hdf5_h" = xyes; then :
  43607. found_header=yes
  43608. else
  43609. found_header=no
  43610. fi
  43611. min_hdf5_version=1.8.0
  43612. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HDF5 version >= $min_hdf5_version" >&5
  43613. $as_echo_n "checking for HDF5 version >= $min_hdf5_version... " >&6; }
  43614. MAJOR_VER=`echo $min_hdf5_version | sed 's/^\([0-9]*\).*/\1/'`
  43615. if test "x${MAJOR_VER}" = "x"; then :
  43616. MAJOR_VER=0
  43617. fi
  43618. MINOR_VER=`echo $min_hdf5_version | sed 's/^\([0-9]*\)\.\{0,1\}\([0-9]*\).*/\2/'`
  43619. if test "x${MINOR_VER}" = "x"; then :
  43620. MINOR_VER=0
  43621. fi
  43622. MICRO_VER=`echo $min_hdf5_version | sed 's/^\([0-9]*\)\.\{0,1\}\([0-9]*\)\.\{0,1\}\([0-9]*\).*/\3/'`
  43623. if test "x${MICRO_VER}" = "x"; then :
  43624. MICRO_VER=0
  43625. fi
  43626. succeeded=no
  43627. ac_ext=c
  43628. ac_cpp='$CPP $CPPFLAGS'
  43629. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43630. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43631. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  43632. if test "x${found_header}" = "xyes"; then :
  43633. min_version_succeeded=no
  43634. hdf5_has_cxx=no
  43635. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43636. /* end confdefs.h. */
  43637. #include <hdf5.h>
  43638. int
  43639. main ()
  43640. {
  43641. #if H5_VERS_MAJOR > $MAJOR_VER
  43642. /* Sweet nibblets */
  43643. #elif (H5_VERS_MAJOR >= $MAJOR_VER) && (H5_VERS_MINOR >= $MINOR_VER) && (H5_VERS_RELEASE >= $MICRO_VER)
  43644. /* Winner winner, chicken dinner */
  43645. #else
  43646. # error HDF5 version is too old
  43647. #endif
  43648. ;
  43649. return 0;
  43650. }
  43651. _ACEOF
  43652. if ac_fn_c_try_compile "$LINENO"; then :
  43653. min_version_succeeded=yes
  43654. else
  43655. min_version_succeeded=no
  43656. fi
  43657. rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  43658. ac_ext=c
  43659. ac_cpp='$CPP $CPPFLAGS'
  43660. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43661. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43662. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  43663. if test "x$min_version_succeeded" = "xno"; then :
  43664. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  43665. $as_echo "no" >&6; }
  43666. if test "x$is_package_required" = "xyes"; then :
  43667. as_fn_error $? "Your HDF5 library version does not meet the minimum version requirement (HDF5 >= $min_hdf5_version). Please use --with-hdf5 to specify the location of a valid installation." "$LINENO" 5
  43668. fi
  43669. else
  43670. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  43671. $as_echo "yes" >&6; }
  43672. fi
  43673. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for H5Fopen in -lhdf5" >&5
  43674. $as_echo_n "checking for H5Fopen in -lhdf5... " >&6; }
  43675. if ${ac_cv_lib_hdf5_H5Fopen+:} false; then :
  43676. $as_echo_n "(cached) " >&6
  43677. else
  43678. ac_check_lib_save_LIBS=$LIBS
  43679. LIBS="-lhdf5 $LIBS"
  43680. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43681. /* end confdefs.h. */
  43682. /* Override any GCC internal prototype to avoid an error.
  43683. Use char because int might match the return type of a GCC
  43684. builtin and then its argument prototype would still apply. */
  43685. #ifdef __cplusplus
  43686. extern "C"
  43687. #endif
  43688. char H5Fopen ();
  43689. int
  43690. main ()
  43691. {
  43692. return H5Fopen ();
  43693. ;
  43694. return 0;
  43695. }
  43696. _ACEOF
  43697. if ac_fn_c_try_link "$LINENO"; then :
  43698. ac_cv_lib_hdf5_H5Fopen=yes
  43699. else
  43700. ac_cv_lib_hdf5_H5Fopen=no
  43701. fi
  43702. rm -f core conftest.err conftest.$ac_objext \
  43703. conftest$ac_exeext conftest.$ac_ext
  43704. LIBS=$ac_check_lib_save_LIBS
  43705. fi
  43706. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hdf5_H5Fopen" >&5
  43707. $as_echo "$ac_cv_lib_hdf5_H5Fopen" >&6; }
  43708. if test "x$ac_cv_lib_hdf5_H5Fopen" = xyes; then :
  43709. found_library=yes
  43710. else
  43711. found_library=no
  43712. fi
  43713. ac_ext=cpp
  43714. ac_cpp='$CXXCPP $CPPFLAGS'
  43715. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43716. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43717. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  43718. { $as_echo "$as_me:${as_lineno-$LINENO}: checking If HDF5 C++ interface is present" >&5
  43719. $as_echo_n "checking If HDF5 C++ interface is present... " >&6; }
  43720. LIBS="${HDF5_LIBS} ${HDF5_CXXLIBS}"
  43721. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43722. /* end confdefs.h. */
  43723. #include <H5Cpp.h>
  43724. #ifndef H5_NO_NAMESPACE
  43725. using namespace H5;
  43726. #endif
  43727. int
  43728. main ()
  43729. {
  43730. H5std_string fname("test.h5");
  43731. H5File file (fname, H5F_ACC_TRUNC);
  43732. ;
  43733. return 0;
  43734. }
  43735. _ACEOF
  43736. if ac_fn_cxx_try_link "$LINENO"; then :
  43737. hdf5_has_cxx=yes
  43738. else
  43739. hdf5_has_cxx=no
  43740. fi
  43741. rm -f core conftest.err conftest.$ac_objext \
  43742. conftest$ac_exeext conftest.$ac_ext
  43743. ac_ext=c
  43744. ac_cpp='$CPP $CPPFLAGS'
  43745. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  43746. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  43747. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  43748. if test "x$hdf5_has_cxx" = "xyes"; then :
  43749. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  43750. $as_echo "yes" >&6; }
  43751. $as_echo "#define HAVE_HDF5_CXX 1" >>confdefs.h
  43752. else
  43753. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  43754. $as_echo "no" >&6; }
  43755. fi
  43756. succeeded=no
  43757. if test "x$found_header" = "xyes" && test "x$min_version_succeeded" = "xyes" && test "x$found_library" = "xyes"; then :
  43758. succeeded=yes
  43759. fi
  43760. fi
  43761. CFLAGS="$ac_HDF5_save_CFLAGS"
  43762. CPPFLAGS="$ac_HDF5_save_CPPFLAGS"
  43763. LDFLAGS="$ac_HDF5_save_LDFLAGS"
  43764. LIBS="$ac_HDF5_save_LIBS"
  43765. if test "x$succeeded" = "xno"; then :
  43766. if test "x$is_package_required" = "xyes"; then :
  43767. as_fn_error $? "HDF5 not found. Try either --with-hdf5 or setting HDF5_DIR." "$LINENO" 5
  43768. else
  43769. { $as_echo "$as_me:${as_lineno-$LINENO}: optional HDF5 library not found, or does not meet version requirements" >&5
  43770. $as_echo "$as_me: optional HDF5 library not found, or does not meet version requirements" >&6;}
  43771. fi
  43772. HDF5_CFLAGS=""
  43773. HDF5_CPPFLAGS=""
  43774. HDF5_LIBS=""
  43775. HDF5_FLIBS=""
  43776. HDF5_CXXLIBS=""
  43777. HDF5_PREFIX=""
  43778. else
  43779. HAVE_HDF5=1
  43780. $as_echo "#define HAVE_HDF5 1" >>confdefs.h
  43781. fi
  43782. fi
  43783. #AM_CONDITIONAL(HDF5_ENABLED,test x$HAVE_HDF5 = x1)
  43784. if test "x$HAVE_HDF5" = "x0"; then :
  43785. enablehdf5=no
  43786. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< HDF5 support not found or disabled >>>" >&5
  43787. $as_echo "<<< HDF5 support not found or disabled >>>" >&6; }
  43788. else
  43789. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with HDF5 support >>>" >&5
  43790. $as_echo "<<< Configuring library with HDF5 support >>>" >&6; }
  43791. fi
  43792. fi
  43793. if test $enablehdf5 = yes; then :
  43794. libmesh_optional_INCLUDES="$HDF5_CPPFLAGS $libmesh_optional_INCLUDES"
  43795. if test "$hdf5_has_cxx" = yes; then :
  43796. libmesh_optional_LIBS="$HDF5_CXXLIBS $libmesh_optional_LIBS"
  43797. fi
  43798. libmesh_optional_LIBS="$HDF5_LIBS $libmesh_optional_LIBS"
  43799. fi
  43800. if test x$enablehdf5 = xyes; then
  43801. LIBMESH_ENABLE_HDF5_TRUE=
  43802. LIBMESH_ENABLE_HDF5_FALSE='#'
  43803. else
  43804. LIBMESH_ENABLE_HDF5_TRUE='#'
  43805. LIBMESH_ENABLE_HDF5_FALSE=
  43806. fi
  43807. # --------------------------------------------------------------
  43808. # netCDF -- enabled by default (it is distributed in contrib)
  43809. # --------------------------------------------------------------
  43810. # Check whether --with-netcdf was given.
  43811. if test "${with_netcdf+set}" = set; then :
  43812. withval=$with_netcdf; withnetcdfinc=$withval
  43813. else
  43814. withnetcdfinc=no
  43815. fi
  43816. # Check whether --with-netcdf-lib was given.
  43817. if test "${with_netcdf_lib+set}" = set; then :
  43818. withval=$with_netcdf_lib; withnetcdflib=$withval
  43819. else
  43820. withnetcdflib=no
  43821. fi
  43822. # Check whether --enable-netcdf was given.
  43823. if test "${enable_netcdf+set}" = set; then :
  43824. enableval=$enable_netcdf; case "${enableval}" in #(
  43825. yes|new|v4) :
  43826. enablenetcdf=yes
  43827. netcdfmajor=4 ;; #(
  43828. old|v3) :
  43829. enablenetcdf=yes
  43830. netcdfmajor=3 ;; #(
  43831. no) :
  43832. enablenetcdf=no
  43833. netcdfmajor=no ;; #(
  43834. *) :
  43835. as_fn_error $? "bad value ${enableval} for --enable-netcdf" "$LINENO" 5 ;;
  43836. esac
  43837. else
  43838. enablenetcdf=$enableoptional; netcdfmajor=4
  43839. fi
  43840. # Check whether --enable-netcdf-required was given.
  43841. if test "${enable_netcdf_required+set}" = set; then :
  43842. enableval=$enable_netcdf_required; case "${enableval}" in #(
  43843. yes) :
  43844. netcdfrequired=yes ;; #(
  43845. no) :
  43846. netcdfrequired=no ;; #(
  43847. *) :
  43848. as_fn_error $? "bad value ${enableval} for --enable-netcdf-required" "$LINENO" 5 ;;
  43849. esac
  43850. else
  43851. netcdfrequired=no
  43852. fi
  43853. if test "$enablenetcdf" = "yes"; then :
  43854. if test "$withnetcdfinc" != "no"; then :
  43855. NETCDF_INC="$withnetcdfinc"
  43856. fi
  43857. if test "$withnetcdflib" != "no"; then :
  43858. NETCDF_LIB="$withnetcdflib"
  43859. fi
  43860. if test "x$NETCDF_DIR" = "x"; then :
  43861. NETCDF_DIR=${top_srcdir}/contrib/netcdf/v4
  43862. fi
  43863. NETCDF_LS_CHECK=$(dirname $(ls -d $NETCDF_DIR/include/netcdf.h 2>/dev/null | tail -n 1) 2>/dev/null)
  43864. if test "x$NETCDF_INC" = "x"; then :
  43865. if test "x$NETCDF_INCLUDE" != "x"; then :
  43866. if test -d $NETCDF_INCLUDE; then :
  43867. NETCDF_INC=$NETCDF_INCLUDE
  43868. fi
  43869. elif test -d $NETCDF_LS_CHECK; then :
  43870. NETCDF_INC=$NETCDF_LS_CHECK
  43871. elif test "x$NETCDF_DIR" != "x"; then :
  43872. NETCDF_INC=$NETCDF_DIR/include
  43873. else
  43874. NETCDF_INC="/usr/include"
  43875. fi
  43876. fi
  43877. if test "x$NETCDF_LIB" = "x"; then :
  43878. if test "x$NETCDF_DIR" != x; then :
  43879. NETCDF_LIB=$NETCDF_DIR/lib
  43880. else
  43881. NETCDF_LIB="/usr/lib"
  43882. fi
  43883. fi
  43884. netcdfincFound=no;
  43885. for ac_header in $NETCDF_INC/netcdf.h
  43886. do :
  43887. as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  43888. ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
  43889. if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
  43890. cat >>confdefs.h <<_ACEOF
  43891. #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  43892. _ACEOF
  43893. netcdfincFound=yes
  43894. fi
  43895. done
  43896. if test "$netcdfincFound" = "no"; then :
  43897. { $as_echo "$as_me:${as_lineno-$LINENO}: result: NETCDF header files not found!" >&5
  43898. $as_echo "NETCDF header files not found!" >&6; }
  43899. enablenetcdf=no;
  43900. fi
  43901. if test "x$enablenetcdf" = "xyes"; then :
  43902. if test -r $NETCDF_INC/netcdf_meta.h; then :
  43903. netcdfmajor=`grep "define NC_VERSION_MAJOR" /usr/include/netcdf_meta.h | sed -e "s/.*define NC_VERSION_MAJOR *\(.\) .*/\1/g"`
  43904. netcdfminor=`grep "define NC_VERSION_MINOR" /usr/include/netcdf_meta.h | sed -e "s/.*define NC_VERSION_MINOR *\(.\) .*/\1/g"`
  43905. netcdfpatch=`grep "define NC_VERSION_PATCH" /usr/include/netcdf_meta.h | sed -e "s/.*define NC_VERSION_PATCH *\(.\) .*/\1/g"`
  43906. fi
  43907. netcdfversion=$netcdfmajor.$netcdfminor.$netcdfpatch
  43908. netcdfmajorminor=$netcdfmajor.$netcdfminor
  43909. fi
  43910. if test "x$enablenetcdf" = "xno"; then :
  43911. netcdfmajor=no
  43912. fi
  43913. if test "x$netcdfmajor" = "x3"; then :
  43914. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Using netCDF 3.x is no longer supported, using version 4.x instead. >>>" >&5
  43915. $as_echo "<<< Using netCDF 3.x is no longer supported, using version 4.x instead. >>>" >&6; }
  43916. netcdfmajor=4
  43917. fi
  43918. case "${netcdfmajor}" in #(
  43919. 3) :
  43920. as_fn_error $? ">>> Error: netCDF3 is no longer distributed with libMesh <<<" "$LINENO" 5
  43921. ;; #(
  43922. 4) :
  43923. NETCDF_INCLUDE=$NETCDF_INC
  43924. old_LIBS="$LIBS"
  43925. old_CPPFLAGS="$CPPFLAGS"
  43926. NETCDF_INCLUDE="-I$NETCDF_INC"
  43927. # If this compiler supports -rpath commands, create a
  43928. # variable for them now that can be used in $LIBS below. We
  43929. # ran across an issue where GCC's linker actually needed
  43930. # -rpath flags in order to *link* a test program. From the
  43931. # man page for GNU ld:
  43932. # The -rpath option is also used when locating shared objects
  43933. # which are needed by shared objects explicitly included in
  43934. # the link; see the description of the -rpath-link option.
  43935. if test "x$RPATHFLAG" != "x" && test -d $NETCDF_LIB; then :
  43936. NETCDF_RPATH_FLAGS="${RPATHFLAG}${NETCDF_LIB}"
  43937. NETCDF_LIBRARY="${RPATHFLAG}${NETCDF_LIB} $NETCDF_LIBRARY"
  43938. else
  43939. NETCDF_LIBRARY="-L${NETCDF_LIB} -lnetcdf $NETCDF_LIBRARY"
  43940. fi
  43941. LIBS="$LIBS -lnetcdf -L/usr/lib"
  43942. CPPFLAGS="$CPPFLAGS -I/usr/include"
  43943. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  43944. /* end confdefs.h. */
  43945. #include "netcdf.h"
  43946. int
  43947. main ()
  43948. {
  43949. static int ncid;
  43950. nc_create("test.nc", NC_NETCDF4|NC_CLOBBER, &ncid);
  43951. ;
  43952. return 0;
  43953. }
  43954. _ACEOF
  43955. if ac_fn_c_try_link "$LINENO"; then :
  43956. $as_echo "#define HAVE_NETCDF 1" >>confdefs.h
  43957. else
  43958. as_fn_error $? "*** Linking a test program against the NETCDF libraries failed" "$LINENO" 5
  43959. fi
  43960. rm -f core conftest.err conftest.$ac_objext \
  43961. conftest$ac_exeext conftest.$ac_ext
  43962. if test "$NETCDF_INCLUDE" = "xno"; then :
  43963. as_fn_error $? "NetCDF v4 requires nested subpackages, try --enable-nested" "$LINENO" 5
  43964. fi
  43965. if test "x$enablehdf5" = "xno"; then :
  43966. libmesh_subpackage_arguments="$libmesh_subpackage_arguments --disable-netcdf-4"
  43967. fi
  43968. libmesh_pkgconfig_requires="netcdf >= 4.2 $libmesh_pkgconfig_requires"
  43969. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with NetCDF version $netcdfversion support >>>" >&5
  43970. $as_echo "<<< Configuring library with NetCDF version $netcdfversion support >>>" >&6; } ;; #(
  43971. *) :
  43972. NETCDF_INCLUDE=""
  43973. enablenetcdf=no
  43974. ;;
  43975. esac
  43976. if test "x$enablenested" = "xyes"; then :
  43977. if test "x$enablecurl" = "xyes"; then :
  43978. libmesh_subpackage_arguments="$libmesh_subpackage_arguments --enable-dap"
  43979. else
  43980. libmesh_subpackage_arguments="$libmesh_subpackage_arguments --disable-dap --disable-curl"
  43981. fi
  43982. libmesh_subpackage_arguments="$libmesh_subpackage_arguments --disable-testsets"
  43983. if test "$NETCDF_INC" = contrib/netcdf/v4/include; then :
  43984. subdirs="$subdirs"
  43985. fi
  43986. fi
  43987. fi
  43988. if test "$enablenetcdf" = "no" && test "$netcdfrequired" = "yes"; then :
  43989. as_fn_error 4 "*** NETCDF was not found, but --enable-netcdf-required was specified." "$LINENO" 5
  43990. fi
  43991. if test $enablenetcdf = yes; then :
  43992. libmesh_contrib_INCLUDES="$NETCDF_INCLUDE $libmesh_contrib_INCLUDES"
  43993. fi
  43994. if test x$enablenetcdf = xyes; then
  43995. LIBMESH_ENABLE_NETCDF_TRUE=
  43996. LIBMESH_ENABLE_NETCDF_FALSE='#'
  43997. else
  43998. LIBMESH_ENABLE_NETCDF_TRUE='#'
  43999. LIBMESH_ENABLE_NETCDF_FALSE=
  44000. fi
  44001. if test x$netcdfversion = x4; then
  44002. LIBMESH_ENABLE_NETCDF_V4_TRUE=
  44003. LIBMESH_ENABLE_NETCDF_V4_FALSE='#'
  44004. else
  44005. LIBMESH_ENABLE_NETCDF_V4_TRUE='#'
  44006. LIBMESH_ENABLE_NETCDF_V4_FALSE=
  44007. fi
  44008. # -------------------------------------------------------------
  44009. # ExodusII -- enabled by default (it is distributed in contrib)
  44010. # (note that ExodusII requires netCDF
  44011. # -------------------------------------------------------------
  44012. # Check whether --enable-exodus was given.
  44013. if test "${enable_exodus+set}" = set; then :
  44014. enableval=$enable_exodus; case "${enableval}" in #(
  44015. yes|new|v522) :
  44016. enableexodus=yes
  44017. exodusversion="v5.22" ;; #(
  44018. old|v509) :
  44019. enableexodus=yes
  44020. exodusversion="v5.09" ;; #(
  44021. no) :
  44022. enableexodus=no
  44023. exodusversion=no ;; #(
  44024. *) :
  44025. as_fn_error $? "bad value ${enableval} for --enable-exodus" "$LINENO" 5 ;;
  44026. esac
  44027. else
  44028. enableexodus=$enablenetcdf ; exodusversion="v5.22"
  44029. fi
  44030. if test "x$enableexodus" = "xno"; then :
  44031. exodusversion=no
  44032. fi
  44033. EXODUS_NOT_NETCDF4_FLAG=""
  44034. if test "x$enablehdf5" = "xno" || test "x$netcdfversion" = "x3"; then :
  44035. EXODUS_NOT_NETCDF4_FLAG="-DNOT_NETCDF4"
  44036. { $as_echo "$as_me:${as_lineno-$LINENO}: result: defining -DNOT_NETCDF4 for our Exodus build" >&5
  44037. $as_echo "defining -DNOT_NETCDF4 for our Exodus build" >&6; }
  44038. fi
  44039. case "${exodusversion}" in #(
  44040. "v5.09") :
  44041. EXODUS_INCLUDE="-I\$(top_srcdir)/contrib/exodusii/$exodusversion/include"
  44042. $as_echo "#define HAVE_EXODUS_API 1" >>confdefs.h
  44043. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Exodus version $exodusversion support >>>" >&5
  44044. $as_echo "<<< Configuring library with Exodus version $exodusversion support >>>" >&6; }
  44045. enableexodusfortran=no ;; #(
  44046. "v5.22") :
  44047. EXODUS_INCLUDE="-I\$(top_srcdir)/contrib/exodusii/$exodusversion/exodus/cbind/include"
  44048. $as_echo "#define HAVE_EXODUS_API 1" >>confdefs.h
  44049. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Exodus version $exodusversion support >>>" >&5
  44050. $as_echo "<<< Configuring library with Exodus version $exodusversion support >>>" >&6; }
  44051. # Check whether --enable-exodus-fortran was given.
  44052. if test "${enable_exodus_fortran+set}" = set; then :
  44053. enableval=$enable_exodus_fortran; case "${enableval}" in #(
  44054. yes) :
  44055. enableexodusfortran=yes ;; #(
  44056. no) :
  44057. enableexodusfortran=no ;; #(
  44058. *) :
  44059. as_fn_error $? "bad value ${enableval} for --enable-exodus-fortran" "$LINENO" 5 ;;
  44060. esac
  44061. else
  44062. enableexodusfortran=$enablefortran
  44063. fi
  44064. if test "x$enableexodusfortran" = "xyes"; then :
  44065. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Exodus Fortran API >>>" >&5
  44066. $as_echo "<<< Configuring library with Exodus Fortran API >>>" >&6; }
  44067. fi ;; #(
  44068. *) :
  44069. EXODUS_INCLUDE=""
  44070. enableexodus=no
  44071. enableexodusfortran=no
  44072. ;;
  44073. esac
  44074. ac_config_files="$ac_config_files contrib/exodusii/v5.09/Makefile"
  44075. ac_config_files="$ac_config_files contrib/exodusii/v5.22/exodus/Makefile"
  44076. if test x$enableexodusfortran = xyes; then
  44077. EXODUS_FORTRAN_API_TRUE=
  44078. EXODUS_FORTRAN_API_FALSE='#'
  44079. else
  44080. EXODUS_FORTRAN_API_TRUE='#'
  44081. EXODUS_FORTRAN_API_FALSE=
  44082. fi
  44083. if test $enableexodus = yes; then :
  44084. libmesh_contrib_INCLUDES="$EXODUS_INCLUDE $libmesh_contrib_INCLUDES"
  44085. fi
  44086. if test x$enableexodus = xyes; then
  44087. LIBMESH_ENABLE_EXODUS_TRUE=
  44088. LIBMESH_ENABLE_EXODUS_FALSE='#'
  44089. else
  44090. LIBMESH_ENABLE_EXODUS_TRUE='#'
  44091. LIBMESH_ENABLE_EXODUS_FALSE=
  44092. fi
  44093. if test x$exodusversion = xv5.09; then
  44094. LIBMESH_ENABLE_EXODUS_V509_TRUE=
  44095. LIBMESH_ENABLE_EXODUS_V509_FALSE='#'
  44096. else
  44097. LIBMESH_ENABLE_EXODUS_V509_TRUE='#'
  44098. LIBMESH_ENABLE_EXODUS_V509_FALSE=
  44099. fi
  44100. if test x$exodusversion = xv5.22; then
  44101. LIBMESH_ENABLE_EXODUS_V522_TRUE=
  44102. LIBMESH_ENABLE_EXODUS_V522_FALSE='#'
  44103. else
  44104. LIBMESH_ENABLE_EXODUS_V522_TRUE='#'
  44105. LIBMESH_ENABLE_EXODUS_V522_FALSE=
  44106. fi
  44107. # -------------------------------------------------------------
  44108. # Nemesis -- enabled by default (it is distributed in contrib)
  44109. # (note that Nemesis requires netCDF and exodus)
  44110. # -------------------------------------------------------------
  44111. # Check whether --enable-nemesis was given.
  44112. if test "${enable_nemesis+set}" = set; then :
  44113. enableval=$enable_nemesis; case "${enableval}" in #(
  44114. yes|new|v522) :
  44115. enablenemesis=yes ; nemesisversion="v5.22" ;; #(
  44116. old|v309) :
  44117. enablenemesis=yes ; nemesisversion="v3.09" ;; #(
  44118. no) :
  44119. enablenemesis=no ; nemesisversion=no ;; #(
  44120. *) :
  44121. as_fn_error $? "bad value ${enableval} for --enable-nemesis" "$LINENO" 5 ;;
  44122. esac
  44123. else
  44124. # if unspecified, depend on exodus
  44125. enablenemesis=$enableexodus ;
  44126. if test "x$exodusversion" = "xv5.22"; then :
  44127. nemesisversion="v5.22"
  44128. else
  44129. nemesisversion="v3.09"
  44130. fi
  44131. fi
  44132. # Trump --enable-nemesis with --disable-mpi
  44133. if test "x$enablempi" = xno; then :
  44134. nemesisversion=no
  44135. fi
  44136. case "${nemesisversion}" in #(
  44137. "v3.09") :
  44138. NEMESIS_INCLUDE="-I\$(top_srcdir)/contrib/nemesis/$nemesisversion"
  44139. $as_echo "#define HAVE_NEMESIS_API 1" >>confdefs.h
  44140. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Nemesis version $nemesisversion support >>>" >&5
  44141. $as_echo "<<< Configuring library with Nemesis version $nemesisversion support >>>" >&6; }
  44142. ;; #(
  44143. "v5.22") :
  44144. NEMESIS_INCLUDE="-I\$(top_srcdir)/contrib/nemesis/$nemesisversion/nemesis"
  44145. $as_echo "#define HAVE_NEMESIS_API 1" >>confdefs.h
  44146. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Nemesis version $nemesisversion support >>>" >&5
  44147. $as_echo "<<< Configuring library with Nemesis version $nemesisversion support >>>" >&6; }
  44148. ;; #(
  44149. *) :
  44150. NEMESIS_INCLUDE=""
  44151. enablenemesis=no
  44152. ;;
  44153. esac
  44154. ac_config_files="$ac_config_files contrib/nemesis/v3.09/Makefile"
  44155. ac_config_files="$ac_config_files contrib/nemesis/v5.22/nemesis/Makefile"
  44156. if test $enablenemesis = yes; then :
  44157. libmesh_contrib_INCLUDES="$NEMESIS_INCLUDE $libmesh_contrib_INCLUDES"
  44158. fi
  44159. if test x$enablenemesis = xyes; then
  44160. LIBMESH_ENABLE_NEMESIS_TRUE=
  44161. LIBMESH_ENABLE_NEMESIS_FALSE='#'
  44162. else
  44163. LIBMESH_ENABLE_NEMESIS_TRUE='#'
  44164. LIBMESH_ENABLE_NEMESIS_FALSE=
  44165. fi
  44166. if test x$nemesisversion = xv3.09; then
  44167. LIBMESH_ENABLE_NEMESIS_V309_TRUE=
  44168. LIBMESH_ENABLE_NEMESIS_V309_FALSE='#'
  44169. else
  44170. LIBMESH_ENABLE_NEMESIS_V309_TRUE='#'
  44171. LIBMESH_ENABLE_NEMESIS_V309_FALSE=
  44172. fi
  44173. if test x$nemesisversion = xv5.22; then
  44174. LIBMESH_ENABLE_NEMESIS_V522_TRUE=
  44175. LIBMESH_ENABLE_NEMESIS_V522_FALSE='#'
  44176. else
  44177. LIBMESH_ENABLE_NEMESIS_V522_TRUE='#'
  44178. LIBMESH_ENABLE_NEMESIS_V522_FALSE=
  44179. fi
  44180. # -------------------------------------------------------------
  44181. # libHilbert -- distributed in ./contrib,
  44182. # enabled by default
  44183. # -------------------------------------------------------------
  44184. # Check whether --enable-libHilbert was given.
  44185. if test "${enable_libHilbert+set}" = set; then :
  44186. enableval=$enable_libHilbert; case "${enableval}" in #(
  44187. yes) :
  44188. enablelibhilbert=yes ;; #(
  44189. no) :
  44190. enablelibhilbert=no ;; #(
  44191. *) :
  44192. as_fn_error $? "bad value ${enableval} for --enable-libHilbert" "$LINENO" 5 ;;
  44193. esac
  44194. else
  44195. enablelibhilbert=$enableoptional
  44196. fi
  44197. if test "x$enablelibhilbert" = "xyes"; then :
  44198. LIBHILBERT_INCLUDE="-I\$(top_srcdir)/contrib/libHilbert/include"
  44199. LIBHILBERT_LIBRARY="\$(EXTERNAL_LIBDIR)/libHilbert\$(libext)"
  44200. $as_echo "#define HAVE_LIBHILBERT 1" >>confdefs.h
  44201. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with libHilbert support >>>" >&5
  44202. $as_echo "<<< Configuring library with libHilbert support >>>" >&6; }
  44203. else
  44204. LIBHILBERT_INCLUDE=""
  44205. LIBHILBERT_LIBRARY=""
  44206. enablelibhilbert=no
  44207. fi
  44208. if test $enablelibhilbert = yes; then :
  44209. libmesh_contrib_INCLUDES="$LIBHILBERT_INCLUDE $libmesh_contrib_INCLUDES"
  44210. fi
  44211. if test x$enablelibhilbert = xyes; then
  44212. LIBMESH_ENABLE_LIBHILBERT_TRUE=
  44213. LIBMESH_ENABLE_LIBHILBERT_FALSE='#'
  44214. else
  44215. LIBMESH_ENABLE_LIBHILBERT_TRUE='#'
  44216. LIBMESH_ENABLE_LIBHILBERT_FALSE=
  44217. fi
  44218. ac_config_files="$ac_config_files contrib/libHilbert/Makefile"
  44219. # -------------------------------------------------------------
  44220. # -------------------------------------------------------------
  44221. # fparser -- distributed in ./contrib,
  44222. # enabled by default
  44223. # -------------------------------------------------------------
  44224. # Check whether --enable-fparser was given.
  44225. if test "${enable_fparser+set}" = set; then :
  44226. enableval=$enable_fparser; case "${enableval}" in #(
  44227. yes) :
  44228. enablefparser=yes ;; #(
  44229. no) :
  44230. enablefparser=no ;; #(
  44231. *) :
  44232. as_fn_error $? "bad value ${enableval} for --enable-fparser" "$LINENO" 5 ;;
  44233. esac
  44234. else
  44235. enablefparser=$enableoptional
  44236. fi
  44237. # Check whether --with-fparser was given.
  44238. if test "${with_fparser+set}" = set; then :
  44239. withval=$with_fparser; case "${withval}" in #(
  44240. release) :
  44241. enablefparserdevel=no ;; #(
  44242. devel) :
  44243. enablefparserdevel=yes ;; #(
  44244. none) :
  44245. enablefparser=no ;; #(
  44246. *) :
  44247. as_fn_error $? "bad value ${withval} for --with-fparser" "$LINENO" 5 ;;
  44248. esac
  44249. else
  44250. enablefparserdevel=no
  44251. fi
  44252. if test "x$enablefparser" = "xyes"; then :
  44253. # Check whether --enable-fparser-debugging was given.
  44254. if test "${enable_fparser_debugging+set}" = set; then :
  44255. enableval=$enable_fparser_debugging; case "${enableval}" in #(
  44256. yes) :
  44257. enablefparserdebugging=yes ;; #(
  44258. no) :
  44259. enablefparserdebugging=no ;; #(
  44260. *) :
  44261. as_fn_error $? "bad value ${enableval} for --enable-fparser-debugging" "$LINENO" 5 ;;
  44262. esac
  44263. else
  44264. enablefparserdebugging=no
  44265. fi
  44266. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
  44267. $as_echo_n "checking for a sed that does not truncate output... " >&6; }
  44268. if ${ac_cv_path_SED+:} false; then :
  44269. $as_echo_n "(cached) " >&6
  44270. else
  44271. ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
  44272. for ac_i in 1 2 3 4 5 6 7; do
  44273. ac_script="$ac_script$as_nl$ac_script"
  44274. done
  44275. echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
  44276. { ac_script=; unset ac_script;}
  44277. if test -z "$SED"; then
  44278. ac_path_SED_found=false
  44279. # Loop through the user's path and test for each of PROGNAME-LIST
  44280. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  44281. for as_dir in $PATH
  44282. do
  44283. IFS=$as_save_IFS
  44284. test -z "$as_dir" && as_dir=.
  44285. for ac_prog in sed gsed; do
  44286. for ac_exec_ext in '' $ac_executable_extensions; do
  44287. ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
  44288. as_fn_executable_p "$ac_path_SED" || continue
  44289. # Check for GNU ac_path_SED and select it if it is found.
  44290. # Check for GNU $ac_path_SED
  44291. case `"$ac_path_SED" --version 2>&1` in
  44292. *GNU*)
  44293. ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
  44294. *)
  44295. ac_count=0
  44296. $as_echo_n 0123456789 >"conftest.in"
  44297. while :
  44298. do
  44299. cat "conftest.in" "conftest.in" >"conftest.tmp"
  44300. mv "conftest.tmp" "conftest.in"
  44301. cp "conftest.in" "conftest.nl"
  44302. $as_echo '' >> "conftest.nl"
  44303. "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
  44304. diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
  44305. as_fn_arith $ac_count + 1 && ac_count=$as_val
  44306. if test $ac_count -gt ${ac_path_SED_max-0}; then
  44307. # Best one so far, save it but keep looking for a better one
  44308. ac_cv_path_SED="$ac_path_SED"
  44309. ac_path_SED_max=$ac_count
  44310. fi
  44311. # 10*(2^10) chars as input seems more than enough
  44312. test $ac_count -gt 10 && break
  44313. done
  44314. rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
  44315. esac
  44316. $ac_path_SED_found && break 3
  44317. done
  44318. done
  44319. done
  44320. IFS=$as_save_IFS
  44321. if test -z "$ac_cv_path_SED"; then
  44322. as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
  44323. fi
  44324. else
  44325. ac_cv_path_SED=$SED
  44326. fi
  44327. fi
  44328. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
  44329. $as_echo "$ac_cv_path_SED" >&6; }
  44330. SED="$ac_cv_path_SED"
  44331. rm -f conftest.sed
  44332. for ac_prog in 'bison -y' byacc
  44333. do
  44334. # Extract the first word of "$ac_prog", so it can be a program name with args.
  44335. set dummy $ac_prog; ac_word=$2
  44336. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  44337. $as_echo_n "checking for $ac_word... " >&6; }
  44338. if ${ac_cv_prog_YACC+:} false; then :
  44339. $as_echo_n "(cached) " >&6
  44340. else
  44341. if test -n "$YACC"; then
  44342. ac_cv_prog_YACC="$YACC" # Let the user override the test.
  44343. else
  44344. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  44345. for as_dir in $PATH
  44346. do
  44347. IFS=$as_save_IFS
  44348. test -z "$as_dir" && as_dir=.
  44349. for ac_exec_ext in '' $ac_executable_extensions; do
  44350. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  44351. ac_cv_prog_YACC="$ac_prog"
  44352. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  44353. break 2
  44354. fi
  44355. done
  44356. done
  44357. IFS=$as_save_IFS
  44358. fi
  44359. fi
  44360. YACC=$ac_cv_prog_YACC
  44361. if test -n "$YACC"; then
  44362. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
  44363. $as_echo "$YACC" >&6; }
  44364. else
  44365. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  44366. $as_echo "no" >&6; }
  44367. fi
  44368. test -n "$YACC" && break
  44369. done
  44370. test -n "$YACC" || YACC="yacc"
  44371. FPARSER_INCLUDE="-I\$(top_srcdir)/contrib/fparser"
  44372. FPARSER_LIBRARY="\$(EXTERNAL_LIBDIR)/libfparser\$(libext)"
  44373. $as_echo "#define HAVE_FPARSER 1" >>confdefs.h
  44374. if test "x$enablefparserdevel" = "xyes"; then :
  44375. $as_echo "#define HAVE_FPARSER_DEVEL 1" >>confdefs.h
  44376. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with fparser support (development version) >>>" >&5
  44377. $as_echo "<<< Configuring library with fparser support (development version) >>>" >&6; }
  44378. else
  44379. $as_echo "#define HAVE_FPARSER_DEVEL 0" >>confdefs.h
  44380. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with fparser support (release version) >>>" >&5
  44381. $as_echo "<<< Configuring library with fparser support (release version) >>>" >&6; }
  44382. fi
  44383. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen support" >&5
  44384. $as_echo_n "checking for dlopen support... " >&6; }
  44385. if ${ac_cv_cxx_dlopen+:} false; then :
  44386. $as_echo_n "(cached) " >&6
  44387. else
  44388. ac_cv_cxx_dlopen=no
  44389. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
  44390. $as_echo_n "checking for library containing dlopen... " >&6; }
  44391. if ${ac_cv_search_dlopen+:} false; then :
  44392. $as_echo_n "(cached) " >&6
  44393. else
  44394. ac_func_search_save_LIBS=$LIBS
  44395. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  44396. /* end confdefs.h. */
  44397. /* Override any GCC internal prototype to avoid an error.
  44398. Use char because int might match the return type of a GCC
  44399. builtin and then its argument prototype would still apply. */
  44400. #ifdef __cplusplus
  44401. extern "C"
  44402. #endif
  44403. char dlopen ();
  44404. int
  44405. main ()
  44406. {
  44407. return dlopen ();
  44408. ;
  44409. return 0;
  44410. }
  44411. _ACEOF
  44412. for ac_lib in '' dl dld; do
  44413. if test -z "$ac_lib"; then
  44414. ac_res="none required"
  44415. else
  44416. ac_res=-l$ac_lib
  44417. LIBS="-l$ac_lib $ac_func_search_save_LIBS"
  44418. fi
  44419. if ac_fn_c_try_link "$LINENO"; then :
  44420. ac_cv_search_dlopen=$ac_res
  44421. fi
  44422. rm -f core conftest.err conftest.$ac_objext \
  44423. conftest$ac_exeext
  44424. if ${ac_cv_search_dlopen+:} false; then :
  44425. break
  44426. fi
  44427. done
  44428. if ${ac_cv_search_dlopen+:} false; then :
  44429. else
  44430. ac_cv_search_dlopen=no
  44431. fi
  44432. rm conftest.$ac_ext
  44433. LIBS=$ac_func_search_save_LIBS
  44434. fi
  44435. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
  44436. $as_echo "$ac_cv_search_dlopen" >&6; }
  44437. ac_res=$ac_cv_search_dlopen
  44438. if test "$ac_res" != no; then :
  44439. test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
  44440. ac_cv_cxx_dlopen=yes
  44441. else
  44442. ac_cv_cxx_dlopen=no
  44443. fi
  44444. if test "x$enableallstatic" = "xyes"; then :
  44445. ac_cv_cxx_dlopen=no
  44446. fi
  44447. if test "x$ac_cv_cxx_dlopen" = "xyes"; then :
  44448. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the c++ compiler supports dlopen/dlsym/dlclose" >&5
  44449. $as_echo_n "checking whether the c++ compiler supports dlopen/dlsym/dlclose... " >&6; }
  44450. ac_ext=cpp
  44451. ac_cpp='$CXXCPP $CPPFLAGS'
  44452. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  44453. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  44454. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  44455. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  44456. /* end confdefs.h. */
  44457. #include <stddef.h> // NULL
  44458. #include <dlfcn.h>
  44459. int
  44460. main ()
  44461. {
  44462. // Try all possible ways of naming libraries. dlopen() will search
  44463. // in system-dependent paths if these names do not contain forward
  44464. // slashes.
  44465. const unsigned n_names = 2;
  44466. const char * lib_namesn_names = {"libm.so", "libm.dylib"};
  44467. // To catch the output of dlopen
  44468. void * handle = NULL;
  44469. for (unsigned i=0; i<n_names; ++i)
  44470. {
  44471. // Math library, surely every system has it?
  44472. handle = dlopen(lib_namesi, RTLD_LAZY);
  44473. if (handle)
  44474. break;
  44475. }
  44476. if (!handle)
  44477. return 1;
  44478. // dlsym() returns the address of the code or data location
  44479. // specified by the null-terminated character string symbol.
  44480. void * address = dlsym(handle, "cos");
  44481. if (!address)
  44482. return 1;
  44483. /* int closed_ok = */ dlclose(handle);
  44484. return 0;
  44485. ;
  44486. return 0;
  44487. }
  44488. _ACEOF
  44489. if ac_fn_cxx_try_link "$LINENO"; then :
  44490. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  44491. $as_echo "yes" >&6; }
  44492. ac_cv_cxx_dlopen=yes
  44493. else
  44494. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  44495. $as_echo "no" >&6; }
  44496. ac_cv_cxx_dlopen=no
  44497. fi
  44498. rm -f core conftest.err conftest.$ac_objext \
  44499. conftest$ac_exeext conftest.$ac_ext
  44500. ac_ext=c
  44501. ac_cpp='$CPP $CPPFLAGS'
  44502. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  44503. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  44504. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  44505. fi
  44506. fi
  44507. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_dlopen" >&5
  44508. $as_echo "$ac_cv_cxx_dlopen" >&6; }
  44509. if test "x$ac_cv_cxx_dlopen" = "xyes"; then :
  44510. $as_echo "#define HAVE_FPARSER_JIT 1" >>confdefs.h
  44511. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with fparser JIT compilation support >>>" >&5
  44512. $as_echo "<<< Configuring library with fparser JIT compilation support >>>" >&6; }
  44513. enablefparserjit=yes
  44514. else
  44515. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< dlopen() not found" >&5
  44516. $as_echo "<<< dlopen() not found" >&6; }
  44517. enablefparserjit=no
  44518. fi
  44519. if test "x$enablefparserdebugging" = "xyes"; then :
  44520. $as_echo "#define FPARSER_SUPPORT_DEBUGGING 1" >>confdefs.h
  44521. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with fparser debugging functions >>>" >&5
  44522. $as_echo "<<< Configuring library with fparser debugging functions >>>" >&6; }
  44523. fi
  44524. else
  44525. FPARSER_INCLUDE=""
  44526. FPARSER_LIBRARY=""
  44527. enablefparser=no
  44528. fi
  44529. if test x$enablefparserdevel = xno; then
  44530. FPARSER_RELEASE_TRUE=
  44531. FPARSER_RELEASE_FALSE='#'
  44532. else
  44533. FPARSER_RELEASE_TRUE='#'
  44534. FPARSER_RELEASE_FALSE=
  44535. fi
  44536. if test x$enablefparserdevel = xyes; then
  44537. FPARSER_DEVEL_TRUE=
  44538. FPARSER_DEVEL_FALSE='#'
  44539. else
  44540. FPARSER_DEVEL_TRUE='#'
  44541. FPARSER_DEVEL_FALSE=
  44542. fi
  44543. if test x$enablefparserdebugging = xyes; then
  44544. FPARSER_SUPPORT_DEBUGGING_TRUE=
  44545. FPARSER_SUPPORT_DEBUGGING_FALSE='#'
  44546. else
  44547. FPARSER_SUPPORT_DEBUGGING_TRUE='#'
  44548. FPARSER_SUPPORT_DEBUGGING_FALSE=
  44549. fi
  44550. if test x$enablefparserjit = xyes; then
  44551. FPARSER_SUPPORT_JIT_TRUE=
  44552. FPARSER_SUPPORT_JIT_FALSE='#'
  44553. else
  44554. FPARSER_SUPPORT_JIT_TRUE='#'
  44555. FPARSER_SUPPORT_JIT_FALSE=
  44556. fi
  44557. if test "$GXX" = "yes" && test "x$REAL_GXX" != "x"; then
  44558. FPARSER_NO_PSABI_TRUE=
  44559. FPARSER_NO_PSABI_FALSE='#'
  44560. else
  44561. FPARSER_NO_PSABI_TRUE='#'
  44562. FPARSER_NO_PSABI_FALSE=
  44563. fi
  44564. if test $enablefparser = yes; then :
  44565. libmesh_contrib_INCLUDES="$FPARSER_INCLUDE $libmesh_contrib_INCLUDES"
  44566. fi
  44567. if test x$enablefparser = xyes; then
  44568. LIBMESH_ENABLE_FPARSER_TRUE=
  44569. LIBMESH_ENABLE_FPARSER_FALSE='#'
  44570. else
  44571. LIBMESH_ENABLE_FPARSER_TRUE='#'
  44572. LIBMESH_ENABLE_FPARSER_FALSE=
  44573. fi
  44574. ac_config_files="$ac_config_files contrib/fparser/Makefile"
  44575. ac_config_files="$ac_config_files contrib/fparser/extrasrc/Makefile"
  44576. # -------------------------------------------------------------
  44577. # -------------------------------------------------------------
  44578. # cppunit C++ unit testing -- enabled by default
  44579. # -------------------------------------------------------------
  44580. # Check whether --enable-cppunit was given.
  44581. if test "${enable_cppunit+set}" = set; then :
  44582. enableval=$enable_cppunit; case "${enableval}" in #(
  44583. yes) :
  44584. enablecppunit=yes ;; #(
  44585. no) :
  44586. enablecppunit=no ;; #(
  44587. *) :
  44588. as_fn_error $? "bad value ${enableval} for --enable-cppunit" "$LINENO" 5 ;;
  44589. esac
  44590. else
  44591. enablecppunit=yes
  44592. fi
  44593. if test "$enablecppunit" = yes; then :
  44594. CPPUNIT_CFLAGS=
  44595. CPPUNIT_LIBS=-lcppunit
  44596. # Extract the first word of "cppunit-config", so it can be a program name with args.
  44597. set dummy cppunit-config; ac_word=$2
  44598. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  44599. $as_echo_n "checking for $ac_word... " >&6; }
  44600. if ${ac_cv_prog_CPPUNIT_CONFIG+:} false; then :
  44601. $as_echo_n "(cached) " >&6
  44602. else
  44603. if test -n "$CPPUNIT_CONFIG"; then
  44604. ac_cv_prog_CPPUNIT_CONFIG="$CPPUNIT_CONFIG" # Let the user override the test.
  44605. else
  44606. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  44607. for as_dir in $PATH
  44608. do
  44609. IFS=$as_save_IFS
  44610. test -z "$as_dir" && as_dir=.
  44611. for ac_exec_ext in '' $ac_executable_extensions; do
  44612. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  44613. ac_cv_prog_CPPUNIT_CONFIG="cppunit-config"
  44614. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  44615. break 2
  44616. fi
  44617. done
  44618. done
  44619. IFS=$as_save_IFS
  44620. test -z "$ac_cv_prog_CPPUNIT_CONFIG" && ac_cv_prog_CPPUNIT_CONFIG="none"
  44621. fi
  44622. fi
  44623. CPPUNIT_CONFIG=$ac_cv_prog_CPPUNIT_CONFIG
  44624. if test -n "$CPPUNIT_CONFIG"; then
  44625. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPPUNIT_CONFIG" >&5
  44626. $as_echo "$CPPUNIT_CONFIG" >&6; }
  44627. else
  44628. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  44629. $as_echo "no" >&6; }
  44630. fi
  44631. if test "x$CPPUNIT_CONFIG" = "xcppunit-config"; then :
  44632. CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`
  44633. CPPUNIT_LIBS=`$CPPUNIT_CONFIG --libs`
  44634. fi
  44635. # Check whether --with-cppunit-include was given.
  44636. if test "${with_cppunit_include+set}" = set; then :
  44637. withval=$with_cppunit_include; CPPUNIT_CFLAGS="-I$withval"
  44638. fi
  44639. # Check whether --with-cppunit-lib was given.
  44640. if test "${with_cppunit_lib+set}" = set; then :
  44641. withval=$with_cppunit_lib; CPPUNIT_LIBS="-L$withval -lcppunit"
  44642. fi
  44643. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a trivial CppUnit program" >&5
  44644. $as_echo_n "checking whether we can build a trivial CppUnit program... " >&6; }
  44645. ac_ext=cpp
  44646. ac_cpp='$CXXCPP $CPPFLAGS'
  44647. ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  44648. ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  44649. ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
  44650. saveCXXFLAGS="$CXXFLAGS"
  44651. CXXFLAGS="$saveCXXFLAGS $CPPUNIT_CFLAGS"
  44652. saveLIBS="$LIBS"
  44653. LIBS="$CPPUNIT_LIBS $saveLIBS"
  44654. cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  44655. /* end confdefs.h. */
  44656. #include <cppunit/ui/text/TestRunner.h>
  44657. int main(int argc, char **argv)
  44658. {
  44659. CppUnit::TextUi::TestRunner runner;
  44660. if (runner.run())
  44661. return 0;
  44662. return 1;
  44663. }
  44664. _ACEOF
  44665. if ac_fn_cxx_try_link "$LINENO"; then :
  44666. { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  44667. $as_echo "yes" >&6; }
  44668. else
  44669. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  44670. $as_echo "no" >&6; }
  44671. CPPUNIT_CFLAGS=
  44672. CPPUNIT_LIBS=
  44673. enablecppunit=no
  44674. fi
  44675. rm -f core conftest.err conftest.$ac_objext \
  44676. conftest$ac_exeext conftest.$ac_ext
  44677. ac_ext=c
  44678. ac_cpp='$CPP $CPPFLAGS'
  44679. ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  44680. ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
  44681. ac_compiler_gnu=$ac_cv_c_compiler_gnu
  44682. LIBS="$saveLIBS"
  44683. CXXFLAGS="$saveCXXFLAGS"
  44684. fi
  44685. if test x$enablecppunit = xyes; then
  44686. LIBMESH_ENABLE_CPPUNIT_TRUE=
  44687. LIBMESH_ENABLE_CPPUNIT_FALSE='#'
  44688. else
  44689. LIBMESH_ENABLE_CPPUNIT_TRUE='#'
  44690. LIBMESH_ENABLE_CPPUNIT_FALSE=
  44691. fi
  44692. # -------------------------------------------------------------
  44693. # -------------------------------------------------------------
  44694. # nanoflann -- enabled by default
  44695. # -------------------------------------------------------------
  44696. # Check whether --enable-nanoflann was given.
  44697. if test "${enable_nanoflann+set}" = set; then :
  44698. enableval=$enable_nanoflann; case "${enableval}" in #(
  44699. yes) :
  44700. enablenanoflann=yes ;; #(
  44701. no) :
  44702. enablenanoflann=no ;; #(
  44703. *) :
  44704. as_fn_error $? "bad value ${enableval} for --enable-nanoflann" "$LINENO" 5 ;;
  44705. esac
  44706. else
  44707. enablenanoflann=$enableoptional
  44708. fi
  44709. # Check whether --enable-nanoflann-pointlocator was given.
  44710. if test "${enable_nanoflann_pointlocator+set}" = set; then :
  44711. enableval=$enable_nanoflann_pointlocator; case "${enableval}" in #(
  44712. yes) :
  44713. enablenanoflannpointlocator=yes ;; #(
  44714. no) :
  44715. enablenanoflannpointlocator=no ;; #(
  44716. *) :
  44717. as_fn_error $? "bad value ${enableval} for --enable-nanoflann-pointlocator" "$LINENO" 5 ;;
  44718. esac
  44719. else
  44720. enablenanoflannpointlocator=no
  44721. fi
  44722. if test "x$enablenanoflann" = "xyes"; then :
  44723. NANOFLANN_INCLUDE="-I\$(top_srcdir)/contrib/nanoflann/include"
  44724. $as_echo "#define HAVE_NANOFLANN 1" >>confdefs.h
  44725. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with nanoflann KDtree support >>>" >&5
  44726. $as_echo "<<< Configuring library with nanoflann KDtree support >>>" >&6; }
  44727. if test "x$enablenanoflannpointlocator" = "xyes"; then :
  44728. $as_echo "#define ENABLE_NANOFLANN_POINTLOCATOR 1" >>confdefs.h
  44729. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with Nanoflann-based PointLocator >>>" >&5
  44730. $as_echo "<<< Configuring library with Nanoflann-based PointLocator >>>" >&6; }
  44731. fi
  44732. else
  44733. NANOFLANN_INCLUDE=""
  44734. enablenanoflann=no
  44735. fi
  44736. if test $enablenanoflann = yes; then :
  44737. libmesh_contrib_INCLUDES="$NANOFLANN_INCLUDE $libmesh_contrib_INCLUDES"
  44738. fi
  44739. if test x$enablenanoflann = xyes; then
  44740. LIBMESH_ENABLE_NANOFLANN_TRUE=
  44741. LIBMESH_ENABLE_NANOFLANN_FALSE='#'
  44742. else
  44743. LIBMESH_ENABLE_NANOFLANN_TRUE='#'
  44744. LIBMESH_ENABLE_NANOFLANN_FALSE=
  44745. fi
  44746. ac_config_files="$ac_config_files contrib/nanoflann/Makefile"
  44747. # -------------------------------------------------------------
  44748. # -------------------------------------------------------------
  44749. # MetaPhysicL -- enabled by default
  44750. # -------------------------------------------------------------
  44751. # Check whether --enable-metaphysicl was given.
  44752. if test "${enable_metaphysicl+set}" = set; then :
  44753. enableval=$enable_metaphysicl; case "${enableval}" in #(
  44754. yes) :
  44755. enablemetaphysicl=yes ;; #(
  44756. no) :
  44757. enablemetaphysicl=no ;; #(
  44758. *) :
  44759. as_fn_error $? "bad value ${enableval} for --enable-metaphysicl" "$LINENO" 5 ;;
  44760. esac
  44761. else
  44762. enablemetaphysicl=$enablenested
  44763. fi
  44764. # Check whether --enable-metaphysicl-required was given.
  44765. if test "${enable_metaphysicl_required+set}" = set; then :
  44766. enableval=$enable_metaphysicl_required; case "${enableval}" in #(
  44767. yes) :
  44768. metaphysiclrequired=yes ;; #(
  44769. no) :
  44770. metaphysiclrequired=no ;; #(
  44771. *) :
  44772. as_fn_error $? "bad value ${enableval} for --enable-metaphysicl-required" "$LINENO" 5 ;;
  44773. esac
  44774. else
  44775. metaphysiclrequired=no
  44776. fi
  44777. if test "x$enablemetaphysicl" = "xno" && test "x$metaphysiclrequired" = "xyes"; then :
  44778. enablemetaphysicl=yes
  44779. fi
  44780. if test "x$enablemetaphysicl" = "xyes" && test -r $top_srcdir/contrib/metaphysicl/README; then :
  44781. enablemetaphysicl=yes
  44782. else
  44783. { $as_echo "$as_me:${as_lineno-$LINENO}: result: >>> Configuring metaphysicl failed, you may need to run 'git submodule update --init' first <<<" >&5
  44784. $as_echo ">>> Configuring metaphysicl failed, you may need to run 'git submodule update --init' first <<<" >&6; }
  44785. enablemetaphysicl=no
  44786. fi
  44787. if test "x$enablemetaphysicl" = "xno" && test "x$metaphysiclrequired" = "xyes"; then :
  44788. as_fn_error 5 "*** MetaPhysicL was not found, but --enable-metaphysicl-required was specified." "$LINENO" 5
  44789. fi
  44790. if test "x$enablemetaphysicl" = "xyes"; then :
  44791. METAPHYSICL_INCLUDE="-I\$(top_srcdir)/contrib/metaphysicl/src/numerics/include -I\$(top_srcdir)/contrib/metaphysicl/src/core/include -I\$(top_srcdir)/contrib/metaphysicl/src/utilities/include"
  44792. $as_echo "#define HAVE_METAPHYSICL 1" >>confdefs.h
  44793. { $as_echo "$as_me:${as_lineno-$LINENO}: result: <<< Configuring library with MetaPhysicL support >>>" >&5
  44794. $as_echo "<<< Configuring library with MetaPhysicL support >>>" >&6; }
  44795. # Various preliminary checks.
  44796. ax_dir="contrib/metaphysicl"
  44797. # Do not complain, so a configure script can configure whichever parts of a
  44798. # large source tree are present.
  44799. if test -d "$srcdir/$ax_dir"; then
  44800. ac_builddir=.
  44801. case "$ax_dir" in
  44802. .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
  44803. *)
  44804. ac_dir_suffix=/`$as_echo "$ax_dir" | sed 's|^\.[\\/]||'`
  44805. # A ".." for each directory in $ac_dir_suffix.
  44806. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  44807. case $ac_top_builddir_sub in
  44808. "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  44809. *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  44810. esac ;;
  44811. esac
  44812. ac_abs_top_builddir=$ac_pwd
  44813. ac_abs_builddir=$ac_pwd$ac_dir_suffix
  44814. # for backward compatibility:
  44815. ac_top_builddir=$ac_top_build_prefix
  44816. case $srcdir in
  44817. .) # We are building in place.
  44818. ac_srcdir=.
  44819. ac_top_srcdir=$ac_top_builddir_sub
  44820. ac_abs_top_srcdir=$ac_pwd ;;
  44821. [\\/]* | ?:[\\/]* ) # Absolute name.
  44822. ac_srcdir=$srcdir$ac_dir_suffix;
  44823. ac_top_srcdir=$srcdir
  44824. ac_abs_top_srcdir=$srcdir ;;
  44825. *) # Relative name.
  44826. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
  44827. ac_top_srcdir=$ac_top_build_prefix$srcdir
  44828. ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
  44829. esac
  44830. ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
  44831. # Remove --cache-file, --srcdir, and --disable-option-checking arguments
  44832. # so they do not pile up.
  44833. ax_args=
  44834. ax_prev=
  44835. eval "set x $ac_configure_args"
  44836. shift
  44837. for ax_arg; do
  44838. if test -n "$ax_prev"; then
  44839. ax_prev=
  44840. continue
  44841. fi
  44842. case $ax_arg in
  44843. -cache-file | --cache-file | --cache-fil | --cache-fi | --cache-f \
  44844. | --cache- | --cache | --cach | --cac | --ca | --c)
  44845. ax_prev=cache_file ;;
  44846. -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  44847. | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
  44848. | --c=*)
  44849. ;;
  44850. --config-cache | -C)
  44851. ;;
  44852. -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
  44853. ax_prev=srcdir ;;
  44854. -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  44855. ;;
  44856. -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  44857. ax_prev=prefix ;;
  44858. -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* \
  44859. | --p=*)
  44860. ;;
  44861. --disable-option-checking)
  44862. ;;
  44863. *) case $ax_arg in
  44864. *\'*) ax_arg=$($as_echo "$ax_arg" | sed "s/'/'\\\\\\\\''/g");;
  44865. esac
  44866. as_fn_append ax_args " '$ax_arg'" ;;
  44867. esac
  44868. done
  44869. # Always prepend --disable-option-checking to silence warnings, since
  44870. # different subdirs can have different --enable and --with options.
  44871. ax_args="--disable-option-checking $ax_args"
  44872. # Options that must be added as they are provided.
  44873. as_fn_append ax_args " '--with-cxx-std=20$acsm_cxx_version'"
  44874. # New options that may need to be merged with existing options.
  44875. # New options that must replace existing options.
  44876. # Options that must be removed.
  44877. as_fn_append ax_args " '--srcdir=$ac_srcdir'"
  44878. # Add the subdirectory to the list of target subdirectories.
  44879. ax_subconfigures="$ax_subconfigures $ax_dir"
  44880. # Save the argument list for this subdirectory.
  44881. ax_var=$(printf "$ax_dir" | tr -c "0-9a-zA-Z_" "_")
  44882. eval "ax_sub_configure_args_$ax_var=\"$ax_args\""
  44883. eval "ax_sub_configure_$ax_var=\"yes\""
  44884. else
  44885. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not find source tree for $ax_dir" >&5
  44886. $as_echo "$as_me: WARNING: could not find source tree for $ax_dir" >&2;}
  44887. fi
  44888. else
  44889. METAPHYSICL_INCLUDE=""
  44890. enablemetaphysicl=no
  44891. fi
  44892. if test $enablemetaphysicl = yes; then :
  44893. libmesh_contrib_INCLUDES="$METAPHYSICL_INCLUDE $libmesh_contrib_INCLUDES"
  44894. fi
  44895. if test x$enablemetaphysicl = xyes; then
  44896. LIBMESH_ENABLE_METAPHYSICL_TRUE=
  44897. LIBMESH_ENABLE_METAPHYSICL_FALSE='#'
  44898. else
  44899. LIBMESH_ENABLE_METAPHYSICL_TRUE='#'
  44900. LIBMESH_ENABLE_METAPHYSICL_FALSE=
  44901. fi
  44902. # -------------------------------------------------------------
  44903. if test "$enableoptional" != no; then :
  44904. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ----------------------------------------------" >&5
  44905. $as_echo "----------------------------------------------" >&6; }
  44906. { $as_echo "$as_me:${as_lineno-$LINENO}: result: --- Done configuring for optional packages ---" >&5
  44907. $as_echo "--- Done configuring for optional packages ---" >&6; }
  44908. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ----------------------------------------------" >&5
  44909. $as_echo "----------------------------------------------" >&6; }
  44910. fi
  44911. # clean up values, if we have perl. This step is purely cosmetic, but
  44912. # helps create readable (and easier to debug) compile and link lines
  44913. # by stripping out repeated entries. This can happen for example when
  44914. # several optional packages all want to include and link agains the
  44915. # same MPI.
  44916. if test -x $PERL; then :
  44917. if test -f $srcdir/contrib/bin/strip_dup_incl_paths.pl; then :
  44918. { $as_echo "$as_me:${as_lineno-$LINENO}: result: removing duplicate include paths..." >&5
  44919. $as_echo "removing duplicate include paths..." >&6; }
  44920. libmesh_optional_INCLUDES=`$PERL $srcdir/contrib/bin/strip_dup_incl_paths.pl $libmesh_optional_INCLUDES`
  44921. fi
  44922. if test -f $srcdir/contrib/bin/strip_dup_libs.pl; then :
  44923. { $as_echo "$as_me:${as_lineno-$LINENO}: result: removing duplicate libraries..." >&5
  44924. $as_echo "removing duplicate libraries..." >&6; }
  44925. libmesh_optional_LIBS=`$PERL $srcdir/contrib/bin/strip_dup_libs.pl $libmesh_optional_LIBS`
  44926. fi
  44927. fi
  44928. # substitute values
  44929. # Query configuration environment
  44930. BUILD_USER=${USER}
  44931. BUILD_ARCH=${host}
  44932. BUILD_HOST=${ac_hostname}
  44933. BUILD_DATE=`date +'%F %H:%M'`
  44934. # Extract the first word of "git", so it can be a program name with args.
  44935. set dummy git; ac_word=$2
  44936. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  44937. $as_echo_n "checking for $ac_word... " >&6; }
  44938. if ${ac_cv_path_gitquery+:} false; then :
  44939. $as_echo_n "(cached) " >&6
  44940. else
  44941. case $gitquery in
  44942. [\\/]* | ?:[\\/]*)
  44943. ac_cv_path_gitquery="$gitquery" # Let the user override the test with a path.
  44944. ;;
  44945. *)
  44946. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  44947. for as_dir in $PATH
  44948. do
  44949. IFS=$as_save_IFS
  44950. test -z "$as_dir" && as_dir=.
  44951. for ac_exec_ext in '' $ac_executable_extensions; do
  44952. if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  44953. ac_cv_path_gitquery="$as_dir/$ac_word$ac_exec_ext"
  44954. $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  44955. break 2
  44956. fi
  44957. done
  44958. done
  44959. IFS=$as_save_IFS
  44960. ;;
  44961. esac
  44962. fi
  44963. gitquery=$ac_cv_path_gitquery
  44964. if test -n "$gitquery"; then
  44965. { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gitquery" >&5
  44966. $as_echo "$gitquery" >&6; }
  44967. else
  44968. { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  44969. $as_echo "no" >&6; }
  44970. fi
  44971. if test "x${gitquery}" = "x" || test ! -e $srcdir/.git; then :
  44972. GIT_REVISION="external"
  44973. GIT_CHECKOUT=false
  44974. BUILD_DEVSTATUS="External Release"
  44975. else
  44976. GIT_REVISION="`cd $srcdir ; ${gitquery} rev-parse HEAD`"
  44977. GIT_CHECKOUT=true
  44978. BUILD_DEVSTATUS="Development Build"
  44979. fi
  44980. if test x${GIT_CHECKOUT} = xtrue ; then
  44981. GIT_CHECKOUT_TRUE=
  44982. GIT_CHECKOUT_FALSE='#'
  44983. else
  44984. GIT_CHECKOUT_TRUE='#'
  44985. GIT_CHECKOUT_FALSE=
  44986. fi
  44987. BUILD_VERSION=${GIT_REVISION}
  44988. cat >>confdefs.h <<_ACEOF
  44989. #define BUILD_USER "${BUILD_USER}"
  44990. _ACEOF
  44991. cat >>confdefs.h <<_ACEOF
  44992. #define BUILD_ARCH "${BUILD_ARCH}"
  44993. _ACEOF
  44994. cat >>confdefs.h <<_ACEOF
  44995. #define BUILD_HOST "${BUILD_HOST}"
  44996. _ACEOF
  44997. cat >>confdefs.h <<_ACEOF
  44998. #define BUILD_VERSION "${BUILD_VERSION}"
  44999. _ACEOF
  45000. cat >>confdefs.h <<_ACEOF
  45001. #define BUILD_DEVSTATUS "${BUILD_DEVSTATUS}"
  45002. _ACEOF
  45003. $as_echo "#define BUILD_DATE __DATE__ \" \" __TIME__" >>confdefs.h
  45004. #AC_SUBST(BUILD_DATE)
  45005. # Each example gets a makefile
  45006. if test "x$enableexamples" = "xyes"; then :
  45007. ac_config_files="$ac_config_files examples/introduction/introduction_ex1/Makefile examples/introduction/introduction_ex2/Makefile examples/introduction/introduction_ex3/Makefile examples/introduction/introduction_ex4/Makefile examples/introduction/introduction_ex5/Makefile examples/adaptivity/adaptivity_ex1/Makefile examples/adaptivity/adaptivity_ex2/Makefile examples/adaptivity/adaptivity_ex3/Makefile examples/adaptivity/adaptivity_ex4/Makefile examples/adaptivity/adaptivity_ex5/Makefile examples/adjoints/adjoints_ex1/Makefile examples/adjoints/adjoints_ex2/Makefile examples/adjoints/adjoints_ex3/Makefile examples/adjoints/adjoints_ex4/Makefile examples/adjoints/adjoints_ex5/Makefile examples/adjoints/adjoints_ex6/Makefile examples/adjoints/adjoints_ex7/Makefile examples/eigenproblems/eigenproblems_ex1/Makefile examples/eigenproblems/eigenproblems_ex2/Makefile examples/eigenproblems/eigenproblems_ex3/Makefile examples/fem_system/fem_system_ex1/Makefile examples/fem_system/fem_system_ex2/Makefile examples/fem_system/fem_system_ex3/Makefile examples/fem_system/fem_system_ex4/Makefile examples/fem_system/fem_system_ex5/Makefile examples/solution_transfer/solution_transfer_ex1/Makefile examples/miscellaneous/miscellaneous_ex1/Makefile examples/miscellaneous/miscellaneous_ex2/Makefile examples/miscellaneous/miscellaneous_ex3/Makefile examples/miscellaneous/miscellaneous_ex4/Makefile examples/miscellaneous/miscellaneous_ex5/Makefile examples/miscellaneous/miscellaneous_ex6/Makefile examples/miscellaneous/miscellaneous_ex7/Makefile examples/miscellaneous/miscellaneous_ex8/Makefile examples/miscellaneous/miscellaneous_ex9/Makefile examples/miscellaneous/miscellaneous_ex10/Makefile examples/miscellaneous/miscellaneous_ex11/Makefile examples/miscellaneous/miscellaneous_ex12/Makefile examples/miscellaneous/miscellaneous_ex13/Makefile examples/miscellaneous/miscellaneous_ex14/Makefile examples/optimization/optimization_ex1/Makefile examples/optimization/optimization_ex2/Makefile examples/subdomains/subdomains_ex1/Makefile examples/subdomains/subdomains_ex2/Makefile examples/subdomains/subdomains_ex3/Makefile examples/systems_of_equations/systems_of_equations_ex1/Makefile examples/systems_of_equations/systems_of_equations_ex2/Makefile examples/systems_of_equations/systems_of_equations_ex3/Makefile examples/systems_of_equations/systems_of_equations_ex4/Makefile examples/systems_of_equations/systems_of_equations_ex5/Makefile examples/systems_of_equations/systems_of_equations_ex6/Makefile examples/systems_of_equations/systems_of_equations_ex7/Makefile examples/systems_of_equations/systems_of_equations_ex8/Makefile examples/systems_of_equations/systems_of_equations_ex9/Makefile examples/reduced_basis/reduced_basis_ex1/Makefile examples/reduced_basis/reduced_basis_ex2/Makefile examples/reduced_basis/reduced_basis_ex3/Makefile examples/reduced_basis/reduced_basis_ex4/Makefile examples/reduced_basis/reduced_basis_ex5/Makefile examples/reduced_basis/reduced_basis_ex6/Makefile examples/reduced_basis/reduced_basis_ex7/Makefile examples/transient/transient_ex1/Makefile examples/transient/transient_ex2/Makefile examples/vector_fe/vector_fe_ex1/Makefile examples/vector_fe/vector_fe_ex2/Makefile examples/vector_fe/vector_fe_ex3/Makefile examples/vector_fe/vector_fe_ex4/Makefile examples/vector_fe/vector_fe_ex5/Makefile examples/Makefile"
  45008. fi
  45009. # hackery. If we are supporting nested autoconf packages and we want to specify
  45010. # additional arguments to be passed to those packages, do that here.
  45011. # Specifically, we append libmesh_subpackage_arguments to ac_configure_args
  45012. # before AC_OUTPUT recurses into our subpackages
  45013. if test "x$enablenested" = "xyes"; then :
  45014. ac_configure_args_SAVE="$ac_configure_args"
  45015. ac_configure_args="$ac_configure_args $libmesh_subpackage_arguments CXX='$CXX' CC='$CC' F77='$F77' FC='$FC' CPPFLAGS='$HDF5_CPPFLAGS $CPPFLAGS' LIBS='$HDF5_LIBS $LIBS'"
  45016. fi
  45017. subdirs="$subdirs contrib/timpi"
  45018. # Create output files. Also configures any subpackages
  45019. cat >confcache <<\_ACEOF
  45020. # This file is a shell script that caches the results of configure
  45021. # tests run on this system so they can be shared between configure
  45022. # scripts and configure runs, see configure's option --config-cache.
  45023. # It is not useful on other systems. If it contains results you don't
  45024. # want to keep, you may remove or edit it.
  45025. #
  45026. # config.status only pays attention to the cache file if you give it
  45027. # the --recheck option to rerun configure.
  45028. #
  45029. # `ac_cv_env_foo' variables (set or unset) will be overridden when
  45030. # loading this file, other *unset* `ac_cv_foo' will be assigned the
  45031. # following values.
  45032. _ACEOF
  45033. # The following way of writing the cache mishandles newlines in values,
  45034. # but we know of no workaround that is simple, portable, and efficient.
  45035. # So, we kill variables containing newlines.
  45036. # Ultrix sh set writes to stderr and can't be redirected directly,
  45037. # and sets the high bit in the cache file unless we assign to the vars.
  45038. (
  45039. for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
  45040. eval ac_val=\$$ac_var
  45041. case $ac_val in #(
  45042. *${as_nl}*)
  45043. case $ac_var in #(
  45044. *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
  45045. $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
  45046. esac
  45047. case $ac_var in #(
  45048. _ | IFS | as_nl) ;; #(
  45049. BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
  45050. *) { eval $ac_var=; unset $ac_var;} ;;
  45051. esac ;;
  45052. esac
  45053. done
  45054. (set) 2>&1 |
  45055. case $as_nl`(ac_space=' '; set) 2>&1` in #(
  45056. *${as_nl}ac_space=\ *)
  45057. # `set' does not quote correctly, so add quotes: double-quote
  45058. # substitution turns \\\\ into \\, and sed turns \\ into \.
  45059. sed -n \
  45060. "s/'/'\\\\''/g;
  45061. s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
  45062. ;; #(
  45063. *)
  45064. # `set' quotes correctly as required by POSIX, so do not add quotes.
  45065. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
  45066. ;;
  45067. esac |
  45068. sort
  45069. ) |
  45070. sed '
  45071. /^ac_cv_env_/b end
  45072. t clear
  45073. :clear
  45074. s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
  45075. t end
  45076. s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
  45077. :end' >>confcache
  45078. if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
  45079. if test -w "$cache_file"; then
  45080. if test "x$cache_file" != "x/dev/null"; then
  45081. { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
  45082. $as_echo "$as_me: updating cache $cache_file" >&6;}
  45083. if test ! -f "$cache_file" || test -h "$cache_file"; then
  45084. cat confcache >"$cache_file"
  45085. else
  45086. case $cache_file in #(
  45087. */* | ?:*)
  45088. mv -f confcache "$cache_file"$$ &&
  45089. mv -f "$cache_file"$$ "$cache_file" ;; #(
  45090. *)
  45091. mv -f confcache "$cache_file" ;;
  45092. esac
  45093. fi
  45094. fi
  45095. else
  45096. { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
  45097. $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
  45098. fi
  45099. fi
  45100. rm -f confcache
  45101. test "x$prefix" = xNONE && prefix=$ac_default_prefix
  45102. # Let make expand exec_prefix.
  45103. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
  45104. DEFS=-DHAVE_CONFIG_H
  45105. ac_libobjs=
  45106. ac_ltlibobjs=
  45107. U=
  45108. for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
  45109. # 1. Remove the extension, and $U if already installed.
  45110. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
  45111. ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
  45112. # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
  45113. # will be set to the directory where LIBOBJS objects are built.
  45114. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
  45115. as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
  45116. done
  45117. LIBOBJS=$ac_libobjs
  45118. LTLIBOBJS=$ac_ltlibobjs
  45119. { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
  45120. $as_echo_n "checking that generated files are newer than configure... " >&6; }
  45121. if test -n "$am_sleep_pid"; then
  45122. # Hide warnings about reused PIDs.
  45123. wait $am_sleep_pid 2>/dev/null
  45124. fi
  45125. { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
  45126. $as_echo "done" >&6; }
  45127. if test -n "$EXEEXT"; then
  45128. am__EXEEXT_TRUE=
  45129. am__EXEEXT_FALSE='#'
  45130. else
  45131. am__EXEEXT_TRUE='#'
  45132. am__EXEEXT_FALSE=
  45133. fi
  45134. if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
  45135. as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
  45136. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45137. fi
  45138. if test -z "${LIBMESH_VPATH_BUILD_TRUE}" && test -z "${LIBMESH_VPATH_BUILD_FALSE}"; then
  45139. as_fn_error $? "conditional \"LIBMESH_VPATH_BUILD\" was never defined.
  45140. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45141. fi
  45142. if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
  45143. as_fn_error $? "conditional \"AMDEP\" was never defined.
  45144. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45145. fi
  45146. if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
  45147. as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
  45148. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45149. fi
  45150. if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
  45151. as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
  45152. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45153. fi
  45154. if test -z "${HAVE_CXX11_AUTO_TRUE}" && test -z "${HAVE_CXX11_AUTO_FALSE}"; then
  45155. as_fn_error $? "conditional \"HAVE_CXX11_AUTO\" was never defined.
  45156. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45157. fi
  45158. if test -z "${HAVE_CXX11_RANGEFOR_TRUE}" && test -z "${HAVE_CXX11_RANGEFOR_FALSE}"; then
  45159. as_fn_error $? "conditional \"HAVE_CXX11_RANGEFOR\" was never defined.
  45160. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45161. fi
  45162. if test -z "${HAVE_CXX11_INITIALIZER_LIST_TRUE}" && test -z "${HAVE_CXX11_INITIALIZER_LIST_FALSE}"; then
  45163. as_fn_error $? "conditional \"HAVE_CXX11_INITIALIZER_LIST\" was never defined.
  45164. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45165. fi
  45166. if test -z "${HAVE_CXX11_UNIQUE_PTR_TRUE}" && test -z "${HAVE_CXX11_UNIQUE_PTR_FALSE}"; then
  45167. as_fn_error $? "conditional \"HAVE_CXX11_UNIQUE_PTR\" was never defined.
  45168. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45169. fi
  45170. if test -z "${HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE}" && test -z "${HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE}"; then
  45171. as_fn_error $? "conditional \"HAVE_CXX11_MAKE_UNIQUE_WORKAROUND\" was never defined.
  45172. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45173. fi
  45174. if test -z "${HAVE_CXX11_TUPLE_TRUE}" && test -z "${HAVE_CXX11_TUPLE_FALSE}"; then
  45175. as_fn_error $? "conditional \"HAVE_CXX11_TUPLE\" was never defined.
  45176. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45177. fi
  45178. if test -z "${HAVE_CXX11_LAMBDA_TRUE}" && test -z "${HAVE_CXX11_LAMBDA_FALSE}"; then
  45179. as_fn_error $? "conditional \"HAVE_CXX11_LAMBDA\" was never defined.
  45180. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45181. fi
  45182. if test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_TRUE}" && test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FALSE}"; then
  45183. as_fn_error $? "conditional \"HAVE_CXX11_FIXED_TYPE_ENUM\" was never defined.
  45184. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45185. fi
  45186. if test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE}" && test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE}"; then
  45187. as_fn_error $? "conditional \"HAVE_CXX11_FIXED_TYPE_ENUM_FWD\" was never defined.
  45188. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45189. fi
  45190. if test -z "${HAVE_CXX11_OVERRIDE_TRUE}" && test -z "${HAVE_CXX11_OVERRIDE_FALSE}"; then
  45191. as_fn_error $? "conditional \"HAVE_CXX11_OVERRIDE\" was never defined.
  45192. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45193. fi
  45194. if test -z "${HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE}" && test -z "${HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE}"; then
  45195. as_fn_error $? "conditional \"HAVE_CXX11_MOVE_CONSTRUCTORS\" was never defined.
  45196. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45197. fi
  45198. if test -z "${HAVE_CXX11_DELETED_FUNCTIONS_TRUE}" && test -z "${HAVE_CXX11_DELETED_FUNCTIONS_FALSE}"; then
  45199. as_fn_error $? "conditional \"HAVE_CXX11_DELETED_FUNCTIONS\" was never defined.
  45200. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45201. fi
  45202. if test -z "${HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE}" && test -z "${HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE}"; then
  45203. as_fn_error $? "conditional \"HAVE_CXX11_DEFAULTED_FUNCTIONS\" was never defined.
  45204. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45205. fi
  45206. if test -z "${HAVE_CXX11_NULLPTR_TRUE}" && test -z "${HAVE_CXX11_NULLPTR_FALSE}"; then
  45207. as_fn_error $? "conditional \"HAVE_CXX11_NULLPTR\" was never defined.
  45208. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45209. fi
  45210. if test -z "${HAVE_CXX11_FINAL_TRUE}" && test -z "${HAVE_CXX11_FINAL_FALSE}"; then
  45211. as_fn_error $? "conditional \"HAVE_CXX11_FINAL\" was never defined.
  45212. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45213. fi
  45214. if test -z "${HAVE_CXX11_DECLTYPE_TRUE}" && test -z "${HAVE_CXX11_DECLTYPE_FALSE}"; then
  45215. as_fn_error $? "conditional \"HAVE_CXX11_DECLTYPE\" was never defined.
  45216. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45217. fi
  45218. if test -z "${HAVE_CXX11_SHARED_PTR_TRUE}" && test -z "${HAVE_CXX11_SHARED_PTR_FALSE}"; then
  45219. as_fn_error $? "conditional \"HAVE_CXX11_SHARED_PTR\" was never defined.
  45220. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45221. fi
  45222. if test -z "${HAVE_CXX11_RVALUE_REFERENCES_TRUE}" && test -z "${HAVE_CXX11_RVALUE_REFERENCES_FALSE}"; then
  45223. as_fn_error $? "conditional \"HAVE_CXX11_RVALUE_REFERENCES\" was never defined.
  45224. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45225. fi
  45226. if test -z "${HAVE_CXX11_TO_STRING_TRUE}" && test -z "${HAVE_CXX11_TO_STRING_FALSE}"; then
  45227. as_fn_error $? "conditional \"HAVE_CXX11_TO_STRING\" was never defined.
  45228. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45229. fi
  45230. if test -z "${HAVE_CXX11_CONSTEXPR_TRUE}" && test -z "${HAVE_CXX11_CONSTEXPR_FALSE}"; then
  45231. as_fn_error $? "conditional \"HAVE_CXX11_CONSTEXPR\" was never defined.
  45232. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45233. fi
  45234. if test -z "${HAVE_CXX11_VARIADIC_TEMPLATES_TRUE}" && test -z "${HAVE_CXX11_VARIADIC_TEMPLATES_FALSE}"; then
  45235. as_fn_error $? "conditional \"HAVE_CXX11_VARIADIC_TEMPLATES\" was never defined.
  45236. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45237. fi
  45238. if test -z "${HAVE_CXX11_ALIAS_DECLARATIONS_TRUE}" && test -z "${HAVE_CXX11_ALIAS_DECLARATIONS_FALSE}"; then
  45239. as_fn_error $? "conditional \"HAVE_CXX11_ALIAS_DECLARATIONS\" was never defined.
  45240. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45241. fi
  45242. if test -z "${HAVE_CXX11_AUTO_TRUE}" && test -z "${HAVE_CXX11_AUTO_FALSE}"; then
  45243. as_fn_error $? "conditional \"HAVE_CXX11_AUTO\" was never defined.
  45244. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45245. fi
  45246. if test -z "${HAVE_CXX11_RANGEFOR_TRUE}" && test -z "${HAVE_CXX11_RANGEFOR_FALSE}"; then
  45247. as_fn_error $? "conditional \"HAVE_CXX11_RANGEFOR\" was never defined.
  45248. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45249. fi
  45250. if test -z "${HAVE_CXX11_INITIALIZER_LIST_TRUE}" && test -z "${HAVE_CXX11_INITIALIZER_LIST_FALSE}"; then
  45251. as_fn_error $? "conditional \"HAVE_CXX11_INITIALIZER_LIST\" was never defined.
  45252. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45253. fi
  45254. if test -z "${HAVE_CXX11_UNIQUE_PTR_TRUE}" && test -z "${HAVE_CXX11_UNIQUE_PTR_FALSE}"; then
  45255. as_fn_error $? "conditional \"HAVE_CXX11_UNIQUE_PTR\" was never defined.
  45256. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45257. fi
  45258. if test -z "${HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE}" && test -z "${HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE}"; then
  45259. as_fn_error $? "conditional \"HAVE_CXX11_MAKE_UNIQUE_WORKAROUND\" was never defined.
  45260. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45261. fi
  45262. if test -z "${HAVE_CXX11_TUPLE_TRUE}" && test -z "${HAVE_CXX11_TUPLE_FALSE}"; then
  45263. as_fn_error $? "conditional \"HAVE_CXX11_TUPLE\" was never defined.
  45264. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45265. fi
  45266. if test -z "${HAVE_CXX11_LAMBDA_TRUE}" && test -z "${HAVE_CXX11_LAMBDA_FALSE}"; then
  45267. as_fn_error $? "conditional \"HAVE_CXX11_LAMBDA\" was never defined.
  45268. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45269. fi
  45270. if test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_TRUE}" && test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FALSE}"; then
  45271. as_fn_error $? "conditional \"HAVE_CXX11_FIXED_TYPE_ENUM\" was never defined.
  45272. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45273. fi
  45274. if test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE}" && test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE}"; then
  45275. as_fn_error $? "conditional \"HAVE_CXX11_FIXED_TYPE_ENUM_FWD\" was never defined.
  45276. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45277. fi
  45278. if test -z "${HAVE_CXX11_OVERRIDE_TRUE}" && test -z "${HAVE_CXX11_OVERRIDE_FALSE}"; then
  45279. as_fn_error $? "conditional \"HAVE_CXX11_OVERRIDE\" was never defined.
  45280. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45281. fi
  45282. if test -z "${HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE}" && test -z "${HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE}"; then
  45283. as_fn_error $? "conditional \"HAVE_CXX11_MOVE_CONSTRUCTORS\" was never defined.
  45284. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45285. fi
  45286. if test -z "${HAVE_CXX11_DELETED_FUNCTIONS_TRUE}" && test -z "${HAVE_CXX11_DELETED_FUNCTIONS_FALSE}"; then
  45287. as_fn_error $? "conditional \"HAVE_CXX11_DELETED_FUNCTIONS\" was never defined.
  45288. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45289. fi
  45290. if test -z "${HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE}" && test -z "${HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE}"; then
  45291. as_fn_error $? "conditional \"HAVE_CXX11_DEFAULTED_FUNCTIONS\" was never defined.
  45292. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45293. fi
  45294. if test -z "${HAVE_CXX11_NULLPTR_TRUE}" && test -z "${HAVE_CXX11_NULLPTR_FALSE}"; then
  45295. as_fn_error $? "conditional \"HAVE_CXX11_NULLPTR\" was never defined.
  45296. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45297. fi
  45298. if test -z "${HAVE_CXX11_FINAL_TRUE}" && test -z "${HAVE_CXX11_FINAL_FALSE}"; then
  45299. as_fn_error $? "conditional \"HAVE_CXX11_FINAL\" was never defined.
  45300. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45301. fi
  45302. if test -z "${HAVE_CXX11_DECLTYPE_TRUE}" && test -z "${HAVE_CXX11_DECLTYPE_FALSE}"; then
  45303. as_fn_error $? "conditional \"HAVE_CXX11_DECLTYPE\" was never defined.
  45304. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45305. fi
  45306. if test -z "${HAVE_CXX11_SHARED_PTR_TRUE}" && test -z "${HAVE_CXX11_SHARED_PTR_FALSE}"; then
  45307. as_fn_error $? "conditional \"HAVE_CXX11_SHARED_PTR\" was never defined.
  45308. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45309. fi
  45310. if test -z "${HAVE_CXX11_RVALUE_REFERENCES_TRUE}" && test -z "${HAVE_CXX11_RVALUE_REFERENCES_FALSE}"; then
  45311. as_fn_error $? "conditional \"HAVE_CXX11_RVALUE_REFERENCES\" was never defined.
  45312. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45313. fi
  45314. if test -z "${HAVE_CXX11_TO_STRING_TRUE}" && test -z "${HAVE_CXX11_TO_STRING_FALSE}"; then
  45315. as_fn_error $? "conditional \"HAVE_CXX11_TO_STRING\" was never defined.
  45316. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45317. fi
  45318. if test -z "${HAVE_CXX11_CONSTEXPR_TRUE}" && test -z "${HAVE_CXX11_CONSTEXPR_FALSE}"; then
  45319. as_fn_error $? "conditional \"HAVE_CXX11_CONSTEXPR\" was never defined.
  45320. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45321. fi
  45322. if test -z "${HAVE_CXX11_VARIADIC_TEMPLATES_TRUE}" && test -z "${HAVE_CXX11_VARIADIC_TEMPLATES_FALSE}"; then
  45323. as_fn_error $? "conditional \"HAVE_CXX11_VARIADIC_TEMPLATES\" was never defined.
  45324. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45325. fi
  45326. if test -z "${HAVE_CXX11_ALIAS_DECLARATIONS_TRUE}" && test -z "${HAVE_CXX11_ALIAS_DECLARATIONS_FALSE}"; then
  45327. as_fn_error $? "conditional \"HAVE_CXX11_ALIAS_DECLARATIONS\" was never defined.
  45328. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45329. fi
  45330. if test -z "${HAVE_CXX11_AUTO_TRUE}" && test -z "${HAVE_CXX11_AUTO_FALSE}"; then
  45331. as_fn_error $? "conditional \"HAVE_CXX11_AUTO\" was never defined.
  45332. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45333. fi
  45334. if test -z "${HAVE_CXX11_RANGEFOR_TRUE}" && test -z "${HAVE_CXX11_RANGEFOR_FALSE}"; then
  45335. as_fn_error $? "conditional \"HAVE_CXX11_RANGEFOR\" was never defined.
  45336. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45337. fi
  45338. if test -z "${HAVE_CXX11_INITIALIZER_LIST_TRUE}" && test -z "${HAVE_CXX11_INITIALIZER_LIST_FALSE}"; then
  45339. as_fn_error $? "conditional \"HAVE_CXX11_INITIALIZER_LIST\" was never defined.
  45340. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45341. fi
  45342. if test -z "${HAVE_CXX11_UNIQUE_PTR_TRUE}" && test -z "${HAVE_CXX11_UNIQUE_PTR_FALSE}"; then
  45343. as_fn_error $? "conditional \"HAVE_CXX11_UNIQUE_PTR\" was never defined.
  45344. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45345. fi
  45346. if test -z "${HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_TRUE}" && test -z "${HAVE_CXX11_MAKE_UNIQUE_WORKAROUND_FALSE}"; then
  45347. as_fn_error $? "conditional \"HAVE_CXX11_MAKE_UNIQUE_WORKAROUND\" was never defined.
  45348. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45349. fi
  45350. if test -z "${HAVE_CXX11_TUPLE_TRUE}" && test -z "${HAVE_CXX11_TUPLE_FALSE}"; then
  45351. as_fn_error $? "conditional \"HAVE_CXX11_TUPLE\" was never defined.
  45352. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45353. fi
  45354. if test -z "${HAVE_CXX11_LAMBDA_TRUE}" && test -z "${HAVE_CXX11_LAMBDA_FALSE}"; then
  45355. as_fn_error $? "conditional \"HAVE_CXX11_LAMBDA\" was never defined.
  45356. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45357. fi
  45358. if test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_TRUE}" && test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FALSE}"; then
  45359. as_fn_error $? "conditional \"HAVE_CXX11_FIXED_TYPE_ENUM\" was never defined.
  45360. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45361. fi
  45362. if test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FWD_TRUE}" && test -z "${HAVE_CXX11_FIXED_TYPE_ENUM_FWD_FALSE}"; then
  45363. as_fn_error $? "conditional \"HAVE_CXX11_FIXED_TYPE_ENUM_FWD\" was never defined.
  45364. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45365. fi
  45366. if test -z "${HAVE_CXX11_OVERRIDE_TRUE}" && test -z "${HAVE_CXX11_OVERRIDE_FALSE}"; then
  45367. as_fn_error $? "conditional \"HAVE_CXX11_OVERRIDE\" was never defined.
  45368. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45369. fi
  45370. if test -z "${HAVE_CXX11_MOVE_CONSTRUCTORS_TRUE}" && test -z "${HAVE_CXX11_MOVE_CONSTRUCTORS_FALSE}"; then
  45371. as_fn_error $? "conditional \"HAVE_CXX11_MOVE_CONSTRUCTORS\" was never defined.
  45372. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45373. fi
  45374. if test -z "${HAVE_CXX11_DELETED_FUNCTIONS_TRUE}" && test -z "${HAVE_CXX11_DELETED_FUNCTIONS_FALSE}"; then
  45375. as_fn_error $? "conditional \"HAVE_CXX11_DELETED_FUNCTIONS\" was never defined.
  45376. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45377. fi
  45378. if test -z "${HAVE_CXX11_DEFAULTED_FUNCTIONS_TRUE}" && test -z "${HAVE_CXX11_DEFAULTED_FUNCTIONS_FALSE}"; then
  45379. as_fn_error $? "conditional \"HAVE_CXX11_DEFAULTED_FUNCTIONS\" was never defined.
  45380. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45381. fi
  45382. if test -z "${HAVE_CXX11_NULLPTR_TRUE}" && test -z "${HAVE_CXX11_NULLPTR_FALSE}"; then
  45383. as_fn_error $? "conditional \"HAVE_CXX11_NULLPTR\" was never defined.
  45384. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45385. fi
  45386. if test -z "${HAVE_CXX11_FINAL_TRUE}" && test -z "${HAVE_CXX11_FINAL_FALSE}"; then
  45387. as_fn_error $? "conditional \"HAVE_CXX11_FINAL\" was never defined.
  45388. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45389. fi
  45390. if test -z "${HAVE_CXX11_DECLTYPE_TRUE}" && test -z "${HAVE_CXX11_DECLTYPE_FALSE}"; then
  45391. as_fn_error $? "conditional \"HAVE_CXX11_DECLTYPE\" was never defined.
  45392. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45393. fi
  45394. if test -z "${HAVE_CXX11_SHARED_PTR_TRUE}" && test -z "${HAVE_CXX11_SHARED_PTR_FALSE}"; then
  45395. as_fn_error $? "conditional \"HAVE_CXX11_SHARED_PTR\" was never defined.
  45396. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45397. fi
  45398. if test -z "${HAVE_CXX11_RVALUE_REFERENCES_TRUE}" && test -z "${HAVE_CXX11_RVALUE_REFERENCES_FALSE}"; then
  45399. as_fn_error $? "conditional \"HAVE_CXX11_RVALUE_REFERENCES\" was never defined.
  45400. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45401. fi
  45402. if test -z "${HAVE_CXX11_TO_STRING_TRUE}" && test -z "${HAVE_CXX11_TO_STRING_FALSE}"; then
  45403. as_fn_error $? "conditional \"HAVE_CXX11_TO_STRING\" was never defined.
  45404. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45405. fi
  45406. if test -z "${HAVE_CXX11_CONSTEXPR_TRUE}" && test -z "${HAVE_CXX11_CONSTEXPR_FALSE}"; then
  45407. as_fn_error $? "conditional \"HAVE_CXX11_CONSTEXPR\" was never defined.
  45408. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45409. fi
  45410. if test -z "${HAVE_CXX11_VARIADIC_TEMPLATES_TRUE}" && test -z "${HAVE_CXX11_VARIADIC_TEMPLATES_FALSE}"; then
  45411. as_fn_error $? "conditional \"HAVE_CXX11_VARIADIC_TEMPLATES\" was never defined.
  45412. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45413. fi
  45414. if test -z "${HAVE_CXX11_ALIAS_DECLARATIONS_TRUE}" && test -z "${HAVE_CXX11_ALIAS_DECLARATIONS_FALSE}"; then
  45415. as_fn_error $? "conditional \"HAVE_CXX11_ALIAS_DECLARATIONS\" was never defined.
  45416. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45417. fi
  45418. if test -z "${LIBMESH_ENABLE_GLIBCXX_DEBUGGING_TRUE}" && test -z "${LIBMESH_ENABLE_GLIBCXX_DEBUGGING_FALSE}"; then
  45419. as_fn_error $? "conditional \"LIBMESH_ENABLE_GLIBCXX_DEBUGGING\" was never defined.
  45420. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45421. fi
  45422. if test -z "${LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_TRUE}" && test -z "${LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT_FALSE}"; then
  45423. as_fn_error $? "conditional \"LIBMESH_ENABLE_GLIBCXX_DEBUGGING_CPPUNIT\" was never defined.
  45424. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45425. fi
  45426. if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then
  45427. as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined.
  45428. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45429. fi
  45430. if test -z "${LIBMESH_OPT_MODE_TRUE}" && test -z "${LIBMESH_OPT_MODE_FALSE}"; then
  45431. as_fn_error $? "conditional \"LIBMESH_OPT_MODE\" was never defined.
  45432. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45433. fi
  45434. if test -z "${LIBMESH_DBG_MODE_TRUE}" && test -z "${LIBMESH_DBG_MODE_FALSE}"; then
  45435. as_fn_error $? "conditional \"LIBMESH_DBG_MODE\" was never defined.
  45436. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45437. fi
  45438. if test -z "${LIBMESH_DEVEL_MODE_TRUE}" && test -z "${LIBMESH_DEVEL_MODE_FALSE}"; then
  45439. as_fn_error $? "conditional \"LIBMESH_DEVEL_MODE\" was never defined.
  45440. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45441. fi
  45442. if test -z "${LIBMESH_PROF_MODE_TRUE}" && test -z "${LIBMESH_PROF_MODE_FALSE}"; then
  45443. as_fn_error $? "conditional \"LIBMESH_PROF_MODE\" was never defined.
  45444. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45445. fi
  45446. if test -z "${LIBMESH_OPROF_MODE_TRUE}" && test -z "${LIBMESH_OPROF_MODE_FALSE}"; then
  45447. as_fn_error $? "conditional \"LIBMESH_OPROF_MODE\" was never defined.
  45448. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45449. fi
  45450. if test -z "${HAVE_CXX14_MAKE_UNIQUE_TRUE}" && test -z "${HAVE_CXX14_MAKE_UNIQUE_FALSE}"; then
  45451. as_fn_error $? "conditional \"HAVE_CXX14_MAKE_UNIQUE\" was never defined.
  45452. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45453. fi
  45454. if test -z "${HAVE_CXX11_REGEX_TRUE}" && test -z "${HAVE_CXX11_REGEX_FALSE}"; then
  45455. as_fn_error $? "conditional \"HAVE_CXX11_REGEX\" was never defined.
  45456. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45457. fi
  45458. if test -z "${HAVE_CXX11_THREAD_TRUE}" && test -z "${HAVE_CXX11_THREAD_FALSE}"; then
  45459. as_fn_error $? "conditional \"HAVE_CXX11_THREAD\" was never defined.
  45460. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45461. fi
  45462. if test -z "${HAVE_CXX11_CONDITION_VARIABLE_TRUE}" && test -z "${HAVE_CXX11_CONDITION_VARIABLE_FALSE}"; then
  45463. as_fn_error $? "conditional \"HAVE_CXX11_CONDITION_VARIABLE\" was never defined.
  45464. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45465. fi
  45466. if test -z "${HAVE_CXX11_TYPE_TRAITS_TRUE}" && test -z "${HAVE_CXX11_TYPE_TRAITS_FALSE}"; then
  45467. as_fn_error $? "conditional \"HAVE_CXX11_TYPE_TRAITS\" was never defined.
  45468. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45469. fi
  45470. if test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_TRUE}" && test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_FALSE}"; then
  45471. as_fn_error $? "conditional \"HAVE_CXX11_INVERSE_HYPERBOLIC_SINE\" was never defined.
  45472. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45473. fi
  45474. if test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_TRUE}" && test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_FALSE}"; then
  45475. as_fn_error $? "conditional \"HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE\" was never defined.
  45476. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45477. fi
  45478. if test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_TRUE}" && test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_FALSE}"; then
  45479. as_fn_error $? "conditional \"HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT\" was never defined.
  45480. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45481. fi
  45482. if test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_TRUE}" && test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX_FALSE}"; then
  45483. as_fn_error $? "conditional \"HAVE_CXX11_INVERSE_HYPERBOLIC_SINE_COMPLEX\" was never defined.
  45484. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45485. fi
  45486. if test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_TRUE}" && test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX_FALSE}"; then
  45487. as_fn_error $? "conditional \"HAVE_CXX11_INVERSE_HYPERBOLIC_COSINE_COMPLEX\" was never defined.
  45488. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45489. fi
  45490. if test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_TRUE}" && test -z "${HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX_FALSE}"; then
  45491. as_fn_error $? "conditional \"HAVE_CXX11_INVERSE_HYPERBOLIC_TANGENT_COMPLEX\" was never defined.
  45492. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45493. fi
  45494. if test -z "${HAVE_CXX11_ERF_TRUE}" && test -z "${HAVE_CXX11_ERF_FALSE}"; then
  45495. as_fn_error $? "conditional \"HAVE_CXX11_ERF\" was never defined.
  45496. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45497. fi
  45498. if test -z "${HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_TRUE}" && test -z "${HAVE_CXX17_FALLTHROUGH_ATTRIBUTE_FALSE}"; then
  45499. as_fn_error $? "conditional \"HAVE_CXX17_FALLTHROUGH_ATTRIBUTE\" was never defined.
  45500. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45501. fi
  45502. if test -z "${HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_TRUE}" && test -z "${HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH_FALSE}"; then
  45503. as_fn_error $? "conditional \"HAVE_DOUBLE_UNDERSCORE_ATTRIBUTE_FALLTHROUGH\" was never defined.
  45504. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45505. fi
  45506. if test -z "${LIBMESH_ENABLE_INFINITE_ELEMENTS_TRUE}" && test -z "${LIBMESH_ENABLE_INFINITE_ELEMENTS_FALSE}"; then
  45507. as_fn_error $? "conditional \"LIBMESH_ENABLE_INFINITE_ELEMENTS\" was never defined.
  45508. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45509. fi
  45510. if test -z "${LIBMESH_ENABLE_COMPLEX_TRUE}" && test -z "${LIBMESH_ENABLE_COMPLEX_FALSE}"; then
  45511. as_fn_error $? "conditional \"LIBMESH_ENABLE_COMPLEX\" was never defined.
  45512. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45513. fi
  45514. if test -z "${LIBMESH_ENABLE_EXAMPLES_TRUE}" && test -z "${LIBMESH_ENABLE_EXAMPLES_FALSE}"; then
  45515. as_fn_error $? "conditional \"LIBMESH_ENABLE_EXAMPLES\" was never defined.
  45516. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45517. fi
  45518. if test -z "${LIBMESH_INSTALL_INTERNAL_BOOST_TRUE}" && test -z "${LIBMESH_INSTALL_INTERNAL_BOOST_FALSE}"; then
  45519. as_fn_error $? "conditional \"LIBMESH_INSTALL_INTERNAL_BOOST\" was never defined.
  45520. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45521. fi
  45522. if test -z "${LIBMESH_ENABLE_PETSC_TRUE}" && test -z "${LIBMESH_ENABLE_PETSC_FALSE}"; then
  45523. as_fn_error $? "conditional \"LIBMESH_ENABLE_PETSC\" was never defined.
  45524. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45525. fi
  45526. if test -z "${LIBMESH_ENABLE_SLEPC_TRUE}" && test -z "${LIBMESH_ENABLE_SLEPC_FALSE}"; then
  45527. as_fn_error $? "conditional \"LIBMESH_ENABLE_SLEPC\" was never defined.
  45528. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45529. fi
  45530. if test -z "${LIBMESH_ENABLE_LASPACK_TRUE}" && test -z "${LIBMESH_ENABLE_LASPACK_FALSE}"; then
  45531. as_fn_error $? "conditional \"LIBMESH_ENABLE_LASPACK\" was never defined.
  45532. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45533. fi
  45534. if test -z "${LIBMESH_ENABLE_SFC_TRUE}" && test -z "${LIBMESH_ENABLE_SFC_FALSE}"; then
  45535. as_fn_error $? "conditional \"LIBMESH_ENABLE_SFC\" was never defined.
  45536. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45537. fi
  45538. if test -z "${LIBMESH_ENABLE_GZSTREAMS_TRUE}" && test -z "${LIBMESH_ENABLE_GZSTREAMS_FALSE}"; then
  45539. as_fn_error $? "conditional \"LIBMESH_ENABLE_GZSTREAMS\" was never defined.
  45540. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45541. fi
  45542. if test -z "${LIBMESH_ENABLE_TECIO_TRUE}" && test -z "${LIBMESH_ENABLE_TECIO_FALSE}"; then
  45543. as_fn_error $? "conditional \"LIBMESH_ENABLE_TECIO\" was never defined.
  45544. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45545. fi
  45546. if test -z "${LIBMESH_ENABLE_TECPLOT_TRUE}" && test -z "${LIBMESH_ENABLE_TECPLOT_FALSE}"; then
  45547. as_fn_error $? "conditional \"LIBMESH_ENABLE_TECPLOT\" was never defined.
  45548. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45549. fi
  45550. if test -z "${BUILD_METIS_TRUE}" && test -z "${BUILD_METIS_FALSE}"; then
  45551. as_fn_error $? "conditional \"BUILD_METIS\" was never defined.
  45552. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45553. fi
  45554. if test -z "${LIBMESH_ENABLE_METIS_TRUE}" && test -z "${LIBMESH_ENABLE_METIS_FALSE}"; then
  45555. as_fn_error $? "conditional \"LIBMESH_ENABLE_METIS\" was never defined.
  45556. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45557. fi
  45558. if test -z "${BUILD_PARMETIS_TRUE}" && test -z "${BUILD_PARMETIS_FALSE}"; then
  45559. as_fn_error $? "conditional \"BUILD_PARMETIS\" was never defined.
  45560. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45561. fi
  45562. if test -z "${LIBMESH_ENABLE_PARMETIS_TRUE}" && test -z "${LIBMESH_ENABLE_PARMETIS_FALSE}"; then
  45563. as_fn_error $? "conditional \"LIBMESH_ENABLE_PARMETIS\" was never defined.
  45564. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45565. fi
  45566. if test -z "${LIBMESH_ENABLE_TETGEN_TRUE}" && test -z "${LIBMESH_ENABLE_TETGEN_FALSE}"; then
  45567. as_fn_error $? "conditional \"LIBMESH_ENABLE_TETGEN\" was never defined.
  45568. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45569. fi
  45570. if test -z "${LIBMESH_ENABLE_TRIANGLE_TRUE}" && test -z "${LIBMESH_ENABLE_TRIANGLE_FALSE}"; then
  45571. as_fn_error $? "conditional \"LIBMESH_ENABLE_TRIANGLE\" was never defined.
  45572. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45573. fi
  45574. if test -z "${LIBMESH_ENABLE_QHULL_TRUE}" && test -z "${LIBMESH_ENABLE_QHULL_FALSE}"; then
  45575. as_fn_error $? "conditional \"LIBMESH_ENABLE_QHULL\" was never defined.
  45576. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45577. fi
  45578. if test -z "${LIBMESH_ENABLE_GMV_TRUE}" && test -z "${LIBMESH_ENABLE_GMV_FALSE}"; then
  45579. as_fn_error $? "conditional \"LIBMESH_ENABLE_GMV\" was never defined.
  45580. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45581. fi
  45582. if test -z "${LIBMESH_ENABLE_VTK_TRUE}" && test -z "${LIBMESH_ENABLE_VTK_FALSE}"; then
  45583. as_fn_error $? "conditional \"LIBMESH_ENABLE_VTK\" was never defined.
  45584. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45585. fi
  45586. if test -z "${LIBMESH_ENABLE_EIGEN_TRUE}" && test -z "${LIBMESH_ENABLE_EIGEN_FALSE}"; then
  45587. as_fn_error $? "conditional \"LIBMESH_ENABLE_EIGEN\" was never defined.
  45588. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45589. fi
  45590. if test -z "${LIBMESH_INSTALL_INTERNAL_EIGEN_TRUE}" && test -z "${LIBMESH_INSTALL_INTERNAL_EIGEN_FALSE}"; then
  45591. as_fn_error $? "conditional \"LIBMESH_INSTALL_INTERNAL_EIGEN\" was never defined.
  45592. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45593. fi
  45594. if test -z "${LIBMESH_ENABLE_GLPK_TRUE}" && test -z "${LIBMESH_ENABLE_GLPK_FALSE}"; then
  45595. as_fn_error $? "conditional \"LIBMESH_ENABLE_GLPK\" was never defined.
  45596. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45597. fi
  45598. if test -z "${LIBMESH_ENABLE_NLOPT_TRUE}" && test -z "${LIBMESH_ENABLE_NLOPT_FALSE}"; then
  45599. as_fn_error $? "conditional \"LIBMESH_ENABLE_NLOPT\" was never defined.
  45600. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45601. fi
  45602. if test -z "${LIBMESH_ENABLE_CAPNPROTO_TRUE}" && test -z "${LIBMESH_ENABLE_CAPNPROTO_FALSE}"; then
  45603. as_fn_error $? "conditional \"LIBMESH_ENABLE_CAPNPROTO\" was never defined.
  45604. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45605. fi
  45606. if test -z "${LIBMESH_ENABLE_CURL_TRUE}" && test -z "${LIBMESH_ENABLE_CURL_FALSE}"; then
  45607. as_fn_error $? "conditional \"LIBMESH_ENABLE_CURL\" was never defined.
  45608. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45609. fi
  45610. if test -z "${LIBMESH_ENABLE_HDF5_TRUE}" && test -z "${LIBMESH_ENABLE_HDF5_FALSE}"; then
  45611. as_fn_error $? "conditional \"LIBMESH_ENABLE_HDF5\" was never defined.
  45612. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45613. fi
  45614. if test -z "${LIBMESH_ENABLE_NETCDF_TRUE}" && test -z "${LIBMESH_ENABLE_NETCDF_FALSE}"; then
  45615. as_fn_error $? "conditional \"LIBMESH_ENABLE_NETCDF\" was never defined.
  45616. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45617. fi
  45618. if test -z "${LIBMESH_ENABLE_NETCDF_V4_TRUE}" && test -z "${LIBMESH_ENABLE_NETCDF_V4_FALSE}"; then
  45619. as_fn_error $? "conditional \"LIBMESH_ENABLE_NETCDF_V4\" was never defined.
  45620. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45621. fi
  45622. if test -z "${EXODUS_FORTRAN_API_TRUE}" && test -z "${EXODUS_FORTRAN_API_FALSE}"; then
  45623. as_fn_error $? "conditional \"EXODUS_FORTRAN_API\" was never defined.
  45624. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45625. fi
  45626. if test -z "${LIBMESH_ENABLE_EXODUS_TRUE}" && test -z "${LIBMESH_ENABLE_EXODUS_FALSE}"; then
  45627. as_fn_error $? "conditional \"LIBMESH_ENABLE_EXODUS\" was never defined.
  45628. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45629. fi
  45630. if test -z "${LIBMESH_ENABLE_EXODUS_V509_TRUE}" && test -z "${LIBMESH_ENABLE_EXODUS_V509_FALSE}"; then
  45631. as_fn_error $? "conditional \"LIBMESH_ENABLE_EXODUS_V509\" was never defined.
  45632. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45633. fi
  45634. if test -z "${LIBMESH_ENABLE_EXODUS_V522_TRUE}" && test -z "${LIBMESH_ENABLE_EXODUS_V522_FALSE}"; then
  45635. as_fn_error $? "conditional \"LIBMESH_ENABLE_EXODUS_V522\" was never defined.
  45636. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45637. fi
  45638. if test -z "${LIBMESH_ENABLE_NEMESIS_TRUE}" && test -z "${LIBMESH_ENABLE_NEMESIS_FALSE}"; then
  45639. as_fn_error $? "conditional \"LIBMESH_ENABLE_NEMESIS\" was never defined.
  45640. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45641. fi
  45642. if test -z "${LIBMESH_ENABLE_NEMESIS_V309_TRUE}" && test -z "${LIBMESH_ENABLE_NEMESIS_V309_FALSE}"; then
  45643. as_fn_error $? "conditional \"LIBMESH_ENABLE_NEMESIS_V309\" was never defined.
  45644. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45645. fi
  45646. if test -z "${LIBMESH_ENABLE_NEMESIS_V522_TRUE}" && test -z "${LIBMESH_ENABLE_NEMESIS_V522_FALSE}"; then
  45647. as_fn_error $? "conditional \"LIBMESH_ENABLE_NEMESIS_V522\" was never defined.
  45648. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45649. fi
  45650. if test -z "${LIBMESH_ENABLE_LIBHILBERT_TRUE}" && test -z "${LIBMESH_ENABLE_LIBHILBERT_FALSE}"; then
  45651. as_fn_error $? "conditional \"LIBMESH_ENABLE_LIBHILBERT\" was never defined.
  45652. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45653. fi
  45654. if test -z "${FPARSER_RELEASE_TRUE}" && test -z "${FPARSER_RELEASE_FALSE}"; then
  45655. as_fn_error $? "conditional \"FPARSER_RELEASE\" was never defined.
  45656. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45657. fi
  45658. if test -z "${FPARSER_DEVEL_TRUE}" && test -z "${FPARSER_DEVEL_FALSE}"; then
  45659. as_fn_error $? "conditional \"FPARSER_DEVEL\" was never defined.
  45660. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45661. fi
  45662. if test -z "${FPARSER_SUPPORT_DEBUGGING_TRUE}" && test -z "${FPARSER_SUPPORT_DEBUGGING_FALSE}"; then
  45663. as_fn_error $? "conditional \"FPARSER_SUPPORT_DEBUGGING\" was never defined.
  45664. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45665. fi
  45666. if test -z "${FPARSER_SUPPORT_JIT_TRUE}" && test -z "${FPARSER_SUPPORT_JIT_FALSE}"; then
  45667. as_fn_error $? "conditional \"FPARSER_SUPPORT_JIT\" was never defined.
  45668. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45669. fi
  45670. if test -z "${FPARSER_NO_PSABI_TRUE}" && test -z "${FPARSER_NO_PSABI_FALSE}"; then
  45671. as_fn_error $? "conditional \"FPARSER_NO_PSABI\" was never defined.
  45672. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45673. fi
  45674. if test -z "${LIBMESH_ENABLE_FPARSER_TRUE}" && test -z "${LIBMESH_ENABLE_FPARSER_FALSE}"; then
  45675. as_fn_error $? "conditional \"LIBMESH_ENABLE_FPARSER\" was never defined.
  45676. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45677. fi
  45678. if test -z "${LIBMESH_ENABLE_CPPUNIT_TRUE}" && test -z "${LIBMESH_ENABLE_CPPUNIT_FALSE}"; then
  45679. as_fn_error $? "conditional \"LIBMESH_ENABLE_CPPUNIT\" was never defined.
  45680. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45681. fi
  45682. if test -z "${LIBMESH_ENABLE_NANOFLANN_TRUE}" && test -z "${LIBMESH_ENABLE_NANOFLANN_FALSE}"; then
  45683. as_fn_error $? "conditional \"LIBMESH_ENABLE_NANOFLANN\" was never defined.
  45684. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45685. fi
  45686. ax_dir="contrib/metaphysicl"
  45687. # Convert the path to the subdirectory into a shell variable name.
  45688. ax_var=$(printf "$ax_dir" | tr -c "0-9a-zA-Z_" "_")
  45689. ax_configure_ax_var=$(eval "echo \"\$ax_sub_configure_$ax_var\"")
  45690. if test "$no_recursion" != "yes" -a "x$ax_configure_ax_var" = "xyes"; then
  45691. subdirs_extra="$subdirs_extra $ax_dir"
  45692. ax_msg="=== configuring in $ax_dir ($(pwd)/$ax_dir)"
  45693. $as_echo "$as_me:${as_lineno-$LINENO}: $ax_msg" >&5
  45694. $as_echo "$ax_msg" >&6
  45695. as_dir="$ax_dir"; as_fn_mkdir_p
  45696. ac_builddir=.
  45697. case "$ax_dir" in
  45698. .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
  45699. *)
  45700. ac_dir_suffix=/`$as_echo "$ax_dir" | sed 's|^\.[\\/]||'`
  45701. # A ".." for each directory in $ac_dir_suffix.
  45702. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  45703. case $ac_top_builddir_sub in
  45704. "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  45705. *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  45706. esac ;;
  45707. esac
  45708. ac_abs_top_builddir=$ac_pwd
  45709. ac_abs_builddir=$ac_pwd$ac_dir_suffix
  45710. # for backward compatibility:
  45711. ac_top_builddir=$ac_top_build_prefix
  45712. case $srcdir in
  45713. .) # We are building in place.
  45714. ac_srcdir=.
  45715. ac_top_srcdir=$ac_top_builddir_sub
  45716. ac_abs_top_srcdir=$ac_pwd ;;
  45717. [\\/]* | ?:[\\/]* ) # Absolute name.
  45718. ac_srcdir=$srcdir$ac_dir_suffix;
  45719. ac_top_srcdir=$srcdir
  45720. ac_abs_top_srcdir=$srcdir ;;
  45721. *) # Relative name.
  45722. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
  45723. ac_top_srcdir=$ac_top_build_prefix$srcdir
  45724. ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
  45725. esac
  45726. ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
  45727. ax_popdir=$(pwd)
  45728. cd "$ax_dir"
  45729. # Check for guested configure; otherwise get Cygnus style configure.
  45730. if test -f "$ac_srcdir/configure.gnu"; then
  45731. ax_sub_configure=$ac_srcdir/configure.gnu
  45732. elif test -f "$ac_srcdir/configure"; then
  45733. ax_sub_configure=$ac_srcdir/configure
  45734. elif test -f "$ac_srcdir/configure.in"; then
  45735. # This should be Cygnus configure.
  45736. ax_sub_configure=$ac_aux_dir/configure
  45737. else
  45738. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ax_dir" >&5
  45739. $as_echo "$as_me: WARNING: no configuration information is in $ax_dir" >&2;}
  45740. ax_sub_configure=
  45741. fi
  45742. if test -n "$ax_sub_configure"; then
  45743. # Get the configure arguments for the current configure.
  45744. eval "ax_sub_configure_args=\"\$ax_sub_configure_args_${ax_var}\""
  45745. # Always prepend --prefix to ensure using the same prefix
  45746. # in subdir configurations.
  45747. ax_arg="--prefix=$prefix"
  45748. case $ax_arg in
  45749. *\'*) ax_arg=$($as_echo "$ax_arg" | sed "s/'/'\\\\\\\\''/g");;
  45750. esac
  45751. ax_sub_configure_args="'$ax_arg' $ax_sub_configure_args"
  45752. if test "$silent" = yes; then
  45753. ax_sub_configure_args="--silent $ax_sub_configure_args"
  45754. fi
  45755. # Make the cache file name correct relative to the subdirectory.
  45756. case $cache_file in
  45757. [\\/]* | ?:[\\/]* )
  45758. ax_sub_cache_file=$cache_file ;;
  45759. *) # Relative name.
  45760. ax_sub_cache_file=$ac_top_build_prefix$cache_file ;;
  45761. esac
  45762. { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ax_sub_configure $ax_sub_configure_args --cache-file=$ac_sub_cache_file" >&5
  45763. $as_echo "$as_me: running $SHELL $ax_sub_configure $ax_sub_configure_args --cache-file=$ac_sub_cache_file" >&6;}
  45764. eval "\$SHELL \"$ax_sub_configure\" $ax_sub_configure_args --cache-file=\"$ax_sub_cache_file\"" \
  45765. || as_fn_error $? "$ax_sub_configure failed for $ax_dir" "$LINENO" 5
  45766. fi
  45767. cd "$ax_popdir"
  45768. fi
  45769. if test -z "${LIBMESH_ENABLE_METAPHYSICL_TRUE}" && test -z "${LIBMESH_ENABLE_METAPHYSICL_FALSE}"; then
  45770. as_fn_error $? "conditional \"LIBMESH_ENABLE_METAPHYSICL\" was never defined.
  45771. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45772. fi
  45773. if test -z "${GIT_CHECKOUT_TRUE}" && test -z "${GIT_CHECKOUT_FALSE}"; then
  45774. as_fn_error $? "conditional \"GIT_CHECKOUT\" was never defined.
  45775. Usually this means the macro was only invoked conditionally." "$LINENO" 5
  45776. fi
  45777. : "${CONFIG_STATUS=./config.status}"
  45778. ac_write_fail=0
  45779. ac_clean_files_save=$ac_clean_files
  45780. ac_clean_files="$ac_clean_files $CONFIG_STATUS"
  45781. { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
  45782. $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
  45783. as_write_fail=0
  45784. cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
  45785. #! $SHELL
  45786. # Generated by $as_me.
  45787. # Run this file to recreate the current configuration.
  45788. # Compiler output produced by configure, useful for debugging
  45789. # configure, is in config.log if it exists.
  45790. debug=false
  45791. ac_cs_recheck=false
  45792. ac_cs_silent=false
  45793. SHELL=\${CONFIG_SHELL-$SHELL}
  45794. export SHELL
  45795. _ASEOF
  45796. cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
  45797. ## -------------------- ##
  45798. ## M4sh Initialization. ##
  45799. ## -------------------- ##
  45800. # Be more Bourne compatible
  45801. DUALCASE=1; export DUALCASE # for MKS sh
  45802. if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  45803. emulate sh
  45804. NULLCMD=:
  45805. # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  45806. # is contrary to our usage. Disable this feature.
  45807. alias -g '${1+"$@"}'='"$@"'
  45808. setopt NO_GLOB_SUBST
  45809. else
  45810. case `(set -o) 2>/dev/null` in #(
  45811. *posix*) :
  45812. set -o posix ;; #(
  45813. *) :
  45814. ;;
  45815. esac
  45816. fi
  45817. as_nl='
  45818. '
  45819. export as_nl
  45820. # Printing a long string crashes Solaris 7 /usr/bin/printf.
  45821. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
  45822. as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
  45823. as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
  45824. # Prefer a ksh shell builtin over an external printf program on Solaris,
  45825. # but without wasting forks for bash or zsh.
  45826. if test -z "$BASH_VERSION$ZSH_VERSION" \
  45827. && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  45828. as_echo='print -r --'
  45829. as_echo_n='print -rn --'
  45830. elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  45831. as_echo='printf %s\n'
  45832. as_echo_n='printf %s'
  45833. else
  45834. if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
  45835. as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
  45836. as_echo_n='/usr/ucb/echo -n'
  45837. else
  45838. as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
  45839. as_echo_n_body='eval
  45840. arg=$1;
  45841. case $arg in #(
  45842. *"$as_nl"*)
  45843. expr "X$arg" : "X\\(.*\\)$as_nl";
  45844. arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
  45845. esac;
  45846. expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
  45847. '
  45848. export as_echo_n_body
  45849. as_echo_n='sh -c $as_echo_n_body as_echo'
  45850. fi
  45851. export as_echo_body
  45852. as_echo='sh -c $as_echo_body as_echo'
  45853. fi
  45854. # The user is always right.
  45855. if test "${PATH_SEPARATOR+set}" != set; then
  45856. PATH_SEPARATOR=:
  45857. (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
  45858. (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
  45859. PATH_SEPARATOR=';'
  45860. }
  45861. fi
  45862. # IFS
  45863. # We need space, tab and new line, in precisely that order. Quoting is
  45864. # there to prevent editors from complaining about space-tab.
  45865. # (If _AS_PATH_WALK were called with IFS unset, it would disable word
  45866. # splitting by setting IFS to empty value.)
  45867. IFS=" "" $as_nl"
  45868. # Find who we are. Look in the path if we contain no directory separator.
  45869. as_myself=
  45870. case $0 in #((
  45871. *[\\/]* ) as_myself=$0 ;;
  45872. *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
  45873. for as_dir in $PATH
  45874. do
  45875. IFS=$as_save_IFS
  45876. test -z "$as_dir" && as_dir=.
  45877. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  45878. done
  45879. IFS=$as_save_IFS
  45880. ;;
  45881. esac
  45882. # We did not find ourselves, most probably we were run as `sh COMMAND'
  45883. # in which case we are not to be found in the path.
  45884. if test "x$as_myself" = x; then
  45885. as_myself=$0
  45886. fi
  45887. if test ! -f "$as_myself"; then
  45888. $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  45889. exit 1
  45890. fi
  45891. # Unset variables that we do not need and which cause bugs (e.g. in
  45892. # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
  45893. # suppresses any "Segmentation fault" message there. '((' could
  45894. # trigger a bug in pdksh 5.2.14.
  45895. for as_var in BASH_ENV ENV MAIL MAILPATH
  45896. do eval test x\${$as_var+set} = xset \
  45897. && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
  45898. done
  45899. PS1='$ '
  45900. PS2='> '
  45901. PS4='+ '
  45902. # NLS nuisances.
  45903. LC_ALL=C
  45904. export LC_ALL
  45905. LANGUAGE=C
  45906. export LANGUAGE
  45907. # CDPATH.
  45908. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
  45909. # as_fn_error STATUS ERROR [LINENO LOG_FD]
  45910. # ----------------------------------------
  45911. # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
  45912. # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
  45913. # script with STATUS, using 1 if that was 0.
  45914. as_fn_error ()
  45915. {
  45916. as_status=$1; test $as_status -eq 0 && as_status=1
  45917. if test "$4"; then
  45918. as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  45919. $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  45920. fi
  45921. $as_echo "$as_me: error: $2" >&2
  45922. as_fn_exit $as_status
  45923. } # as_fn_error
  45924. # as_fn_set_status STATUS
  45925. # -----------------------
  45926. # Set $? to STATUS, without forking.
  45927. as_fn_set_status ()
  45928. {
  45929. return $1
  45930. } # as_fn_set_status
  45931. # as_fn_exit STATUS
  45932. # -----------------
  45933. # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
  45934. as_fn_exit ()
  45935. {
  45936. set +e
  45937. as_fn_set_status $1
  45938. exit $1
  45939. } # as_fn_exit
  45940. # as_fn_unset VAR
  45941. # ---------------
  45942. # Portably unset VAR.
  45943. as_fn_unset ()
  45944. {
  45945. { eval $1=; unset $1;}
  45946. }
  45947. as_unset=as_fn_unset
  45948. # as_fn_append VAR VALUE
  45949. # ----------------------
  45950. # Append the text in VALUE to the end of the definition contained in VAR. Take
  45951. # advantage of any shell optimizations that allow amortized linear growth over
  45952. # repeated appends, instead of the typical quadratic growth present in naive
  45953. # implementations.
  45954. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  45955. eval 'as_fn_append ()
  45956. {
  45957. eval $1+=\$2
  45958. }'
  45959. else
  45960. as_fn_append ()
  45961. {
  45962. eval $1=\$$1\$2
  45963. }
  45964. fi # as_fn_append
  45965. # as_fn_arith ARG...
  45966. # ------------------
  45967. # Perform arithmetic evaluation on the ARGs, and store the result in the
  45968. # global $as_val. Take advantage of shells that can avoid forks. The arguments
  45969. # must be portable across $(()) and expr.
  45970. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  45971. eval 'as_fn_arith ()
  45972. {
  45973. as_val=$(( $* ))
  45974. }'
  45975. else
  45976. as_fn_arith ()
  45977. {
  45978. as_val=`expr "$@" || test $? -eq 1`
  45979. }
  45980. fi # as_fn_arith
  45981. if expr a : '\(a\)' >/dev/null 2>&1 &&
  45982. test "X`expr 00001 : '.*\(...\)'`" = X001; then
  45983. as_expr=expr
  45984. else
  45985. as_expr=false
  45986. fi
  45987. if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  45988. as_basename=basename
  45989. else
  45990. as_basename=false
  45991. fi
  45992. if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  45993. as_dirname=dirname
  45994. else
  45995. as_dirname=false
  45996. fi
  45997. as_me=`$as_basename -- "$0" ||
  45998. $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
  45999. X"$0" : 'X\(//\)$' \| \
  46000. X"$0" : 'X\(/\)' \| . 2>/dev/null ||
  46001. $as_echo X/"$0" |
  46002. sed '/^.*\/\([^/][^/]*\)\/*$/{
  46003. s//\1/
  46004. q
  46005. }
  46006. /^X\/\(\/\/\)$/{
  46007. s//\1/
  46008. q
  46009. }
  46010. /^X\/\(\/\).*/{
  46011. s//\1/
  46012. q
  46013. }
  46014. s/.*/./; q'`
  46015. # Avoid depending upon Character Ranges.
  46016. as_cr_letters='abcdefghijklmnopqrstuvwxyz'
  46017. as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  46018. as_cr_Letters=$as_cr_letters$as_cr_LETTERS
  46019. as_cr_digits='0123456789'
  46020. as_cr_alnum=$as_cr_Letters$as_cr_digits
  46021. ECHO_C= ECHO_N= ECHO_T=
  46022. case `echo -n x` in #(((((
  46023. -n*)
  46024. case `echo 'xy\c'` in
  46025. *c*) ECHO_T=' ';; # ECHO_T is single tab character.
  46026. xy) ECHO_C='\c';;
  46027. *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
  46028. ECHO_T=' ';;
  46029. esac;;
  46030. *)
  46031. ECHO_N='-n';;
  46032. esac
  46033. rm -f conf$$ conf$$.exe conf$$.file
  46034. if test -d conf$$.dir; then
  46035. rm -f conf$$.dir/conf$$.file
  46036. else
  46037. rm -f conf$$.dir
  46038. mkdir conf$$.dir 2>/dev/null
  46039. fi
  46040. if (echo >conf$$.file) 2>/dev/null; then
  46041. if ln -s conf$$.file conf$$ 2>/dev/null; then
  46042. as_ln_s='ln -s'
  46043. # ... but there are two gotchas:
  46044. # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
  46045. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
  46046. # In both cases, we have to default to `cp -pR'.
  46047. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
  46048. as_ln_s='cp -pR'
  46049. elif ln conf$$.file conf$$ 2>/dev/null; then
  46050. as_ln_s=ln
  46051. else
  46052. as_ln_s='cp -pR'
  46053. fi
  46054. else
  46055. as_ln_s='cp -pR'
  46056. fi
  46057. rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
  46058. rmdir conf$$.dir 2>/dev/null
  46059. # as_fn_mkdir_p
  46060. # -------------
  46061. # Create "$as_dir" as a directory, including parents if necessary.
  46062. as_fn_mkdir_p ()
  46063. {
  46064. case $as_dir in #(
  46065. -*) as_dir=./$as_dir;;
  46066. esac
  46067. test -d "$as_dir" || eval $as_mkdir_p || {
  46068. as_dirs=
  46069. while :; do
  46070. case $as_dir in #(
  46071. *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
  46072. *) as_qdir=$as_dir;;
  46073. esac
  46074. as_dirs="'$as_qdir' $as_dirs"
  46075. as_dir=`$as_dirname -- "$as_dir" ||
  46076. $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  46077. X"$as_dir" : 'X\(//\)[^/]' \| \
  46078. X"$as_dir" : 'X\(//\)$' \| \
  46079. X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
  46080. $as_echo X"$as_dir" |
  46081. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  46082. s//\1/
  46083. q
  46084. }
  46085. /^X\(\/\/\)[^/].*/{
  46086. s//\1/
  46087. q
  46088. }
  46089. /^X\(\/\/\)$/{
  46090. s//\1/
  46091. q
  46092. }
  46093. /^X\(\/\).*/{
  46094. s//\1/
  46095. q
  46096. }
  46097. s/.*/./; q'`
  46098. test -d "$as_dir" && break
  46099. done
  46100. test -z "$as_dirs" || eval "mkdir $as_dirs"
  46101. } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
  46102. } # as_fn_mkdir_p
  46103. if mkdir -p . 2>/dev/null; then
  46104. as_mkdir_p='mkdir -p "$as_dir"'
  46105. else
  46106. test -d ./-p && rmdir ./-p
  46107. as_mkdir_p=false
  46108. fi
  46109. # as_fn_executable_p FILE
  46110. # -----------------------
  46111. # Test if FILE is an executable regular file.
  46112. as_fn_executable_p ()
  46113. {
  46114. test -f "$1" && test -x "$1"
  46115. } # as_fn_executable_p
  46116. as_test_x='test -x'
  46117. as_executable_p=as_fn_executable_p
  46118. # Sed expression to map a string onto a valid CPP name.
  46119. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
  46120. # Sed expression to map a string onto a valid variable name.
  46121. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
  46122. exec 6>&1
  46123. ## ----------------------------------- ##
  46124. ## Main body of $CONFIG_STATUS script. ##
  46125. ## ----------------------------------- ##
  46126. _ASEOF
  46127. test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
  46128. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  46129. # Save the log message, to keep $0 and so on meaningful, and to
  46130. # report actual input values of CONFIG_FILES etc. instead of their
  46131. # values after options handling.
  46132. ac_log="
  46133. This file was extended by libmesh $as_me 1.7.0-pre, which was
  46134. generated by GNU Autoconf 2.69. Invocation command line was
  46135. CONFIG_FILES = $CONFIG_FILES
  46136. CONFIG_HEADERS = $CONFIG_HEADERS
  46137. CONFIG_LINKS = $CONFIG_LINKS
  46138. CONFIG_COMMANDS = $CONFIG_COMMANDS
  46139. $ $0 $@
  46140. on `(hostname || uname -n) 2>/dev/null | sed 1q`
  46141. "
  46142. _ACEOF
  46143. case $ac_config_files in *"
  46144. "*) set x $ac_config_files; shift; ac_config_files=$*;;
  46145. esac
  46146. case $ac_config_headers in *"
  46147. "*) set x $ac_config_headers; shift; ac_config_headers=$*;;
  46148. esac
  46149. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  46150. # Files that config.status was made for.
  46151. config_files="$ac_config_files"
  46152. config_headers="$ac_config_headers"
  46153. config_commands="$ac_config_commands"
  46154. _ACEOF
  46155. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  46156. ac_cs_usage="\
  46157. \`$as_me' instantiates files and other configuration actions
  46158. from templates according to the current configuration. Unless the files
  46159. and actions are specified as TAGs, all are instantiated by default.
  46160. Usage: $0 [OPTION]... [TAG]...
  46161. -h, --help print this help, then exit
  46162. -V, --version print version number and configuration settings, then exit
  46163. --config print configuration, then exit
  46164. -q, --quiet, --silent
  46165. do not print progress messages
  46166. -d, --debug don't remove temporary files
  46167. --recheck update $as_me by reconfiguring in the same conditions
  46168. --file=FILE[:TEMPLATE]
  46169. instantiate the configuration file FILE
  46170. --header=FILE[:TEMPLATE]
  46171. instantiate the configuration header FILE
  46172. Configuration files:
  46173. $config_files
  46174. Configuration headers:
  46175. $config_headers
  46176. Configuration commands:
  46177. $config_commands
  46178. Report bugs to <libmesh-users@lists.sourceforge.net>.
  46179. libmesh home page: <http://libmesh.github.io>."
  46180. _ACEOF
  46181. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  46182. ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
  46183. ac_cs_version="\\
  46184. libmesh config.status 1.7.0-pre
  46185. configured by $0, generated by GNU Autoconf 2.69,
  46186. with options \\"\$ac_cs_config\\"
  46187. Copyright (C) 2012 Free Software Foundation, Inc.
  46188. This config.status script is free software; the Free Software Foundation
  46189. gives unlimited permission to copy, distribute and modify it."
  46190. ac_pwd='$ac_pwd'
  46191. srcdir='$srcdir'
  46192. INSTALL='$INSTALL'
  46193. MKDIR_P='$MKDIR_P'
  46194. AWK='$AWK'
  46195. test -n "\$AWK" || AWK=awk
  46196. _ACEOF
  46197. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  46198. # The default lists apply if the user does not specify any file.
  46199. ac_need_defaults=:
  46200. while test $# != 0
  46201. do
  46202. case $1 in
  46203. --*=?*)
  46204. ac_option=`expr "X$1" : 'X\([^=]*\)='`
  46205. ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
  46206. ac_shift=:
  46207. ;;
  46208. --*=)
  46209. ac_option=`expr "X$1" : 'X\([^=]*\)='`
  46210. ac_optarg=
  46211. ac_shift=:
  46212. ;;
  46213. *)
  46214. ac_option=$1
  46215. ac_optarg=$2
  46216. ac_shift=shift
  46217. ;;
  46218. esac
  46219. case $ac_option in
  46220. # Handling of the options.
  46221. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  46222. ac_cs_recheck=: ;;
  46223. --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
  46224. $as_echo "$ac_cs_version"; exit ;;
  46225. --config | --confi | --conf | --con | --co | --c )
  46226. $as_echo "$ac_cs_config"; exit ;;
  46227. --debug | --debu | --deb | --de | --d | -d )
  46228. debug=: ;;
  46229. --file | --fil | --fi | --f )
  46230. $ac_shift
  46231. case $ac_optarg in
  46232. *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
  46233. '') as_fn_error $? "missing file argument" ;;
  46234. esac
  46235. as_fn_append CONFIG_FILES " '$ac_optarg'"
  46236. ac_need_defaults=false;;
  46237. --header | --heade | --head | --hea )
  46238. $ac_shift
  46239. case $ac_optarg in
  46240. *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
  46241. esac
  46242. as_fn_append CONFIG_HEADERS " '$ac_optarg'"
  46243. ac_need_defaults=false;;
  46244. --he | --h)
  46245. # Conflict between --help and --header
  46246. as_fn_error $? "ambiguous option: \`$1'
  46247. Try \`$0 --help' for more information.";;
  46248. --help | --hel | -h )
  46249. $as_echo "$ac_cs_usage"; exit ;;
  46250. -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  46251. | -silent | --silent | --silen | --sile | --sil | --si | --s)
  46252. ac_cs_silent=: ;;
  46253. # This is an error.
  46254. -*) as_fn_error $? "unrecognized option: \`$1'
  46255. Try \`$0 --help' for more information." ;;
  46256. *) as_fn_append ac_config_targets " $1"
  46257. ac_need_defaults=false ;;
  46258. esac
  46259. shift
  46260. done
  46261. ac_configure_extra_args=
  46262. if $ac_cs_silent; then
  46263. exec 6>/dev/null
  46264. ac_configure_extra_args="$ac_configure_extra_args --silent"
  46265. fi
  46266. _ACEOF
  46267. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  46268. if \$ac_cs_recheck; then
  46269. set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  46270. shift
  46271. \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
  46272. CONFIG_SHELL='$SHELL'
  46273. export CONFIG_SHELL
  46274. exec "\$@"
  46275. fi
  46276. _ACEOF
  46277. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  46278. exec 5>>config.log
  46279. {
  46280. echo
  46281. sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
  46282. ## Running $as_me. ##
  46283. _ASBOX
  46284. $as_echo "$ac_log"
  46285. } >&5
  46286. _ACEOF
  46287. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  46288. #
  46289. # INIT-COMMANDS
  46290. #
  46291. PACKAGE="$PACKAGE"
  46292. AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
  46293. # The HP-UX ksh and POSIX shell print the target directory to stdout
  46294. # if CDPATH is set.
  46295. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
  46296. sed_quote_subst='$sed_quote_subst'
  46297. double_quote_subst='$double_quote_subst'
  46298. delay_variable_subst='$delay_variable_subst'
  46299. macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
  46300. macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
  46301. enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
  46302. enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
  46303. pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
  46304. enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
  46305. shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
  46306. SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
  46307. ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
  46308. PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
  46309. host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
  46310. host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
  46311. host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
  46312. build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
  46313. build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
  46314. build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
  46315. SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
  46316. Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
  46317. GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
  46318. EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
  46319. FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
  46320. LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
  46321. NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
  46322. LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
  46323. max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
  46324. ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
  46325. exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
  46326. lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  46327. lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  46328. lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
  46329. lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
  46330. lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
  46331. reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
  46332. reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
  46333. OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
  46334. deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
  46335. file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
  46336. file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
  46337. want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
  46338. DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
  46339. sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
  46340. AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
  46341. AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
  46342. archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
  46343. STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  46344. RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  46345. old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
  46346. old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
  46347. old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
  46348. lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
  46349. CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
  46350. CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
  46351. compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
  46352. GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
  46353. lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
  46354. lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  46355. lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
  46356. lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  46357. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
  46358. lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
  46359. nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
  46360. lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
  46361. lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
  46362. objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
  46363. MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
  46364. lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
  46365. lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
  46366. lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
  46367. lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
  46368. lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
  46369. need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
  46370. MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
  46371. DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  46372. NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  46373. LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
  46374. OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
  46375. OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
  46376. libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
  46377. shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
  46378. extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
  46379. archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
  46380. enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
  46381. export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
  46382. whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
  46383. compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
  46384. old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
  46385. old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
  46386. archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
  46387. archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
  46388. module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
  46389. module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
  46390. with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
  46391. allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
  46392. no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
  46393. hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
  46394. hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
  46395. hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
  46396. hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
  46397. hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
  46398. hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
  46399. hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  46400. inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  46401. link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
  46402. always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
  46403. export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
  46404. exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
  46405. include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
  46406. prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
  46407. postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
  46408. file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  46409. variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  46410. need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
  46411. need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
  46412. version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
  46413. runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
  46414. shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
  46415. shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
  46416. libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
  46417. library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
  46418. soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
  46419. install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
  46420. postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
  46421. postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
  46422. finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
  46423. finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
  46424. hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
  46425. sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
  46426. configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
  46427. configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
  46428. hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
  46429. enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
  46430. enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
  46431. enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
  46432. old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
  46433. striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
  46434. compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
  46435. predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
  46436. postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
  46437. predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
  46438. postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
  46439. compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
  46440. LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
  46441. LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`'
  46442. LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`'
  46443. reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
  46444. reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`'
  46445. reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`'
  46446. reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46447. reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46448. reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46449. old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46450. old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46451. old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46452. compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
  46453. compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`'
  46454. compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`'
  46455. GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
  46456. GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`'
  46457. GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`'
  46458. lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
  46459. lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`'
  46460. lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`'
  46461. lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
  46462. lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`'
  46463. lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`'
  46464. lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
  46465. lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`'
  46466. lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`'
  46467. lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
  46468. lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`'
  46469. lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`'
  46470. lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
  46471. lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`'
  46472. lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`'
  46473. archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
  46474. archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`'
  46475. archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`'
  46476. enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
  46477. enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`'
  46478. enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`'
  46479. export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
  46480. export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`'
  46481. export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`'
  46482. whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
  46483. whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`'
  46484. whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`'
  46485. compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
  46486. compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`'
  46487. compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`'
  46488. old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46489. old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46490. old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46491. old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46492. old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46493. old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46494. archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46495. archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46496. archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46497. archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46498. archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46499. archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46500. module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46501. module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46502. module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46503. module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46504. module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46505. module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46506. with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
  46507. with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`'
  46508. with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`'
  46509. allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
  46510. allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`'
  46511. allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`'
  46512. no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
  46513. no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`'
  46514. no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`'
  46515. hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
  46516. hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`'
  46517. hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`'
  46518. hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
  46519. hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`'
  46520. hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`'
  46521. hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
  46522. hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`'
  46523. hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`'
  46524. hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
  46525. hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`'
  46526. hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`'
  46527. hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
  46528. hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`'
  46529. hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`'
  46530. hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
  46531. hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`'
  46532. hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`'
  46533. hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
  46534. hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`'
  46535. hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`'
  46536. inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
  46537. inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`'
  46538. inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`'
  46539. link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
  46540. link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`'
  46541. link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`'
  46542. always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
  46543. always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`'
  46544. always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`'
  46545. export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46546. export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46547. export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46548. exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
  46549. exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`'
  46550. exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`'
  46551. include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
  46552. include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`'
  46553. include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`'
  46554. prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46555. prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46556. prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46557. postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
  46558. postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`'
  46559. postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`'
  46560. file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
  46561. file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`'
  46562. file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`'
  46563. hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
  46564. hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`'
  46565. hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`'
  46566. compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
  46567. compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`'
  46568. compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`'
  46569. predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
  46570. predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`'
  46571. predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`'
  46572. postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
  46573. postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`'
  46574. postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`'
  46575. predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
  46576. predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`'
  46577. predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`'
  46578. postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
  46579. postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`'
  46580. postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`'
  46581. compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
  46582. compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`'
  46583. compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`'
  46584. LTCC='$LTCC'
  46585. LTCFLAGS='$LTCFLAGS'
  46586. compiler='$compiler_DEFAULT'
  46587. # A function that is used when there is no print builtin or printf.
  46588. func_fallback_echo ()
  46589. {
  46590. eval 'cat <<_LTECHO_EOF
  46591. \$1
  46592. _LTECHO_EOF'
  46593. }
  46594. # Quote evaled strings.
  46595. for var in SHELL \
  46596. ECHO \
  46597. PATH_SEPARATOR \
  46598. SED \
  46599. GREP \
  46600. EGREP \
  46601. FGREP \
  46602. LD \
  46603. NM \
  46604. LN_S \
  46605. lt_SP2NL \
  46606. lt_NL2SP \
  46607. reload_flag \
  46608. OBJDUMP \
  46609. deplibs_check_method \
  46610. file_magic_cmd \
  46611. file_magic_glob \
  46612. want_nocaseglob \
  46613. DLLTOOL \
  46614. sharedlib_from_linklib_cmd \
  46615. AR \
  46616. AR_FLAGS \
  46617. archiver_list_spec \
  46618. STRIP \
  46619. RANLIB \
  46620. CC \
  46621. CFLAGS \
  46622. compiler \
  46623. lt_cv_sys_global_symbol_pipe \
  46624. lt_cv_sys_global_symbol_to_cdecl \
  46625. lt_cv_sys_global_symbol_to_import \
  46626. lt_cv_sys_global_symbol_to_c_name_address \
  46627. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
  46628. lt_cv_nm_interface \
  46629. nm_file_list_spec \
  46630. lt_cv_truncate_bin \
  46631. lt_prog_compiler_no_builtin_flag \
  46632. lt_prog_compiler_pic \
  46633. lt_prog_compiler_wl \
  46634. lt_prog_compiler_static \
  46635. lt_cv_prog_compiler_c_o \
  46636. need_locks \
  46637. MANIFEST_TOOL \
  46638. DSYMUTIL \
  46639. NMEDIT \
  46640. LIPO \
  46641. OTOOL \
  46642. OTOOL64 \
  46643. shrext_cmds \
  46644. export_dynamic_flag_spec \
  46645. whole_archive_flag_spec \
  46646. compiler_needs_object \
  46647. with_gnu_ld \
  46648. allow_undefined_flag \
  46649. no_undefined_flag \
  46650. hardcode_libdir_flag_spec \
  46651. hardcode_libdir_separator \
  46652. exclude_expsyms \
  46653. include_expsyms \
  46654. file_list_spec \
  46655. variables_saved_for_relink \
  46656. libname_spec \
  46657. library_names_spec \
  46658. soname_spec \
  46659. install_override_mode \
  46660. finish_eval \
  46661. old_striplib \
  46662. striplib \
  46663. compiler_lib_search_dirs \
  46664. predep_objects \
  46665. postdep_objects \
  46666. predeps \
  46667. postdeps \
  46668. compiler_lib_search_path \
  46669. LD_CXX \
  46670. LD_F77 \
  46671. LD_FC \
  46672. reload_flag_CXX \
  46673. reload_flag_F77 \
  46674. reload_flag_FC \
  46675. compiler_CXX \
  46676. compiler_F77 \
  46677. compiler_FC \
  46678. lt_prog_compiler_no_builtin_flag_CXX \
  46679. lt_prog_compiler_no_builtin_flag_F77 \
  46680. lt_prog_compiler_no_builtin_flag_FC \
  46681. lt_prog_compiler_pic_CXX \
  46682. lt_prog_compiler_pic_F77 \
  46683. lt_prog_compiler_pic_FC \
  46684. lt_prog_compiler_wl_CXX \
  46685. lt_prog_compiler_wl_F77 \
  46686. lt_prog_compiler_wl_FC \
  46687. lt_prog_compiler_static_CXX \
  46688. lt_prog_compiler_static_F77 \
  46689. lt_prog_compiler_static_FC \
  46690. lt_cv_prog_compiler_c_o_CXX \
  46691. lt_cv_prog_compiler_c_o_F77 \
  46692. lt_cv_prog_compiler_c_o_FC \
  46693. export_dynamic_flag_spec_CXX \
  46694. export_dynamic_flag_spec_F77 \
  46695. export_dynamic_flag_spec_FC \
  46696. whole_archive_flag_spec_CXX \
  46697. whole_archive_flag_spec_F77 \
  46698. whole_archive_flag_spec_FC \
  46699. compiler_needs_object_CXX \
  46700. compiler_needs_object_F77 \
  46701. compiler_needs_object_FC \
  46702. with_gnu_ld_CXX \
  46703. with_gnu_ld_F77 \
  46704. with_gnu_ld_FC \
  46705. allow_undefined_flag_CXX \
  46706. allow_undefined_flag_F77 \
  46707. allow_undefined_flag_FC \
  46708. no_undefined_flag_CXX \
  46709. no_undefined_flag_F77 \
  46710. no_undefined_flag_FC \
  46711. hardcode_libdir_flag_spec_CXX \
  46712. hardcode_libdir_flag_spec_F77 \
  46713. hardcode_libdir_flag_spec_FC \
  46714. hardcode_libdir_separator_CXX \
  46715. hardcode_libdir_separator_F77 \
  46716. hardcode_libdir_separator_FC \
  46717. exclude_expsyms_CXX \
  46718. exclude_expsyms_F77 \
  46719. exclude_expsyms_FC \
  46720. include_expsyms_CXX \
  46721. include_expsyms_F77 \
  46722. include_expsyms_FC \
  46723. file_list_spec_CXX \
  46724. file_list_spec_F77 \
  46725. file_list_spec_FC \
  46726. compiler_lib_search_dirs_CXX \
  46727. compiler_lib_search_dirs_F77 \
  46728. compiler_lib_search_dirs_FC \
  46729. predep_objects_CXX \
  46730. predep_objects_F77 \
  46731. predep_objects_FC \
  46732. postdep_objects_CXX \
  46733. postdep_objects_F77 \
  46734. postdep_objects_FC \
  46735. predeps_CXX \
  46736. predeps_F77 \
  46737. predeps_FC \
  46738. postdeps_CXX \
  46739. postdeps_F77 \
  46740. postdeps_FC \
  46741. compiler_lib_search_path_CXX \
  46742. compiler_lib_search_path_F77 \
  46743. compiler_lib_search_path_FC; do
  46744. case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
  46745. *[\\\\\\\`\\"\\\$]*)
  46746. eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
  46747. ;;
  46748. *)
  46749. eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
  46750. ;;
  46751. esac
  46752. done
  46753. # Double-quote double-evaled strings.
  46754. for var in reload_cmds \
  46755. old_postinstall_cmds \
  46756. old_postuninstall_cmds \
  46757. old_archive_cmds \
  46758. extract_expsyms_cmds \
  46759. old_archive_from_new_cmds \
  46760. old_archive_from_expsyms_cmds \
  46761. archive_cmds \
  46762. archive_expsym_cmds \
  46763. module_cmds \
  46764. module_expsym_cmds \
  46765. export_symbols_cmds \
  46766. prelink_cmds \
  46767. postlink_cmds \
  46768. postinstall_cmds \
  46769. postuninstall_cmds \
  46770. finish_cmds \
  46771. sys_lib_search_path_spec \
  46772. configure_time_dlsearch_path \
  46773. configure_time_lt_sys_library_path \
  46774. reload_cmds_CXX \
  46775. reload_cmds_F77 \
  46776. reload_cmds_FC \
  46777. old_archive_cmds_CXX \
  46778. old_archive_cmds_F77 \
  46779. old_archive_cmds_FC \
  46780. old_archive_from_new_cmds_CXX \
  46781. old_archive_from_new_cmds_F77 \
  46782. old_archive_from_new_cmds_FC \
  46783. old_archive_from_expsyms_cmds_CXX \
  46784. old_archive_from_expsyms_cmds_F77 \
  46785. old_archive_from_expsyms_cmds_FC \
  46786. archive_cmds_CXX \
  46787. archive_cmds_F77 \
  46788. archive_cmds_FC \
  46789. archive_expsym_cmds_CXX \
  46790. archive_expsym_cmds_F77 \
  46791. archive_expsym_cmds_FC \
  46792. module_cmds_CXX \
  46793. module_cmds_F77 \
  46794. module_cmds_FC \
  46795. module_expsym_cmds_CXX \
  46796. module_expsym_cmds_F77 \
  46797. module_expsym_cmds_FC \
  46798. export_symbols_cmds_CXX \
  46799. export_symbols_cmds_F77 \
  46800. export_symbols_cmds_FC \
  46801. prelink_cmds_CXX \
  46802. prelink_cmds_F77 \
  46803. prelink_cmds_FC \
  46804. postlink_cmds_CXX \
  46805. postlink_cmds_F77 \
  46806. postlink_cmds_FC; do
  46807. case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
  46808. *[\\\\\\\`\\"\\\$]*)
  46809. eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
  46810. ;;
  46811. *)
  46812. eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
  46813. ;;
  46814. esac
  46815. done
  46816. ac_aux_dir='$ac_aux_dir'
  46817. # See if we are running on zsh, and set the options that allow our
  46818. # commands through without removal of \ escapes INIT.
  46819. if test -n "\${ZSH_VERSION+set}"; then
  46820. setopt NO_GLOB_SUBST
  46821. fi
  46822. PACKAGE='$PACKAGE'
  46823. VERSION='$VERSION'
  46824. RM='$RM'
  46825. ofile='$ofile'
  46826. _ACEOF
  46827. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  46828. # Handling of arguments.
  46829. for ac_config_target in $ac_config_targets
  46830. do
  46831. case $ac_config_target in
  46832. "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
  46833. "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
  46834. "include/libmesh/Makefile") CONFIG_FILES="$CONFIG_FILES include/libmesh/Makefile" ;;
  46835. "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
  46836. "contrib/utils/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/utils/Makefile" ;;
  46837. "contrib/utils/Make.common") CONFIG_FILES="$CONFIG_FILES contrib/utils/Make.common" ;;
  46838. "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
  46839. "contrib/utils/libmesh-opt.pc") CONFIG_FILES="$CONFIG_FILES contrib/utils/libmesh-opt.pc" ;;
  46840. "contrib/utils/libmesh-dbg.pc") CONFIG_FILES="$CONFIG_FILES contrib/utils/libmesh-dbg.pc" ;;
  46841. "contrib/utils/libmesh-devel.pc") CONFIG_FILES="$CONFIG_FILES contrib/utils/libmesh-devel.pc" ;;
  46842. "contrib/utils/libmesh-prof.pc") CONFIG_FILES="$CONFIG_FILES contrib/utils/libmesh-prof.pc" ;;
  46843. "contrib/utils/libmesh-oprof.pc") CONFIG_FILES="$CONFIG_FILES contrib/utils/libmesh-oprof.pc" ;;
  46844. "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
  46845. "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
  46846. "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
  46847. "contrib/bin/libmesh-config") CONFIG_FILES="$CONFIG_FILES contrib/bin/libmesh-config" ;;
  46848. "contrib/bin/create_libmesh_release") CONFIG_FILES="$CONFIG_FILES contrib/bin/create_libmesh_release" ;;
  46849. "doc/dot") CONFIG_FILES="$CONFIG_FILES doc/dot" ;;
  46850. "tests/run_unit_tests.sh") CONFIG_FILES="$CONFIG_FILES tests/run_unit_tests.sh" ;;
  46851. "include/libmesh_config.h.tmp") CONFIG_HEADERS="$CONFIG_HEADERS include/libmesh_config.h.tmp:include/libmesh_config.h.in" ;;
  46852. "include/libmesh_config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS include/libmesh_config.h" ;;
  46853. "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
  46854. "contrib/utils/libmesh.pc") CONFIG_FILES="$CONFIG_FILES contrib/utils/libmesh.pc:$LIBMESH_PC_IN" ;;
  46855. "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
  46856. "contrib/boost/include/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/boost/include/Makefile" ;;
  46857. "contrib/laspack/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/laspack/Makefile" ;;
  46858. "contrib/sfcurves/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/sfcurves/Makefile" ;;
  46859. "contrib/gzstream/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/gzstream/Makefile" ;;
  46860. "contrib/tecplot/tecio/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/tecplot/tecio/Makefile" ;;
  46861. "contrib/tecplot/binary/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/tecplot/binary/Makefile" ;;
  46862. "contrib/metis/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/metis/Makefile" ;;
  46863. "contrib/parmetis/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/parmetis/Makefile" ;;
  46864. "contrib/tetgen/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/tetgen/Makefile" ;;
  46865. "contrib/triangle/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/triangle/Makefile" ;;
  46866. "contrib/qhull/qhull/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/qhull/qhull/Makefile" ;;
  46867. "contrib/gmv/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/gmv/Makefile" ;;
  46868. "contrib/eigen/eigen/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/eigen/eigen/Makefile" ;;
  46869. "contrib/capnproto/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/capnproto/Makefile" ;;
  46870. "contrib/exodusii/v5.09/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/exodusii/v5.09/Makefile" ;;
  46871. "contrib/exodusii/v5.22/exodus/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/exodusii/v5.22/exodus/Makefile" ;;
  46872. "contrib/nemesis/v3.09/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/nemesis/v3.09/Makefile" ;;
  46873. "contrib/nemesis/v5.22/nemesis/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/nemesis/v5.22/nemesis/Makefile" ;;
  46874. "contrib/libHilbert/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/libHilbert/Makefile" ;;
  46875. "contrib/fparser/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/fparser/Makefile" ;;
  46876. "contrib/fparser/extrasrc/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/fparser/extrasrc/Makefile" ;;
  46877. "contrib/nanoflann/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/nanoflann/Makefile" ;;
  46878. "examples/introduction/introduction_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/introduction/introduction_ex1/Makefile" ;;
  46879. "examples/introduction/introduction_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/introduction/introduction_ex2/Makefile" ;;
  46880. "examples/introduction/introduction_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/introduction/introduction_ex3/Makefile" ;;
  46881. "examples/introduction/introduction_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/introduction/introduction_ex4/Makefile" ;;
  46882. "examples/introduction/introduction_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/introduction/introduction_ex5/Makefile" ;;
  46883. "examples/adaptivity/adaptivity_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adaptivity/adaptivity_ex1/Makefile" ;;
  46884. "examples/adaptivity/adaptivity_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adaptivity/adaptivity_ex2/Makefile" ;;
  46885. "examples/adaptivity/adaptivity_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adaptivity/adaptivity_ex3/Makefile" ;;
  46886. "examples/adaptivity/adaptivity_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adaptivity/adaptivity_ex4/Makefile" ;;
  46887. "examples/adaptivity/adaptivity_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adaptivity/adaptivity_ex5/Makefile" ;;
  46888. "examples/adjoints/adjoints_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex1/Makefile" ;;
  46889. "examples/adjoints/adjoints_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex2/Makefile" ;;
  46890. "examples/adjoints/adjoints_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex3/Makefile" ;;
  46891. "examples/adjoints/adjoints_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex4/Makefile" ;;
  46892. "examples/adjoints/adjoints_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex5/Makefile" ;;
  46893. "examples/adjoints/adjoints_ex6/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex6/Makefile" ;;
  46894. "examples/adjoints/adjoints_ex7/Makefile") CONFIG_FILES="$CONFIG_FILES examples/adjoints/adjoints_ex7/Makefile" ;;
  46895. "examples/eigenproblems/eigenproblems_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/eigenproblems/eigenproblems_ex1/Makefile" ;;
  46896. "examples/eigenproblems/eigenproblems_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/eigenproblems/eigenproblems_ex2/Makefile" ;;
  46897. "examples/eigenproblems/eigenproblems_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/eigenproblems/eigenproblems_ex3/Makefile" ;;
  46898. "examples/fem_system/fem_system_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fem_system/fem_system_ex1/Makefile" ;;
  46899. "examples/fem_system/fem_system_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fem_system/fem_system_ex2/Makefile" ;;
  46900. "examples/fem_system/fem_system_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fem_system/fem_system_ex3/Makefile" ;;
  46901. "examples/fem_system/fem_system_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fem_system/fem_system_ex4/Makefile" ;;
  46902. "examples/fem_system/fem_system_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fem_system/fem_system_ex5/Makefile" ;;
  46903. "examples/solution_transfer/solution_transfer_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/solution_transfer/solution_transfer_ex1/Makefile" ;;
  46904. "examples/miscellaneous/miscellaneous_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex1/Makefile" ;;
  46905. "examples/miscellaneous/miscellaneous_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex2/Makefile" ;;
  46906. "examples/miscellaneous/miscellaneous_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex3/Makefile" ;;
  46907. "examples/miscellaneous/miscellaneous_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex4/Makefile" ;;
  46908. "examples/miscellaneous/miscellaneous_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex5/Makefile" ;;
  46909. "examples/miscellaneous/miscellaneous_ex6/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex6/Makefile" ;;
  46910. "examples/miscellaneous/miscellaneous_ex7/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex7/Makefile" ;;
  46911. "examples/miscellaneous/miscellaneous_ex8/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex8/Makefile" ;;
  46912. "examples/miscellaneous/miscellaneous_ex9/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex9/Makefile" ;;
  46913. "examples/miscellaneous/miscellaneous_ex10/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex10/Makefile" ;;
  46914. "examples/miscellaneous/miscellaneous_ex11/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex11/Makefile" ;;
  46915. "examples/miscellaneous/miscellaneous_ex12/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex12/Makefile" ;;
  46916. "examples/miscellaneous/miscellaneous_ex13/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex13/Makefile" ;;
  46917. "examples/miscellaneous/miscellaneous_ex14/Makefile") CONFIG_FILES="$CONFIG_FILES examples/miscellaneous/miscellaneous_ex14/Makefile" ;;
  46918. "examples/optimization/optimization_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/optimization/optimization_ex1/Makefile" ;;
  46919. "examples/optimization/optimization_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/optimization/optimization_ex2/Makefile" ;;
  46920. "examples/subdomains/subdomains_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/subdomains/subdomains_ex1/Makefile" ;;
  46921. "examples/subdomains/subdomains_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/subdomains/subdomains_ex2/Makefile" ;;
  46922. "examples/subdomains/subdomains_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/subdomains/subdomains_ex3/Makefile" ;;
  46923. "examples/systems_of_equations/systems_of_equations_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex1/Makefile" ;;
  46924. "examples/systems_of_equations/systems_of_equations_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex2/Makefile" ;;
  46925. "examples/systems_of_equations/systems_of_equations_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex3/Makefile" ;;
  46926. "examples/systems_of_equations/systems_of_equations_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex4/Makefile" ;;
  46927. "examples/systems_of_equations/systems_of_equations_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex5/Makefile" ;;
  46928. "examples/systems_of_equations/systems_of_equations_ex6/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex6/Makefile" ;;
  46929. "examples/systems_of_equations/systems_of_equations_ex7/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex7/Makefile" ;;
  46930. "examples/systems_of_equations/systems_of_equations_ex8/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex8/Makefile" ;;
  46931. "examples/systems_of_equations/systems_of_equations_ex9/Makefile") CONFIG_FILES="$CONFIG_FILES examples/systems_of_equations/systems_of_equations_ex9/Makefile" ;;
  46932. "examples/reduced_basis/reduced_basis_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex1/Makefile" ;;
  46933. "examples/reduced_basis/reduced_basis_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex2/Makefile" ;;
  46934. "examples/reduced_basis/reduced_basis_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex3/Makefile" ;;
  46935. "examples/reduced_basis/reduced_basis_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex4/Makefile" ;;
  46936. "examples/reduced_basis/reduced_basis_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex5/Makefile" ;;
  46937. "examples/reduced_basis/reduced_basis_ex6/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex6/Makefile" ;;
  46938. "examples/reduced_basis/reduced_basis_ex7/Makefile") CONFIG_FILES="$CONFIG_FILES examples/reduced_basis/reduced_basis_ex7/Makefile" ;;
  46939. "examples/transient/transient_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/transient/transient_ex1/Makefile" ;;
  46940. "examples/transient/transient_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/transient/transient_ex2/Makefile" ;;
  46941. "examples/vector_fe/vector_fe_ex1/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex1/Makefile" ;;
  46942. "examples/vector_fe/vector_fe_ex2/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex2/Makefile" ;;
  46943. "examples/vector_fe/vector_fe_ex3/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex3/Makefile" ;;
  46944. "examples/vector_fe/vector_fe_ex4/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex4/Makefile" ;;
  46945. "examples/vector_fe/vector_fe_ex5/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vector_fe/vector_fe_ex5/Makefile" ;;
  46946. "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
  46947. *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
  46948. esac
  46949. done
  46950. # If the user did not use the arguments to specify the items to instantiate,
  46951. # then the envvar interface is used. Set only those that are not.
  46952. # We use the long form for the default assignment because of an extremely
  46953. # bizarre bug on SunOS 4.1.3.
  46954. if $ac_need_defaults; then
  46955. test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
  46956. test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
  46957. test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
  46958. fi
  46959. # Have a temporary directory for convenience. Make it in the build tree
  46960. # simply because there is no reason against having it here, and in addition,
  46961. # creating and moving files from /tmp can sometimes cause problems.
  46962. # Hook for its removal unless debugging.
  46963. # Note that there is a small window in which the directory will not be cleaned:
  46964. # after its creation but before its name has been assigned to `$tmp'.
  46965. $debug ||
  46966. {
  46967. tmp= ac_tmp=
  46968. trap 'exit_status=$?
  46969. : "${ac_tmp:=$tmp}"
  46970. { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
  46971. ' 0
  46972. trap 'as_fn_exit 1' 1 2 13 15
  46973. }
  46974. # Create a (secure) tmp directory for tmp files.
  46975. {
  46976. tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
  46977. test -d "$tmp"
  46978. } ||
  46979. {
  46980. tmp=./conf$$-$RANDOM
  46981. (umask 077 && mkdir "$tmp")
  46982. } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
  46983. ac_tmp=$tmp
  46984. # Set up the scripts for CONFIG_FILES section.
  46985. # No need to generate them if there are no CONFIG_FILES.
  46986. # This happens for instance with `./config.status config.h'.
  46987. if test -n "$CONFIG_FILES"; then
  46988. ac_cr=`echo X | tr X '\015'`
  46989. # On cygwin, bash can eat \r inside `` if the user requested igncr.
  46990. # But we know of no other shell where ac_cr would be empty at this
  46991. # point, so we can use a bashism as a fallback.
  46992. if test "x$ac_cr" = x; then
  46993. eval ac_cr=\$\'\\r\'
  46994. fi
  46995. ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
  46996. if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
  46997. ac_cs_awk_cr='\\r'
  46998. else
  46999. ac_cs_awk_cr=$ac_cr
  47000. fi
  47001. echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
  47002. _ACEOF
  47003. {
  47004. echo "cat >conf$$subs.awk <<_ACEOF" &&
  47005. echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
  47006. echo "_ACEOF"
  47007. } >conf$$subs.sh ||
  47008. as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
  47009. ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
  47010. ac_delim='%!_!# '
  47011. for ac_last_try in false false false false false :; do
  47012. . ./conf$$subs.sh ||
  47013. as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
  47014. ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
  47015. if test $ac_delim_n = $ac_delim_num; then
  47016. break
  47017. elif $ac_last_try; then
  47018. as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
  47019. else
  47020. ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  47021. fi
  47022. done
  47023. rm -f conf$$subs.sh
  47024. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  47025. cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
  47026. _ACEOF
  47027. sed -n '
  47028. h
  47029. s/^/S["/; s/!.*/"]=/
  47030. p
  47031. g
  47032. s/^[^!]*!//
  47033. :repl
  47034. t repl
  47035. s/'"$ac_delim"'$//
  47036. t delim
  47037. :nl
  47038. h
  47039. s/\(.\{148\}\)..*/\1/
  47040. t more1
  47041. s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
  47042. p
  47043. n
  47044. b repl
  47045. :more1
  47046. s/["\\]/\\&/g; s/^/"/; s/$/"\\/
  47047. p
  47048. g
  47049. s/.\{148\}//
  47050. t nl
  47051. :delim
  47052. h
  47053. s/\(.\{148\}\)..*/\1/
  47054. t more2
  47055. s/["\\]/\\&/g; s/^/"/; s/$/"/
  47056. p
  47057. b
  47058. :more2
  47059. s/["\\]/\\&/g; s/^/"/; s/$/"\\/
  47060. p
  47061. g
  47062. s/.\{148\}//
  47063. t delim
  47064. ' <conf$$subs.awk | sed '
  47065. /^[^""]/{
  47066. N
  47067. s/\n//
  47068. }
  47069. ' >>$CONFIG_STATUS || ac_write_fail=1
  47070. rm -f conf$$subs.awk
  47071. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  47072. _ACAWK
  47073. cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
  47074. for (key in S) S_is_set[key] = 1
  47075. FS = ""
  47076. }
  47077. {
  47078. line = $ 0
  47079. nfields = split(line, field, "@")
  47080. substed = 0
  47081. len = length(field[1])
  47082. for (i = 2; i < nfields; i++) {
  47083. key = field[i]
  47084. keylen = length(key)
  47085. if (S_is_set[key]) {
  47086. value = S[key]
  47087. line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
  47088. len += length(value) + length(field[++i])
  47089. substed = 1
  47090. } else
  47091. len += 1 + keylen
  47092. }
  47093. print line
  47094. }
  47095. _ACAWK
  47096. _ACEOF
  47097. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  47098. if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
  47099. sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
  47100. else
  47101. cat
  47102. fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
  47103. || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
  47104. _ACEOF
  47105. # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
  47106. # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
  47107. # trailing colons and then remove the whole line if VPATH becomes empty
  47108. # (actually we leave an empty line to preserve line numbers).
  47109. if test "x$srcdir" = x.; then
  47110. ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
  47111. h
  47112. s///
  47113. s/^/:/
  47114. s/[ ]*$/:/
  47115. s/:\$(srcdir):/:/g
  47116. s/:\${srcdir}:/:/g
  47117. s/:@srcdir@:/:/g
  47118. s/^:*//
  47119. s/:*$//
  47120. x
  47121. s/\(=[ ]*\).*/\1/
  47122. G
  47123. s/\n//
  47124. s/^[^=]*=[ ]*$//
  47125. }'
  47126. fi
  47127. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  47128. fi # test -n "$CONFIG_FILES"
  47129. # Set up the scripts for CONFIG_HEADERS section.
  47130. # No need to generate them if there are no CONFIG_HEADERS.
  47131. # This happens for instance with `./config.status Makefile'.
  47132. if test -n "$CONFIG_HEADERS"; then
  47133. cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
  47134. BEGIN {
  47135. _ACEOF
  47136. # Transform confdefs.h into an awk script `defines.awk', embedded as
  47137. # here-document in config.status, that substitutes the proper values into
  47138. # config.h.in to produce config.h.
  47139. # Create a delimiter string that does not exist in confdefs.h, to ease
  47140. # handling of long lines.
  47141. ac_delim='%!_!# '
  47142. for ac_last_try in false false :; do
  47143. ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
  47144. if test -z "$ac_tt"; then
  47145. break
  47146. elif $ac_last_try; then
  47147. as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
  47148. else
  47149. ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  47150. fi
  47151. done
  47152. # For the awk script, D is an array of macro values keyed by name,
  47153. # likewise P contains macro parameters if any. Preserve backslash
  47154. # newline sequences.
  47155. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
  47156. sed -n '
  47157. s/.\{148\}/&'"$ac_delim"'/g
  47158. t rset
  47159. :rset
  47160. s/^[ ]*#[ ]*define[ ][ ]*/ /
  47161. t def
  47162. d
  47163. :def
  47164. s/\\$//
  47165. t bsnl
  47166. s/["\\]/\\&/g
  47167. s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
  47168. D["\1"]=" \3"/p
  47169. s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
  47170. d
  47171. :bsnl
  47172. s/["\\]/\\&/g
  47173. s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
  47174. D["\1"]=" \3\\\\\\n"\\/p
  47175. t cont
  47176. s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
  47177. t cont
  47178. d
  47179. :cont
  47180. n
  47181. s/.\{148\}/&'"$ac_delim"'/g
  47182. t clear
  47183. :clear
  47184. s/\\$//
  47185. t bsnlc
  47186. s/["\\]/\\&/g; s/^/"/; s/$/"/p
  47187. d
  47188. :bsnlc
  47189. s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
  47190. b cont
  47191. ' <confdefs.h | sed '
  47192. s/'"$ac_delim"'/"\\\
  47193. "/g' >>$CONFIG_STATUS || ac_write_fail=1
  47194. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  47195. for (key in D) D_is_set[key] = 1
  47196. FS = ""
  47197. }
  47198. /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
  47199. line = \$ 0
  47200. split(line, arg, " ")
  47201. if (arg[1] == "#") {
  47202. defundef = arg[2]
  47203. mac1 = arg[3]
  47204. } else {
  47205. defundef = substr(arg[1], 2)
  47206. mac1 = arg[2]
  47207. }
  47208. split(mac1, mac2, "(") #)
  47209. macro = mac2[1]
  47210. prefix = substr(line, 1, index(line, defundef) - 1)
  47211. if (D_is_set[macro]) {
  47212. # Preserve the white space surrounding the "#".
  47213. print prefix "define", macro P[macro] D[macro]
  47214. next
  47215. } else {
  47216. # Replace #undef with comments. This is necessary, for example,
  47217. # in the case of _POSIX_SOURCE, which is predefined and required
  47218. # on some systems where configure will not decide to define it.
  47219. if (defundef == "undef") {
  47220. print "/*", prefix defundef, macro, "*/"
  47221. next
  47222. }
  47223. }
  47224. }
  47225. { print }
  47226. _ACAWK
  47227. _ACEOF
  47228. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  47229. as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
  47230. fi # test -n "$CONFIG_HEADERS"
  47231. eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
  47232. shift
  47233. for ac_tag
  47234. do
  47235. case $ac_tag in
  47236. :[FHLC]) ac_mode=$ac_tag; continue;;
  47237. esac
  47238. case $ac_mode$ac_tag in
  47239. :[FHL]*:*);;
  47240. :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
  47241. :[FH]-) ac_tag=-:-;;
  47242. :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
  47243. esac
  47244. ac_save_IFS=$IFS
  47245. IFS=:
  47246. set x $ac_tag
  47247. IFS=$ac_save_IFS
  47248. shift
  47249. ac_file=$1
  47250. shift
  47251. case $ac_mode in
  47252. :L) ac_source=$1;;
  47253. :[FH])
  47254. ac_file_inputs=
  47255. for ac_f
  47256. do
  47257. case $ac_f in
  47258. -) ac_f="$ac_tmp/stdin";;
  47259. *) # Look for the file first in the build tree, then in the source tree
  47260. # (if the path is not absolute). The absolute path cannot be DOS-style,
  47261. # because $ac_f cannot contain `:'.
  47262. test -f "$ac_f" ||
  47263. case $ac_f in
  47264. [\\/$]*) false;;
  47265. *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
  47266. esac ||
  47267. as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
  47268. esac
  47269. case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
  47270. as_fn_append ac_file_inputs " '$ac_f'"
  47271. done
  47272. # Let's still pretend it is `configure' which instantiates (i.e., don't
  47273. # use $as_me), people would be surprised to read:
  47274. # /* config.h. Generated by config.status. */
  47275. configure_input='Generated from '`
  47276. $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
  47277. `' by configure.'
  47278. if test x"$ac_file" != x-; then
  47279. configure_input="$ac_file. $configure_input"
  47280. { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
  47281. $as_echo "$as_me: creating $ac_file" >&6;}
  47282. fi
  47283. # Neutralize special characters interpreted by sed in replacement strings.
  47284. case $configure_input in #(
  47285. *\&* | *\|* | *\\* )
  47286. ac_sed_conf_input=`$as_echo "$configure_input" |
  47287. sed 's/[\\\\&|]/\\\\&/g'`;; #(
  47288. *) ac_sed_conf_input=$configure_input;;
  47289. esac
  47290. case $ac_tag in
  47291. *:-:* | *:-) cat >"$ac_tmp/stdin" \
  47292. || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
  47293. esac
  47294. ;;
  47295. esac
  47296. ac_dir=`$as_dirname -- "$ac_file" ||
  47297. $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  47298. X"$ac_file" : 'X\(//\)[^/]' \| \
  47299. X"$ac_file" : 'X\(//\)$' \| \
  47300. X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
  47301. $as_echo X"$ac_file" |
  47302. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  47303. s//\1/
  47304. q
  47305. }
  47306. /^X\(\/\/\)[^/].*/{
  47307. s//\1/
  47308. q
  47309. }
  47310. /^X\(\/\/\)$/{
  47311. s//\1/
  47312. q
  47313. }
  47314. /^X\(\/\).*/{
  47315. s//\1/
  47316. q
  47317. }
  47318. s/.*/./; q'`
  47319. as_dir="$ac_dir"; as_fn_mkdir_p
  47320. ac_builddir=.
  47321. case "$ac_dir" in
  47322. .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
  47323. *)
  47324. ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  47325. # A ".." for each directory in $ac_dir_suffix.
  47326. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  47327. case $ac_top_builddir_sub in
  47328. "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  47329. *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  47330. esac ;;
  47331. esac
  47332. ac_abs_top_builddir=$ac_pwd
  47333. ac_abs_builddir=$ac_pwd$ac_dir_suffix
  47334. # for backward compatibility:
  47335. ac_top_builddir=$ac_top_build_prefix
  47336. case $srcdir in
  47337. .) # We are building in place.
  47338. ac_srcdir=.
  47339. ac_top_srcdir=$ac_top_builddir_sub
  47340. ac_abs_top_srcdir=$ac_pwd ;;
  47341. [\\/]* | ?:[\\/]* ) # Absolute name.
  47342. ac_srcdir=$srcdir$ac_dir_suffix;
  47343. ac_top_srcdir=$srcdir
  47344. ac_abs_top_srcdir=$srcdir ;;
  47345. *) # Relative name.
  47346. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
  47347. ac_top_srcdir=$ac_top_build_prefix$srcdir
  47348. ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
  47349. esac
  47350. ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
  47351. case $ac_mode in
  47352. :F)
  47353. #
  47354. # CONFIG_FILE
  47355. #
  47356. case $INSTALL in
  47357. [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
  47358. *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
  47359. esac
  47360. ac_MKDIR_P=$MKDIR_P
  47361. case $MKDIR_P in
  47362. [\\/$]* | ?:[\\/]* ) ;;
  47363. */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
  47364. esac
  47365. _ACEOF
  47366. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  47367. # If the template does not know about datarootdir, expand it.
  47368. # FIXME: This hack should be removed a few years after 2.60.
  47369. ac_datarootdir_hack=; ac_datarootdir_seen=
  47370. ac_sed_dataroot='
  47371. /datarootdir/ {
  47372. p
  47373. q
  47374. }
  47375. /@datadir@/p
  47376. /@docdir@/p
  47377. /@infodir@/p
  47378. /@localedir@/p
  47379. /@mandir@/p'
  47380. case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
  47381. *datarootdir*) ac_datarootdir_seen=yes;;
  47382. *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
  47383. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
  47384. $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
  47385. _ACEOF
  47386. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  47387. ac_datarootdir_hack='
  47388. s&@datadir@&$datadir&g
  47389. s&@docdir@&$docdir&g
  47390. s&@infodir@&$infodir&g
  47391. s&@localedir@&$localedir&g
  47392. s&@mandir@&$mandir&g
  47393. s&\\\${datarootdir}&$datarootdir&g' ;;
  47394. esac
  47395. _ACEOF
  47396. # Neutralize VPATH when `$srcdir' = `.'.
  47397. # Shell code in configure.ac might set extrasub.
  47398. # FIXME: do we really want to maintain this feature?
  47399. cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  47400. ac_sed_extra="$ac_vpsub
  47401. $extrasub
  47402. _ACEOF
  47403. cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  47404. :t
  47405. /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
  47406. s|@configure_input@|$ac_sed_conf_input|;t t
  47407. s&@top_builddir@&$ac_top_builddir_sub&;t t
  47408. s&@top_build_prefix@&$ac_top_build_prefix&;t t
  47409. s&@srcdir@&$ac_srcdir&;t t
  47410. s&@abs_srcdir@&$ac_abs_srcdir&;t t
  47411. s&@top_srcdir@&$ac_top_srcdir&;t t
  47412. s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
  47413. s&@builddir@&$ac_builddir&;t t
  47414. s&@abs_builddir@&$ac_abs_builddir&;t t
  47415. s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
  47416. s&@INSTALL@&$ac_INSTALL&;t t
  47417. s&@MKDIR_P@&$ac_MKDIR_P&;t t
  47418. $ac_datarootdir_hack
  47419. "
  47420. eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
  47421. >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  47422. test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
  47423. { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
  47424. { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
  47425. "$ac_tmp/out"`; test -z "$ac_out"; } &&
  47426. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
  47427. which seems to be undefined. Please make sure it is defined" >&5
  47428. $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
  47429. which seems to be undefined. Please make sure it is defined" >&2;}
  47430. rm -f "$ac_tmp/stdin"
  47431. case $ac_file in
  47432. -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
  47433. *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
  47434. esac \
  47435. || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  47436. ;;
  47437. :H)
  47438. #
  47439. # CONFIG_HEADER
  47440. #
  47441. if test x"$ac_file" != x-; then
  47442. {
  47443. $as_echo "/* $configure_input */" \
  47444. && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
  47445. } >"$ac_tmp/config.h" \
  47446. || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  47447. if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
  47448. { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
  47449. $as_echo "$as_me: $ac_file is unchanged" >&6;}
  47450. else
  47451. rm -f "$ac_file"
  47452. mv "$ac_tmp/config.h" "$ac_file" \
  47453. || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  47454. fi
  47455. else
  47456. $as_echo "/* $configure_input */" \
  47457. && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
  47458. || as_fn_error $? "could not create -" "$LINENO" 5
  47459. fi
  47460. # Compute "$ac_file"'s index in $config_headers.
  47461. _am_arg="$ac_file"
  47462. _am_stamp_count=1
  47463. for _am_header in $config_headers :; do
  47464. case $_am_header in
  47465. $_am_arg | $_am_arg:* )
  47466. break ;;
  47467. * )
  47468. _am_stamp_count=`expr $_am_stamp_count + 1` ;;
  47469. esac
  47470. done
  47471. echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
  47472. $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  47473. X"$_am_arg" : 'X\(//\)[^/]' \| \
  47474. X"$_am_arg" : 'X\(//\)$' \| \
  47475. X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
  47476. $as_echo X"$_am_arg" |
  47477. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  47478. s//\1/
  47479. q
  47480. }
  47481. /^X\(\/\/\)[^/].*/{
  47482. s//\1/
  47483. q
  47484. }
  47485. /^X\(\/\/\)$/{
  47486. s//\1/
  47487. q
  47488. }
  47489. /^X\(\/\).*/{
  47490. s//\1/
  47491. q
  47492. }
  47493. s/.*/./; q'`/stamp-h$_am_stamp_count
  47494. ;;
  47495. :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
  47496. $as_echo "$as_me: executing $ac_file commands" >&6;}
  47497. ;;
  47498. esac
  47499. case $ac_file$ac_mode in
  47500. "contrib/bin/libmesh-config":F) chmod +x contrib/bin/libmesh-config ;;
  47501. "contrib/bin/create_libmesh_release":F) chmod +x contrib/bin/create_libmesh_release ;;
  47502. "doc/dot":F) chmod +x doc/dot ;;
  47503. "tests/run_unit_tests.sh":F) chmod +x tests/run_unit_tests.sh ;;
  47504. "include/libmesh_config.h":C) ac_prefix_conf_OUT=`echo include/libmesh_config.h`
  47505. ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
  47506. ac_prefix_conf_PKG=`echo LIBMESH`
  47507. ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
  47508. ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"`
  47509. ac_prefix_conf_INP=`echo "include/libmesh_config.h.tmp" | sed -e 's/ *//'`
  47510. if test ".$ac_prefix_conf_INP" = "."; then
  47511. for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
  47512. case "$ac_file" in
  47513. *.h) ac_prefix_conf_INP=$ac_file ;;
  47514. *)
  47515. esac
  47516. test ".$ac_prefix_conf_INP" != "." && break
  47517. done
  47518. fi
  47519. if test ".$ac_prefix_conf_INP" = "."; then
  47520. case "$ac_prefix_conf_OUT" in
  47521. */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
  47522. ;;
  47523. *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
  47524. ;;
  47525. *) ac_prefix_conf_INP=config.h
  47526. ;;
  47527. esac
  47528. fi
  47529. if test -z "$ac_prefix_conf_PKG" ; then
  47530. as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5
  47531. else
  47532. if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
  47533. ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
  47534. fi fi
  47535. { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
  47536. $as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
  47537. if test -f $ac_prefix_conf_INP ; then
  47538. $as_echo "s/^#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
  47539. $as_echo "s/^#undef *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix
  47540. $as_echo "s/^#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1\\" >> conftest.prefix
  47541. $as_echo "#define $ac_prefix_conf_UPP""_\\1\\2\\" >> conftest.prefix
  47542. $as_echo "#endif/" >> conftest.prefix
  47543. $as_echo "s/^#define *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1\\" >> conftest.prefix
  47544. $as_echo "#define $ac_prefix_conf_LOW""_\\1\\2\\" >> conftest.prefix
  47545. $as_echo "#endif/" >> conftest.prefix
  47546. # now executing _script on _DEF input to create _OUT output file
  47547. echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
  47548. echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
  47549. echo ' ' >>$tmp/pconfig.h
  47550. echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
  47551. sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
  47552. echo ' ' >>$tmp/pconfig.h
  47553. echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
  47554. echo "#endif" >>$tmp/pconfig.h
  47555. if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
  47556. { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5
  47557. $as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
  47558. else
  47559. ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
  47560. $as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  47561. X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
  47562. X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
  47563. X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
  47564. $as_echo X"$ac_prefix_conf_OUT" |
  47565. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  47566. s//\1/
  47567. q
  47568. }
  47569. /^X\(\/\/\)[^/].*/{
  47570. s//\1/
  47571. q
  47572. }
  47573. /^X\(\/\/\)$/{
  47574. s//\1/
  47575. q
  47576. }
  47577. /^X\(\/\).*/{
  47578. s//\1/
  47579. q
  47580. }
  47581. s/.*/./; q'`
  47582. as_dir="$ac_dir"; as_fn_mkdir_p
  47583. rm -f "$ac_prefix_conf_OUT"
  47584. mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
  47585. fi
  47586. else
  47587. as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5
  47588. fi
  47589. rm -f conftest.*
  47590. fi
  47591. ;;
  47592. "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
  47593. # Older Autoconf quotes --file arguments for eval, but not when files
  47594. # are listed without --file. Let's play safe and only enable the eval
  47595. # if we detect the quoting.
  47596. # TODO: see whether this extra hack can be removed once we start
  47597. # requiring Autoconf 2.70 or later.
  47598. case $CONFIG_FILES in #(
  47599. *\'*) :
  47600. eval set x "$CONFIG_FILES" ;; #(
  47601. *) :
  47602. set x $CONFIG_FILES ;; #(
  47603. *) :
  47604. ;;
  47605. esac
  47606. shift
  47607. # Used to flag and report bootstrapping failures.
  47608. am_rc=0
  47609. for am_mf
  47610. do
  47611. # Strip MF so we end up with the name of the file.
  47612. am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
  47613. # Check whether this is an Automake generated Makefile which includes
  47614. # dependency-tracking related rules and includes.
  47615. # Grep'ing the whole file directly is not great: AIX grep has a line
  47616. # limit of 2048, but all sed's we know have understand at least 4000.
  47617. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
  47618. || continue
  47619. am_dirpart=`$as_dirname -- "$am_mf" ||
  47620. $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
  47621. X"$am_mf" : 'X\(//\)[^/]' \| \
  47622. X"$am_mf" : 'X\(//\)$' \| \
  47623. X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
  47624. $as_echo X"$am_mf" |
  47625. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
  47626. s//\1/
  47627. q
  47628. }
  47629. /^X\(\/\/\)[^/].*/{
  47630. s//\1/
  47631. q
  47632. }
  47633. /^X\(\/\/\)$/{
  47634. s//\1/
  47635. q
  47636. }
  47637. /^X\(\/\).*/{
  47638. s//\1/
  47639. q
  47640. }
  47641. s/.*/./; q'`
  47642. am_filepart=`$as_basename -- "$am_mf" ||
  47643. $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
  47644. X"$am_mf" : 'X\(//\)$' \| \
  47645. X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
  47646. $as_echo X/"$am_mf" |
  47647. sed '/^.*\/\([^/][^/]*\)\/*$/{
  47648. s//\1/
  47649. q
  47650. }
  47651. /^X\/\(\/\/\)$/{
  47652. s//\1/
  47653. q
  47654. }
  47655. /^X\/\(\/\).*/{
  47656. s//\1/
  47657. q
  47658. }
  47659. s/.*/./; q'`
  47660. { echo "$as_me:$LINENO: cd "$am_dirpart" \
  47661. && sed -e '/# am--include-marker/d' "$am_filepart" \
  47662. | $MAKE -f - am--depfiles" >&5
  47663. (cd "$am_dirpart" \
  47664. && sed -e '/# am--include-marker/d' "$am_filepart" \
  47665. | $MAKE -f - am--depfiles) >&5 2>&5
  47666. ac_status=$?
  47667. echo "$as_me:$LINENO: \$? = $ac_status" >&5
  47668. (exit $ac_status); } || am_rc=$?
  47669. done
  47670. if test $am_rc -ne 0; then
  47671. { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  47672. $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  47673. as_fn_error $? "Something went wrong bootstrapping makefile fragments
  47674. for automatic dependency tracking. Try re-running configure with the
  47675. '--disable-dependency-tracking' option to at least be able to build
  47676. the package (albeit without support for automatic dependency tracking).
  47677. See \`config.log' for more details" "$LINENO" 5; }
  47678. fi
  47679. { am_dirpart=; unset am_dirpart;}
  47680. { am_filepart=; unset am_filepart;}
  47681. { am_mf=; unset am_mf;}
  47682. { am_rc=; unset am_rc;}
  47683. rm -f conftest-deps.mk
  47684. }
  47685. ;;
  47686. "libtool":C)
  47687. # See if we are running on zsh, and set the options that allow our
  47688. # commands through without removal of \ escapes.
  47689. if test -n "${ZSH_VERSION+set}"; then
  47690. setopt NO_GLOB_SUBST
  47691. fi
  47692. cfgfile=${ofile}T
  47693. trap "$RM \"$cfgfile\"; exit 1" 1 2 15
  47694. $RM "$cfgfile"
  47695. cat <<_LT_EOF >> "$cfgfile"
  47696. #! $SHELL
  47697. # Generated automatically by $as_me ($PACKAGE) $VERSION
  47698. # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
  47699. # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  47700. # Provide generalized library-building support services.
  47701. # Written by Gordon Matzigkeit, 1996
  47702. # Copyright (C) 2014 Free Software Foundation, Inc.
  47703. # This is free software; see the source for copying conditions. There is NO
  47704. # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  47705. # GNU Libtool is free software; you can redistribute it and/or modify
  47706. # it under the terms of the GNU General Public License as published by
  47707. # the Free Software Foundation; either version 2 of of the License, or
  47708. # (at your option) any later version.
  47709. #
  47710. # As a special exception to the GNU General Public License, if you
  47711. # distribute this file as part of a program or library that is built
  47712. # using GNU Libtool, you may include this file under the same
  47713. # distribution terms that you use for the rest of that program.
  47714. #
  47715. # GNU Libtool is distributed in the hope that it will be useful, but
  47716. # WITHOUT ANY WARRANTY; without even the implied warranty of
  47717. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  47718. # GNU General Public License for more details.
  47719. #
  47720. # You should have received a copy of the GNU General Public License
  47721. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  47722. # The names of the tagged configurations supported by this script.
  47723. available_tags='CXX F77 FC '
  47724. # Configured defaults for sys_lib_dlsearch_path munging.
  47725. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
  47726. # ### BEGIN LIBTOOL CONFIG
  47727. # Which release of libtool.m4 was used?
  47728. macro_version=$macro_version
  47729. macro_revision=$macro_revision
  47730. # Whether or not to build static libraries.
  47731. build_old_libs=$enable_static
  47732. # Whether or not to build shared libraries.
  47733. build_libtool_libs=$enable_shared
  47734. # What type of objects to build.
  47735. pic_mode=$pic_mode
  47736. # Whether or not to optimize for fast installation.
  47737. fast_install=$enable_fast_install
  47738. # Shared archive member basename,for filename based shared library versioning on AIX.
  47739. shared_archive_member_spec=$shared_archive_member_spec
  47740. # Shell to use when invoking shell scripts.
  47741. SHELL=$lt_SHELL
  47742. # An echo program that protects backslashes.
  47743. ECHO=$lt_ECHO
  47744. # The PATH separator for the build system.
  47745. PATH_SEPARATOR=$lt_PATH_SEPARATOR
  47746. # The host system.
  47747. host_alias=$host_alias
  47748. host=$host
  47749. host_os=$host_os
  47750. # The build system.
  47751. build_alias=$build_alias
  47752. build=$build
  47753. build_os=$build_os
  47754. # A sed program that does not truncate output.
  47755. SED=$lt_SED
  47756. # Sed that helps us avoid accidentally triggering echo(1) options like -n.
  47757. Xsed="\$SED -e 1s/^X//"
  47758. # A grep program that handles long lines.
  47759. GREP=$lt_GREP
  47760. # An ERE matcher.
  47761. EGREP=$lt_EGREP
  47762. # A literal string matcher.
  47763. FGREP=$lt_FGREP
  47764. # A BSD- or MS-compatible name lister.
  47765. NM=$lt_NM
  47766. # Whether we need soft or hard links.
  47767. LN_S=$lt_LN_S
  47768. # What is the maximum length of a command?
  47769. max_cmd_len=$max_cmd_len
  47770. # Object file suffix (normally "o").
  47771. objext=$ac_objext
  47772. # Executable file suffix (normally "").
  47773. exeext=$exeext
  47774. # whether the shell understands "unset".
  47775. lt_unset=$lt_unset
  47776. # turn spaces into newlines.
  47777. SP2NL=$lt_lt_SP2NL
  47778. # turn newlines into spaces.
  47779. NL2SP=$lt_lt_NL2SP
  47780. # convert \$build file names to \$host format.
  47781. to_host_file_cmd=$lt_cv_to_host_file_cmd
  47782. # convert \$build files to toolchain format.
  47783. to_tool_file_cmd=$lt_cv_to_tool_file_cmd
  47784. # An object symbol dumper.
  47785. OBJDUMP=$lt_OBJDUMP
  47786. # Method to check whether dependent libraries are shared objects.
  47787. deplibs_check_method=$lt_deplibs_check_method
  47788. # Command to use when deplibs_check_method = "file_magic".
  47789. file_magic_cmd=$lt_file_magic_cmd
  47790. # How to find potential files when deplibs_check_method = "file_magic".
  47791. file_magic_glob=$lt_file_magic_glob
  47792. # Find potential files using nocaseglob when deplibs_check_method = "file_magic".
  47793. want_nocaseglob=$lt_want_nocaseglob
  47794. # DLL creation program.
  47795. DLLTOOL=$lt_DLLTOOL
  47796. # Command to associate shared and link libraries.
  47797. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
  47798. # The archiver.
  47799. AR=$lt_AR
  47800. # Flags to create an archive.
  47801. AR_FLAGS=$lt_AR_FLAGS
  47802. # How to feed a file listing to the archiver.
  47803. archiver_list_spec=$lt_archiver_list_spec
  47804. # A symbol stripping program.
  47805. STRIP=$lt_STRIP
  47806. # Commands used to install an old-style archive.
  47807. RANLIB=$lt_RANLIB
  47808. old_postinstall_cmds=$lt_old_postinstall_cmds
  47809. old_postuninstall_cmds=$lt_old_postuninstall_cmds
  47810. # Whether to use a lock for old archive extraction.
  47811. lock_old_archive_extraction=$lock_old_archive_extraction
  47812. # A C compiler.
  47813. LTCC=$lt_CC
  47814. # LTCC compiler flags.
  47815. LTCFLAGS=$lt_CFLAGS
  47816. # Take the output of nm and produce a listing of raw symbols and C names.
  47817. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
  47818. # Transform the output of nm in a proper C declaration.
  47819. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
  47820. # Transform the output of nm into a list of symbols to manually relocate.
  47821. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
  47822. # Transform the output of nm in a C name address pair.
  47823. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
  47824. # Transform the output of nm in a C name address pair when lib prefix is needed.
  47825. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  47826. # The name lister interface.
  47827. nm_interface=$lt_lt_cv_nm_interface
  47828. # Specify filename containing input files for \$NM.
  47829. nm_file_list_spec=$lt_nm_file_list_spec
  47830. # The root where to search for dependent libraries,and where our libraries should be installed.
  47831. lt_sysroot=$lt_sysroot
  47832. # Command to truncate a binary pipe.
  47833. lt_truncate_bin=$lt_lt_cv_truncate_bin
  47834. # The name of the directory that contains temporary libtool files.
  47835. objdir=$objdir
  47836. # Used to examine libraries when file_magic_cmd begins with "file".
  47837. MAGIC_CMD=$MAGIC_CMD
  47838. # Must we lock files when doing compilation?
  47839. need_locks=$lt_need_locks
  47840. # Manifest tool.
  47841. MANIFEST_TOOL=$lt_MANIFEST_TOOL
  47842. # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  47843. DSYMUTIL=$lt_DSYMUTIL
  47844. # Tool to change global to local symbols on Mac OS X.
  47845. NMEDIT=$lt_NMEDIT
  47846. # Tool to manipulate fat objects and archives on Mac OS X.
  47847. LIPO=$lt_LIPO
  47848. # ldd/readelf like tool for Mach-O binaries on Mac OS X.
  47849. OTOOL=$lt_OTOOL
  47850. # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
  47851. OTOOL64=$lt_OTOOL64
  47852. # Old archive suffix (normally "a").
  47853. libext=$libext
  47854. # Shared library suffix (normally ".so").
  47855. shrext_cmds=$lt_shrext_cmds
  47856. # The commands to extract the exported symbol list from a shared archive.
  47857. extract_expsyms_cmds=$lt_extract_expsyms_cmds
  47858. # Variables whose values should be saved in libtool wrapper scripts and
  47859. # restored at link time.
  47860. variables_saved_for_relink=$lt_variables_saved_for_relink
  47861. # Do we need the "lib" prefix for modules?
  47862. need_lib_prefix=$need_lib_prefix
  47863. # Do we need a version for libraries?
  47864. need_version=$need_version
  47865. # Library versioning type.
  47866. version_type=$version_type
  47867. # Shared library runtime path variable.
  47868. runpath_var=$runpath_var
  47869. # Shared library path variable.
  47870. shlibpath_var=$shlibpath_var
  47871. # Is shlibpath searched before the hard-coded library search path?
  47872. shlibpath_overrides_runpath=$shlibpath_overrides_runpath
  47873. # Format of library name prefix.
  47874. libname_spec=$lt_libname_spec
  47875. # List of archive names. First name is the real one, the rest are links.
  47876. # The last name is the one that the linker finds with -lNAME
  47877. library_names_spec=$lt_library_names_spec
  47878. # The coded name of the library, if different from the real name.
  47879. soname_spec=$lt_soname_spec
  47880. # Permission mode override for installation of shared libraries.
  47881. install_override_mode=$lt_install_override_mode
  47882. # Command to use after installation of a shared archive.
  47883. postinstall_cmds=$lt_postinstall_cmds
  47884. # Command to use after uninstallation of a shared archive.
  47885. postuninstall_cmds=$lt_postuninstall_cmds
  47886. # Commands used to finish a libtool library installation in a directory.
  47887. finish_cmds=$lt_finish_cmds
  47888. # As "finish_cmds", except a single script fragment to be evaled but
  47889. # not shown.
  47890. finish_eval=$lt_finish_eval
  47891. # Whether we should hardcode library paths into libraries.
  47892. hardcode_into_libs=$hardcode_into_libs
  47893. # Compile-time system search path for libraries.
  47894. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
  47895. # Detected run-time system search path for libraries.
  47896. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
  47897. # Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
  47898. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
  47899. # Whether dlopen is supported.
  47900. dlopen_support=$enable_dlopen
  47901. # Whether dlopen of programs is supported.
  47902. dlopen_self=$enable_dlopen_self
  47903. # Whether dlopen of statically linked programs is supported.
  47904. dlopen_self_static=$enable_dlopen_self_static
  47905. # Commands to strip libraries.
  47906. old_striplib=$lt_old_striplib
  47907. striplib=$lt_striplib
  47908. # The linker used to build libraries.
  47909. LD=$lt_LD
  47910. # How to create reloadable object files.
  47911. reload_flag=$lt_reload_flag
  47912. reload_cmds=$lt_reload_cmds
  47913. # Commands used to build an old-style archive.
  47914. old_archive_cmds=$lt_old_archive_cmds
  47915. # A language specific compiler.
  47916. CC=$lt_compiler
  47917. # Is the compiler the GNU compiler?
  47918. with_gcc=$GCC
  47919. # Compiler flag to turn off builtin functions.
  47920. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  47921. # Additional compiler flags for building library objects.
  47922. pic_flag=$lt_lt_prog_compiler_pic
  47923. # How to pass a linker flag through the compiler.
  47924. wl=$lt_lt_prog_compiler_wl
  47925. # Compiler flag to prevent dynamic linking.
  47926. link_static_flag=$lt_lt_prog_compiler_static
  47927. # Does compiler simultaneously support -c and -o options?
  47928. compiler_c_o=$lt_lt_cv_prog_compiler_c_o
  47929. # Whether or not to add -lc for building shared libraries.
  47930. build_libtool_need_lc=$archive_cmds_need_lc
  47931. # Whether or not to disallow shared libs when runtime libs are static.
  47932. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
  47933. # Compiler flag to allow reflexive dlopens.
  47934. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
  47935. # Compiler flag to generate shared objects directly from archives.
  47936. whole_archive_flag_spec=$lt_whole_archive_flag_spec
  47937. # Whether the compiler copes with passing no objects directly.
  47938. compiler_needs_object=$lt_compiler_needs_object
  47939. # Create an old-style archive from a shared archive.
  47940. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
  47941. # Create a temporary old-style archive to link instead of a shared archive.
  47942. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
  47943. # Commands used to build a shared archive.
  47944. archive_cmds=$lt_archive_cmds
  47945. archive_expsym_cmds=$lt_archive_expsym_cmds
  47946. # Commands used to build a loadable module if different from building
  47947. # a shared archive.
  47948. module_cmds=$lt_module_cmds
  47949. module_expsym_cmds=$lt_module_expsym_cmds
  47950. # Whether we are building with GNU ld or not.
  47951. with_gnu_ld=$lt_with_gnu_ld
  47952. # Flag that allows shared libraries with undefined symbols to be built.
  47953. allow_undefined_flag=$lt_allow_undefined_flag
  47954. # Flag that enforces no undefined symbols.
  47955. no_undefined_flag=$lt_no_undefined_flag
  47956. # Flag to hardcode \$libdir into a binary during linking.
  47957. # This must work even if \$libdir does not exist
  47958. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
  47959. # Whether we need a single "-rpath" flag with a separated argument.
  47960. hardcode_libdir_separator=$lt_hardcode_libdir_separator
  47961. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  47962. # DIR into the resulting binary.
  47963. hardcode_direct=$hardcode_direct
  47964. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  47965. # DIR into the resulting binary and the resulting library dependency is
  47966. # "absolute",i.e impossible to change by setting \$shlibpath_var if the
  47967. # library is relocated.
  47968. hardcode_direct_absolute=$hardcode_direct_absolute
  47969. # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
  47970. # into the resulting binary.
  47971. hardcode_minus_L=$hardcode_minus_L
  47972. # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
  47973. # into the resulting binary.
  47974. hardcode_shlibpath_var=$hardcode_shlibpath_var
  47975. # Set to "yes" if building a shared library automatically hardcodes DIR
  47976. # into the library and all subsequent libraries and executables linked
  47977. # against it.
  47978. hardcode_automatic=$hardcode_automatic
  47979. # Set to yes if linker adds runtime paths of dependent libraries
  47980. # to runtime path list.
  47981. inherit_rpath=$inherit_rpath
  47982. # Whether libtool must link a program against all its dependency libraries.
  47983. link_all_deplibs=$link_all_deplibs
  47984. # Set to "yes" if exported symbols are required.
  47985. always_export_symbols=$always_export_symbols
  47986. # The commands to list exported symbols.
  47987. export_symbols_cmds=$lt_export_symbols_cmds
  47988. # Symbols that should not be listed in the preloaded symbols.
  47989. exclude_expsyms=$lt_exclude_expsyms
  47990. # Symbols that must always be exported.
  47991. include_expsyms=$lt_include_expsyms
  47992. # Commands necessary for linking programs (against libraries) with templates.
  47993. prelink_cmds=$lt_prelink_cmds
  47994. # Commands necessary for finishing linking programs.
  47995. postlink_cmds=$lt_postlink_cmds
  47996. # Specify filename containing input files.
  47997. file_list_spec=$lt_file_list_spec
  47998. # How to hardcode a shared library path into an executable.
  47999. hardcode_action=$hardcode_action
  48000. # The directories searched by this compiler when creating a shared library.
  48001. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
  48002. # Dependencies to place before and after the objects being linked to
  48003. # create a shared library.
  48004. predep_objects=$lt_predep_objects
  48005. postdep_objects=$lt_postdep_objects
  48006. predeps=$lt_predeps
  48007. postdeps=$lt_postdeps
  48008. # The library search path used internally by the compiler when linking
  48009. # a shared library.
  48010. compiler_lib_search_path=$lt_compiler_lib_search_path
  48011. # ### END LIBTOOL CONFIG
  48012. _LT_EOF
  48013. cat <<'_LT_EOF' >> "$cfgfile"
  48014. # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
  48015. # func_munge_path_list VARIABLE PATH
  48016. # -----------------------------------
  48017. # VARIABLE is name of variable containing _space_ separated list of
  48018. # directories to be munged by the contents of PATH, which is string
  48019. # having a format:
  48020. # "DIR[:DIR]:"
  48021. # string "DIR[ DIR]" will be prepended to VARIABLE
  48022. # ":DIR[:DIR]"
  48023. # string "DIR[ DIR]" will be appended to VARIABLE
  48024. # "DIRP[:DIRP]::[DIRA:]DIRA"
  48025. # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
  48026. # "DIRA[ DIRA]" will be appended to VARIABLE
  48027. # "DIR[:DIR]"
  48028. # VARIABLE will be replaced by "DIR[ DIR]"
  48029. func_munge_path_list ()
  48030. {
  48031. case x$2 in
  48032. x)
  48033. ;;
  48034. *:)
  48035. eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
  48036. ;;
  48037. x:*)
  48038. eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
  48039. ;;
  48040. *::*)
  48041. eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
  48042. eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
  48043. ;;
  48044. *)
  48045. eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
  48046. ;;
  48047. esac
  48048. }
  48049. # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
  48050. func_cc_basename ()
  48051. {
  48052. for cc_temp in $*""; do
  48053. case $cc_temp in
  48054. compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
  48055. distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
  48056. \-*) ;;
  48057. *) break;;
  48058. esac
  48059. done
  48060. func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
  48061. }
  48062. # ### END FUNCTIONS SHARED WITH CONFIGURE
  48063. _LT_EOF
  48064. case $host_os in
  48065. aix3*)
  48066. cat <<\_LT_EOF >> "$cfgfile"
  48067. # AIX sometimes has problems with the GCC collect2 program. For some
  48068. # reason, if we set the COLLECT_NAMES environment variable, the problems
  48069. # vanish in a puff of smoke.
  48070. if test set != "${COLLECT_NAMES+set}"; then
  48071. COLLECT_NAMES=
  48072. export COLLECT_NAMES
  48073. fi
  48074. _LT_EOF
  48075. ;;
  48076. esac
  48077. ltmain=$ac_aux_dir/ltmain.sh
  48078. # We use sed instead of cat because bash on DJGPP gets confused if
  48079. # if finds mixed CR/LF and LF-only lines. Since sed operates in
  48080. # text mode, it properly converts lines to CR/LF. This bash problem
  48081. # is reportedly fixed, but why not run on old versions too?
  48082. sed '$q' "$ltmain" >> "$cfgfile" \
  48083. || (rm -f "$cfgfile"; exit 1)
  48084. mv -f "$cfgfile" "$ofile" ||
  48085. (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
  48086. chmod +x "$ofile"
  48087. cat <<_LT_EOF >> "$ofile"
  48088. # ### BEGIN LIBTOOL TAG CONFIG: CXX
  48089. # The linker used to build libraries.
  48090. LD=$lt_LD_CXX
  48091. # How to create reloadable object files.
  48092. reload_flag=$lt_reload_flag_CXX
  48093. reload_cmds=$lt_reload_cmds_CXX
  48094. # Commands used to build an old-style archive.
  48095. old_archive_cmds=$lt_old_archive_cmds_CXX
  48096. # A language specific compiler.
  48097. CC=$lt_compiler_CXX
  48098. # Is the compiler the GNU compiler?
  48099. with_gcc=$GCC_CXX
  48100. # Compiler flag to turn off builtin functions.
  48101. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
  48102. # Additional compiler flags for building library objects.
  48103. pic_flag=$lt_lt_prog_compiler_pic_CXX
  48104. # How to pass a linker flag through the compiler.
  48105. wl=$lt_lt_prog_compiler_wl_CXX
  48106. # Compiler flag to prevent dynamic linking.
  48107. link_static_flag=$lt_lt_prog_compiler_static_CXX
  48108. # Does compiler simultaneously support -c and -o options?
  48109. compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
  48110. # Whether or not to add -lc for building shared libraries.
  48111. build_libtool_need_lc=$archive_cmds_need_lc_CXX
  48112. # Whether or not to disallow shared libs when runtime libs are static.
  48113. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
  48114. # Compiler flag to allow reflexive dlopens.
  48115. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
  48116. # Compiler flag to generate shared objects directly from archives.
  48117. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
  48118. # Whether the compiler copes with passing no objects directly.
  48119. compiler_needs_object=$lt_compiler_needs_object_CXX
  48120. # Create an old-style archive from a shared archive.
  48121. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
  48122. # Create a temporary old-style archive to link instead of a shared archive.
  48123. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
  48124. # Commands used to build a shared archive.
  48125. archive_cmds=$lt_archive_cmds_CXX
  48126. archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
  48127. # Commands used to build a loadable module if different from building
  48128. # a shared archive.
  48129. module_cmds=$lt_module_cmds_CXX
  48130. module_expsym_cmds=$lt_module_expsym_cmds_CXX
  48131. # Whether we are building with GNU ld or not.
  48132. with_gnu_ld=$lt_with_gnu_ld_CXX
  48133. # Flag that allows shared libraries with undefined symbols to be built.
  48134. allow_undefined_flag=$lt_allow_undefined_flag_CXX
  48135. # Flag that enforces no undefined symbols.
  48136. no_undefined_flag=$lt_no_undefined_flag_CXX
  48137. # Flag to hardcode \$libdir into a binary during linking.
  48138. # This must work even if \$libdir does not exist
  48139. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
  48140. # Whether we need a single "-rpath" flag with a separated argument.
  48141. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
  48142. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  48143. # DIR into the resulting binary.
  48144. hardcode_direct=$hardcode_direct_CXX
  48145. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  48146. # DIR into the resulting binary and the resulting library dependency is
  48147. # "absolute",i.e impossible to change by setting \$shlibpath_var if the
  48148. # library is relocated.
  48149. hardcode_direct_absolute=$hardcode_direct_absolute_CXX
  48150. # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
  48151. # into the resulting binary.
  48152. hardcode_minus_L=$hardcode_minus_L_CXX
  48153. # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
  48154. # into the resulting binary.
  48155. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
  48156. # Set to "yes" if building a shared library automatically hardcodes DIR
  48157. # into the library and all subsequent libraries and executables linked
  48158. # against it.
  48159. hardcode_automatic=$hardcode_automatic_CXX
  48160. # Set to yes if linker adds runtime paths of dependent libraries
  48161. # to runtime path list.
  48162. inherit_rpath=$inherit_rpath_CXX
  48163. # Whether libtool must link a program against all its dependency libraries.
  48164. link_all_deplibs=$link_all_deplibs_CXX
  48165. # Set to "yes" if exported symbols are required.
  48166. always_export_symbols=$always_export_symbols_CXX
  48167. # The commands to list exported symbols.
  48168. export_symbols_cmds=$lt_export_symbols_cmds_CXX
  48169. # Symbols that should not be listed in the preloaded symbols.
  48170. exclude_expsyms=$lt_exclude_expsyms_CXX
  48171. # Symbols that must always be exported.
  48172. include_expsyms=$lt_include_expsyms_CXX
  48173. # Commands necessary for linking programs (against libraries) with templates.
  48174. prelink_cmds=$lt_prelink_cmds_CXX
  48175. # Commands necessary for finishing linking programs.
  48176. postlink_cmds=$lt_postlink_cmds_CXX
  48177. # Specify filename containing input files.
  48178. file_list_spec=$lt_file_list_spec_CXX
  48179. # How to hardcode a shared library path into an executable.
  48180. hardcode_action=$hardcode_action_CXX
  48181. # The directories searched by this compiler when creating a shared library.
  48182. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
  48183. # Dependencies to place before and after the objects being linked to
  48184. # create a shared library.
  48185. predep_objects=$lt_predep_objects_CXX
  48186. postdep_objects=$lt_postdep_objects_CXX
  48187. predeps=$lt_predeps_CXX
  48188. postdeps=$lt_postdeps_CXX
  48189. # The library search path used internally by the compiler when linking
  48190. # a shared library.
  48191. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
  48192. # ### END LIBTOOL TAG CONFIG: CXX
  48193. _LT_EOF
  48194. cat <<_LT_EOF >> "$ofile"
  48195. # ### BEGIN LIBTOOL TAG CONFIG: F77
  48196. # The linker used to build libraries.
  48197. LD=$lt_LD_F77
  48198. # How to create reloadable object files.
  48199. reload_flag=$lt_reload_flag_F77
  48200. reload_cmds=$lt_reload_cmds_F77
  48201. # Commands used to build an old-style archive.
  48202. old_archive_cmds=$lt_old_archive_cmds_F77
  48203. # A language specific compiler.
  48204. CC=$lt_compiler_F77
  48205. # Is the compiler the GNU compiler?
  48206. with_gcc=$GCC_F77
  48207. # Compiler flag to turn off builtin functions.
  48208. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
  48209. # Additional compiler flags for building library objects.
  48210. pic_flag=$lt_lt_prog_compiler_pic_F77
  48211. # How to pass a linker flag through the compiler.
  48212. wl=$lt_lt_prog_compiler_wl_F77
  48213. # Compiler flag to prevent dynamic linking.
  48214. link_static_flag=$lt_lt_prog_compiler_static_F77
  48215. # Does compiler simultaneously support -c and -o options?
  48216. compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
  48217. # Whether or not to add -lc for building shared libraries.
  48218. build_libtool_need_lc=$archive_cmds_need_lc_F77
  48219. # Whether or not to disallow shared libs when runtime libs are static.
  48220. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
  48221. # Compiler flag to allow reflexive dlopens.
  48222. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
  48223. # Compiler flag to generate shared objects directly from archives.
  48224. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
  48225. # Whether the compiler copes with passing no objects directly.
  48226. compiler_needs_object=$lt_compiler_needs_object_F77
  48227. # Create an old-style archive from a shared archive.
  48228. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
  48229. # Create a temporary old-style archive to link instead of a shared archive.
  48230. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
  48231. # Commands used to build a shared archive.
  48232. archive_cmds=$lt_archive_cmds_F77
  48233. archive_expsym_cmds=$lt_archive_expsym_cmds_F77
  48234. # Commands used to build a loadable module if different from building
  48235. # a shared archive.
  48236. module_cmds=$lt_module_cmds_F77
  48237. module_expsym_cmds=$lt_module_expsym_cmds_F77
  48238. # Whether we are building with GNU ld or not.
  48239. with_gnu_ld=$lt_with_gnu_ld_F77
  48240. # Flag that allows shared libraries with undefined symbols to be built.
  48241. allow_undefined_flag=$lt_allow_undefined_flag_F77
  48242. # Flag that enforces no undefined symbols.
  48243. no_undefined_flag=$lt_no_undefined_flag_F77
  48244. # Flag to hardcode \$libdir into a binary during linking.
  48245. # This must work even if \$libdir does not exist
  48246. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
  48247. # Whether we need a single "-rpath" flag with a separated argument.
  48248. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
  48249. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  48250. # DIR into the resulting binary.
  48251. hardcode_direct=$hardcode_direct_F77
  48252. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  48253. # DIR into the resulting binary and the resulting library dependency is
  48254. # "absolute",i.e impossible to change by setting \$shlibpath_var if the
  48255. # library is relocated.
  48256. hardcode_direct_absolute=$hardcode_direct_absolute_F77
  48257. # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
  48258. # into the resulting binary.
  48259. hardcode_minus_L=$hardcode_minus_L_F77
  48260. # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
  48261. # into the resulting binary.
  48262. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
  48263. # Set to "yes" if building a shared library automatically hardcodes DIR
  48264. # into the library and all subsequent libraries and executables linked
  48265. # against it.
  48266. hardcode_automatic=$hardcode_automatic_F77
  48267. # Set to yes if linker adds runtime paths of dependent libraries
  48268. # to runtime path list.
  48269. inherit_rpath=$inherit_rpath_F77
  48270. # Whether libtool must link a program against all its dependency libraries.
  48271. link_all_deplibs=$link_all_deplibs_F77
  48272. # Set to "yes" if exported symbols are required.
  48273. always_export_symbols=$always_export_symbols_F77
  48274. # The commands to list exported symbols.
  48275. export_symbols_cmds=$lt_export_symbols_cmds_F77
  48276. # Symbols that should not be listed in the preloaded symbols.
  48277. exclude_expsyms=$lt_exclude_expsyms_F77
  48278. # Symbols that must always be exported.
  48279. include_expsyms=$lt_include_expsyms_F77
  48280. # Commands necessary for linking programs (against libraries) with templates.
  48281. prelink_cmds=$lt_prelink_cmds_F77
  48282. # Commands necessary for finishing linking programs.
  48283. postlink_cmds=$lt_postlink_cmds_F77
  48284. # Specify filename containing input files.
  48285. file_list_spec=$lt_file_list_spec_F77
  48286. # How to hardcode a shared library path into an executable.
  48287. hardcode_action=$hardcode_action_F77
  48288. # The directories searched by this compiler when creating a shared library.
  48289. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
  48290. # Dependencies to place before and after the objects being linked to
  48291. # create a shared library.
  48292. predep_objects=$lt_predep_objects_F77
  48293. postdep_objects=$lt_postdep_objects_F77
  48294. predeps=$lt_predeps_F77
  48295. postdeps=$lt_postdeps_F77
  48296. # The library search path used internally by the compiler when linking
  48297. # a shared library.
  48298. compiler_lib_search_path=$lt_compiler_lib_search_path_F77
  48299. # ### END LIBTOOL TAG CONFIG: F77
  48300. _LT_EOF
  48301. cat <<_LT_EOF >> "$ofile"
  48302. # ### BEGIN LIBTOOL TAG CONFIG: FC
  48303. # The linker used to build libraries.
  48304. LD=$lt_LD_FC
  48305. # How to create reloadable object files.
  48306. reload_flag=$lt_reload_flag_FC
  48307. reload_cmds=$lt_reload_cmds_FC
  48308. # Commands used to build an old-style archive.
  48309. old_archive_cmds=$lt_old_archive_cmds_FC
  48310. # A language specific compiler.
  48311. CC=$lt_compiler_FC
  48312. # Is the compiler the GNU compiler?
  48313. with_gcc=$GCC_FC
  48314. # Compiler flag to turn off builtin functions.
  48315. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC
  48316. # Additional compiler flags for building library objects.
  48317. pic_flag=$lt_lt_prog_compiler_pic_FC
  48318. # How to pass a linker flag through the compiler.
  48319. wl=$lt_lt_prog_compiler_wl_FC
  48320. # Compiler flag to prevent dynamic linking.
  48321. link_static_flag=$lt_lt_prog_compiler_static_FC
  48322. # Does compiler simultaneously support -c and -o options?
  48323. compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC
  48324. # Whether or not to add -lc for building shared libraries.
  48325. build_libtool_need_lc=$archive_cmds_need_lc_FC
  48326. # Whether or not to disallow shared libs when runtime libs are static.
  48327. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC
  48328. # Compiler flag to allow reflexive dlopens.
  48329. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC
  48330. # Compiler flag to generate shared objects directly from archives.
  48331. whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC
  48332. # Whether the compiler copes with passing no objects directly.
  48333. compiler_needs_object=$lt_compiler_needs_object_FC
  48334. # Create an old-style archive from a shared archive.
  48335. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC
  48336. # Create a temporary old-style archive to link instead of a shared archive.
  48337. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC
  48338. # Commands used to build a shared archive.
  48339. archive_cmds=$lt_archive_cmds_FC
  48340. archive_expsym_cmds=$lt_archive_expsym_cmds_FC
  48341. # Commands used to build a loadable module if different from building
  48342. # a shared archive.
  48343. module_cmds=$lt_module_cmds_FC
  48344. module_expsym_cmds=$lt_module_expsym_cmds_FC
  48345. # Whether we are building with GNU ld or not.
  48346. with_gnu_ld=$lt_with_gnu_ld_FC
  48347. # Flag that allows shared libraries with undefined symbols to be built.
  48348. allow_undefined_flag=$lt_allow_undefined_flag_FC
  48349. # Flag that enforces no undefined symbols.
  48350. no_undefined_flag=$lt_no_undefined_flag_FC
  48351. # Flag to hardcode \$libdir into a binary during linking.
  48352. # This must work even if \$libdir does not exist
  48353. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC
  48354. # Whether we need a single "-rpath" flag with a separated argument.
  48355. hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC
  48356. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  48357. # DIR into the resulting binary.
  48358. hardcode_direct=$hardcode_direct_FC
  48359. # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
  48360. # DIR into the resulting binary and the resulting library dependency is
  48361. # "absolute",i.e impossible to change by setting \$shlibpath_var if the
  48362. # library is relocated.
  48363. hardcode_direct_absolute=$hardcode_direct_absolute_FC
  48364. # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
  48365. # into the resulting binary.
  48366. hardcode_minus_L=$hardcode_minus_L_FC
  48367. # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
  48368. # into the resulting binary.
  48369. hardcode_shlibpath_var=$hardcode_shlibpath_var_FC
  48370. # Set to "yes" if building a shared library automatically hardcodes DIR
  48371. # into the library and all subsequent libraries and executables linked
  48372. # against it.
  48373. hardcode_automatic=$hardcode_automatic_FC
  48374. # Set to yes if linker adds runtime paths of dependent libraries
  48375. # to runtime path list.
  48376. inherit_rpath=$inherit_rpath_FC
  48377. # Whether libtool must link a program against all its dependency libraries.
  48378. link_all_deplibs=$link_all_deplibs_FC
  48379. # Set to "yes" if exported symbols are required.
  48380. always_export_symbols=$always_export_symbols_FC
  48381. # The commands to list exported symbols.
  48382. export_symbols_cmds=$lt_export_symbols_cmds_FC
  48383. # Symbols that should not be listed in the preloaded symbols.
  48384. exclude_expsyms=$lt_exclude_expsyms_FC
  48385. # Symbols that must always be exported.
  48386. include_expsyms=$lt_include_expsyms_FC
  48387. # Commands necessary for linking programs (against libraries) with templates.
  48388. prelink_cmds=$lt_prelink_cmds_FC
  48389. # Commands necessary for finishing linking programs.
  48390. postlink_cmds=$lt_postlink_cmds_FC
  48391. # Specify filename containing input files.
  48392. file_list_spec=$lt_file_list_spec_FC
  48393. # How to hardcode a shared library path into an executable.
  48394. hardcode_action=$hardcode_action_FC
  48395. # The directories searched by this compiler when creating a shared library.
  48396. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC
  48397. # Dependencies to place before and after the objects being linked to
  48398. # create a shared library.
  48399. predep_objects=$lt_predep_objects_FC
  48400. postdep_objects=$lt_postdep_objects_FC
  48401. predeps=$lt_predeps_FC
  48402. postdeps=$lt_postdeps_FC
  48403. # The library search path used internally by the compiler when linking
  48404. # a shared library.
  48405. compiler_lib_search_path=$lt_compiler_lib_search_path_FC
  48406. # ### END LIBTOOL TAG CONFIG: FC
  48407. _LT_EOF
  48408. ;;
  48409. esac
  48410. done # for ac_tag
  48411. as_fn_exit 0
  48412. _ACEOF
  48413. ac_clean_files=$ac_clean_files_save
  48414. test $ac_write_fail = 0 ||
  48415. as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
  48416. # configure is writing to config.log, and then calls config.status.
  48417. # config.status does its own redirection, appending to config.log.
  48418. # Unfortunately, on DOS this fails, as config.log is still kept open
  48419. # by configure, so config.status won't be able to write to it; its
  48420. # output is simply discarded. So we exec the FD to /dev/null,
  48421. # effectively closing config.log, so it can be properly (re)opened and
  48422. # appended to by config.status. When coming back to configure, we
  48423. # need to make the FD available again.
  48424. if test "$no_create" != yes; then
  48425. ac_cs_success=:
  48426. ac_config_status_args=
  48427. test "$silent" = yes &&
  48428. ac_config_status_args="$ac_config_status_args --quiet"
  48429. exec 5>/dev/null
  48430. $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
  48431. exec 5>>config.log
  48432. # Use ||, not &&, to avoid exiting from the if with $? = 1, which
  48433. # would make configure fail if this is the last instruction.
  48434. $ac_cs_success || as_fn_exit 1
  48435. fi
  48436. #
  48437. # CONFIG_SUBDIRS section.
  48438. #
  48439. if test "$no_recursion" != yes; then
  48440. # Remove --cache-file, --srcdir, and --disable-option-checking arguments
  48441. # so they do not pile up.
  48442. ac_sub_configure_args=
  48443. ac_prev=
  48444. eval "set x $ac_configure_args"
  48445. shift
  48446. for ac_arg
  48447. do
  48448. if test -n "$ac_prev"; then
  48449. ac_prev=
  48450. continue
  48451. fi
  48452. case $ac_arg in
  48453. -cache-file | --cache-file | --cache-fil | --cache-fi \
  48454. | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
  48455. ac_prev=cache_file ;;
  48456. -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  48457. | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
  48458. | --c=*)
  48459. ;;
  48460. --config-cache | -C)
  48461. ;;
  48462. -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
  48463. ac_prev=srcdir ;;
  48464. -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  48465. ;;
  48466. -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  48467. ac_prev=prefix ;;
  48468. -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  48469. ;;
  48470. --disable-option-checking)
  48471. ;;
  48472. *)
  48473. case $ac_arg in
  48474. *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
  48475. esac
  48476. as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
  48477. esac
  48478. done
  48479. # Always prepend --prefix to ensure using the same prefix
  48480. # in subdir configurations.
  48481. ac_arg="--prefix=$prefix"
  48482. case $ac_arg in
  48483. *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
  48484. esac
  48485. ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
  48486. # Pass --silent
  48487. if test "$silent" = yes; then
  48488. ac_sub_configure_args="--silent $ac_sub_configure_args"
  48489. fi
  48490. # Always prepend --disable-option-checking to silence warnings, since
  48491. # different subdirs can have different --enable and --with options.
  48492. ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
  48493. ac_popdir=`pwd`
  48494. for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
  48495. # Do not complain, so a configure script can configure whichever
  48496. # parts of a large source tree are present.
  48497. test -d "$srcdir/$ac_dir" || continue
  48498. ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
  48499. $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
  48500. $as_echo "$ac_msg" >&6
  48501. as_dir="$ac_dir"; as_fn_mkdir_p
  48502. ac_builddir=.
  48503. case "$ac_dir" in
  48504. .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
  48505. *)
  48506. ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  48507. # A ".." for each directory in $ac_dir_suffix.
  48508. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  48509. case $ac_top_builddir_sub in
  48510. "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  48511. *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  48512. esac ;;
  48513. esac
  48514. ac_abs_top_builddir=$ac_pwd
  48515. ac_abs_builddir=$ac_pwd$ac_dir_suffix
  48516. # for backward compatibility:
  48517. ac_top_builddir=$ac_top_build_prefix
  48518. case $srcdir in
  48519. .) # We are building in place.
  48520. ac_srcdir=.
  48521. ac_top_srcdir=$ac_top_builddir_sub
  48522. ac_abs_top_srcdir=$ac_pwd ;;
  48523. [\\/]* | ?:[\\/]* ) # Absolute name.
  48524. ac_srcdir=$srcdir$ac_dir_suffix;
  48525. ac_top_srcdir=$srcdir
  48526. ac_abs_top_srcdir=$srcdir ;;
  48527. *) # Relative name.
  48528. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
  48529. ac_top_srcdir=$ac_top_build_prefix$srcdir
  48530. ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
  48531. esac
  48532. ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
  48533. cd "$ac_dir"
  48534. # Check for guested configure; otherwise get Cygnus style configure.
  48535. if test -f "$ac_srcdir/configure.gnu"; then
  48536. ac_sub_configure=$ac_srcdir/configure.gnu
  48537. elif test -f "$ac_srcdir/configure"; then
  48538. ac_sub_configure=$ac_srcdir/configure
  48539. elif test -f "$ac_srcdir/configure.in"; then
  48540. # This should be Cygnus configure.
  48541. ac_sub_configure=$ac_aux_dir/configure
  48542. else
  48543. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5
  48544. $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
  48545. ac_sub_configure=
  48546. fi
  48547. # The recursion is here.
  48548. if test -n "$ac_sub_configure"; then
  48549. # Make the cache file name correct relative to the subdirectory.
  48550. case $cache_file in
  48551. [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
  48552. *) # Relative name.
  48553. ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
  48554. esac
  48555. { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
  48556. $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
  48557. # The eval makes quoting arguments work.
  48558. eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
  48559. --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
  48560. as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
  48561. fi
  48562. cd "$ac_popdir"
  48563. done
  48564. fi
  48565. if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
  48566. { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
  48567. $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
  48568. fi
  48569. # end hackery
  48570. if test "x$enablenested" = "xyes"; then :
  48571. ac_configure_args="$ac_configure_args_SAVE"
  48572. fi
  48573. # Final summary
  48574. ######################################################################################
  48575. $as_echo
  48576. $as_echo "----------------------------------- SUMMARY -----------------------------------"
  48577. $as_echo
  48578. $as_echo "Package version.................... : $PACKAGE-$VERSION"
  48579. $as_echo
  48580. $as_echo "C++ compiler type.................. : $GXX_VERSION"
  48581. $as_echo "C++ compiler....................... : $CXX"
  48582. $as_echo "C compiler......................... : $CC"
  48583. $as_echo "Fortran compiler................... : $FC"
  48584. $as_echo "Build Methods...................... : $METHODS"
  48585. $as_echo
  48586. for method in ${METHODS}; do
  48587. case "${method}" in #(
  48588. opt) :
  48589. $as_echo "CPPFLAGS...(opt)................... : $CPPFLAGS_OPT"
  48590. $as_echo "CXXFLAGS...(opt)................... : $CXXFLAGS_OPT"
  48591. $as_echo "CFLAGS.....(opt)................... : $CFLAGS_OPT" ;; #(
  48592. devel) :
  48593. $as_echo "CPPFLAGS...(devel)................. : $CPPFLAGS_DEVEL"
  48594. $as_echo "CXXFLAGS...(devel)................. : $CXXFLAGS_DEVEL"
  48595. $as_echo "CFLAGS.....(devel)................. : $CFLAGS_DEVEL" ;; #(
  48596. dbg) :
  48597. $as_echo "CPPFLAGS...(dbg)................... : $CPPFLAGS_DBG"
  48598. $as_echo "CXXFLAGS...(dbg)................... : $CXXFLAGS_DBG"
  48599. $as_echo "CFLAGS.....(dbg)................... : $CFLAGS_DBG" ;; #(
  48600. prof) :
  48601. $as_echo "CPPFLAGS...(prof).................. : $CPPFLAGS_PROF"
  48602. $as_echo "CXXFLAGS...(prof).................. : $CXXFLAGS_PROF"
  48603. $as_echo "CFLAGS.....(prof).................. : $CFLAGS_PROF" ;; #(
  48604. oprof) :
  48605. $as_echo "CPPFLAGS...(oprof)................. : $CPPFLAGS_OPROF"
  48606. $as_echo "CXXFLAGS...(oprof)................. : $CXXFLAGS_OPROF"
  48607. $as_echo "CFLAGS.....(oprof)................. : $CFLAGS_OPROF" ;; #(
  48608. *) :
  48609. ;;
  48610. esac
  48611. $as_echo
  48612. done
  48613. $as_echo "Any warnings-to-errors flags....... : $ANY_WERROR_FLAG"
  48614. $as_echo "Any extra paranoid warning flags... : $ANY_PARANOID_FLAGS"
  48615. $as_echo "Install dir........................ : $prefix"
  48616. $as_echo "Build user......................... : $USER"
  48617. $as_echo "Build host......................... : $BUILD_HOST"
  48618. $as_echo "Build architecture................. : $BUILD_ARCH"
  48619. $as_echo "Git revision....................... : $BUILD_VERSION"
  48620. $as_echo
  48621. $as_echo "Library Features:"
  48622. $as_echo " library warnings................. : $enablewarnings"
  48623. $as_echo " library deprecated code support.. : $enabledeprecated"
  48624. $as_echo " adaptive mesh refinement......... : $enableamr"
  48625. $as_echo " blocked matrix/vector storage.... : $enableblockedstorage"
  48626. $as_echo " complex variables................ : $enablecomplex"
  48627. $as_echo " example suite.................... : $enableexamples"
  48628. $as_echo " ghosted vectors.................. : $enableghosted"
  48629. $as_echo " high-order shape functions....... : $enablepfem"
  48630. $as_echo " unique-id support................ : $enableuniqueid"
  48631. $as_echo " id size (boundaries)............. : $boundary_bytes bytes"
  48632. $as_echo " id size (dofs)................... : $dof_bytes bytes"
  48633. if test "x$enableuniqueid" = "xyes"; then :
  48634. $as_echo " id size (unique)................. : $unique_bytes bytes"
  48635. fi
  48636. $as_echo " id size (processors)............. : $processor_bytes bytes"
  48637. $as_echo " id size (subdomains)............. : $subdomain_bytes bytes"
  48638. $as_echo " infinite elements................ : $enableifem"
  48639. $as_echo " Dirichlet constraints............ : $enabledirichlet"
  48640. $as_echo " node constraints................. : $enablenodeconstraint"
  48641. $as_echo " parallel mesh.................... : $enableparmesh"
  48642. $as_echo " performance logging.............. : $enableperflog"
  48643. $as_echo " periodic boundary conditions..... : $enableperiodic"
  48644. $as_echo " reference counting............... : $enablerefct"
  48645. $as_echo " shape function 2nd derivatives... : $enablesecond"
  48646. $as_echo " stack trace files................ : $enabletracefiles"
  48647. $as_echo " track node valence............... : $enablenodevalence"
  48648. $as_echo " variational smoother............. : $enablevsmoother"
  48649. $as_echo " xdr binary I/O................... : $enablexdr"
  48650. if test "x$enablelegacyincludepaths" = "xyes"; then :
  48651. $as_echo " non-prefixed include paths....... : $enablelegacyincludepaths ***LEGACY FEATURE***"
  48652. fi
  48653. if test "x$enablelegacyusingnamespace" = "xyes"; then :
  48654. $as_echo " adding using namespace libMesh... : $enablelegacyusingnamespace ***LEGACY FEATURE***"
  48655. fi
  48656. if test "x$enabledefaultcommworld" = "xyes"; then :
  48657. $as_echo " providing libMesh::CommWorld..... : $enabledefaultcommworld ***LEGACY FEATURE***"
  48658. fi
  48659. if test "x$enableoptional" = "xyes"; then :
  48660. $as_echo
  48661. $as_echo "Optional Packages:"
  48662. $as_echo " boost............................ : $enableboost"
  48663. $as_echo " capnproto........................ : $enablecapnproto"
  48664. $as_echo " cppunit.......................... : $enablecppunit"
  48665. $as_echo " curl............................. : $enablecurl"
  48666. $as_echo " eigen............................ : $enableeigen"
  48667. $as_echo " exodus........................... : $enableexodus"
  48668. if test "x$exodusversion" != "xno"; then :
  48669. $as_echo " version....................... : $exodusversion"
  48670. fi
  48671. $as_echo " fparser.......................... : $enablefparser"
  48672. if test "x$enablefparser" = "xyes" && test "x$enablefparserdevel" = "xno"; then :
  48673. $as_echo " build from version............ : release"
  48674. fi
  48675. if test "x$enablefparser" = "xyes" && test "x$enablefparserdevel" = "xyes"; then :
  48676. $as_echo " build from version............ : devel"
  48677. fi
  48678. if test "x$enablefparser" = "xyes" && test "x$enablefparserdebugging" = "xyes"; then :
  48679. $as_echo " fparser debugging............. : enabled"
  48680. fi
  48681. $as_echo " glpk............................. : $enableglpk"
  48682. $as_echo " gmv.............................. : $enablegmv"
  48683. $as_echo " gzstream......................... : $enablegz"
  48684. $as_echo " hdf5............................. : $enablehdf5"
  48685. $as_echo " laspack.......................... : $enablelaspack"
  48686. $as_echo " libhilbert....................... : $enablelibhilbert"
  48687. $as_echo " metaphysicl...................... : $enablemetaphysicl"
  48688. $as_echo " metis............................ : $enablemetis"
  48689. $as_echo " mpi.............................. : $enablempi"
  48690. $as_echo " nanoflann........................ : $enablenanoflann"
  48691. $as_echo " nemesis.......................... : $enablenemesis"
  48692. if test "x$nemesisversion" != "xno"; then :
  48693. $as_echo " version....................... : $nemesisversion"
  48694. fi
  48695. $as_echo " netcdf........................... : $enablenetcdf"
  48696. if test "x$netcdfversion" != "xno"; then :
  48697. $as_echo " version....................... : $netcdfversion"
  48698. fi
  48699. $as_echo " nlopt............................ : $enablenlopt"
  48700. $as_echo " parmetis......................... : $enableparmetis"
  48701. $as_echo " petsc............................ : $enablepetsc"
  48702. if test "x$enablepetsc" = "xyes"; then :
  48703. $as_echo " version....................... : $petscversion"
  48704. fi
  48705. $as_echo " qhull............................ : $enableqhull"
  48706. $as_echo " sfcurves......................... : $enablesfc"
  48707. $as_echo " slepc............................ : $enableslepc"
  48708. if test "x$enableslepc" = "xyes"; then :
  48709. $as_echo " version....................... : $slepcversion"
  48710. fi
  48711. $as_echo " thread model..................... : $found_thread_model"
  48712. $as_echo " c++ rtti ........................ : $ac_cv_cxx_rtti"
  48713. $as_echo " tecio............................ : $enabletecio"
  48714. $as_echo " tecplot...(vendor binaries)...... : $enabletecplot"
  48715. $as_echo " tetgen........................... : $enabletetgen"
  48716. $as_echo " triangle......................... : $enabletriangle"
  48717. $as_echo " trilinos......................... : $enabletrilinos"
  48718. if test "x$enabletrilinos" = "xyes"; then :
  48719. $as_echo " AztecOO....................... : $enableaztecoo"
  48720. $as_echo " NOX........................... : $enablenox"
  48721. $as_echo " ML............................ : $enableml"
  48722. $as_echo " Tpetra........................ : $enabletpetra"
  48723. $as_echo " DTK........................... : $enabledtk"
  48724. $as_echo " Ifpack........................ : $enableifpack"
  48725. $as_echo " Epetra........................ : $enableepetra"
  48726. $as_echo " EpetraExt..................... : $enableepetraext"
  48727. fi
  48728. $as_echo " vtk.............................. : $enablevtk"
  48729. if test "x$enablevtk" = "xyes"; then :
  48730. $as_echo " version....................... : $vtkversion"
  48731. fi
  48732. $as_echo
  48733. if test "x$libmesh_optional_INCLUDES" != "x"; then :
  48734. $as_echo " libmesh_optional_INCLUDES........ : $libmesh_optional_INCLUDES"
  48735. $as_echo
  48736. fi
  48737. if test "x$libmesh_optional_LIBS" != "x"; then :
  48738. $as_echo " libmesh_optional_LIBS............ : $libmesh_optional_LIBS"
  48739. $as_echo
  48740. fi
  48741. if test "x$libmesh_precision_LIBS" != "x"; then :
  48742. $as_echo " libmesh_precision_LIBS........... : $libmesh_precision_LIBS"
  48743. $as_echo
  48744. fi
  48745. fi
  48746. $as_echo
  48747. if test "x$enableglibcxxdebugging" = "xyes"; then :
  48748. $as_echo \
  48749. "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" \
  48750. "! WARNING: You used --enable-glibcxx-debugging. This setting breaks ABI !" \
  48751. "! compatibility. You need to make sure that when you link C++ !" \
  48752. "! libraries in combination with the debug version of libMesh !" \
  48753. "! that ALL OF THESE LIBRARIES are compiled with the !" \
  48754. "! -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC !" \
  48755. "! flags. !" \
  48756. "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
  48757. $as_echo
  48758. fi
  48759. $as_echo "-------------------------------------------------------------------------------"
  48760. $as_echo "Configure complete, now type 'make' and then 'make install'."
  48761. $as_echo
  48762. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  48763. $as_echo "---------------------------------------------" >&6; }
  48764. { $as_echo "$as_me:${as_lineno-$LINENO}: result: --------- Done Configuring libMesh ----------" >&5
  48765. $as_echo "--------- Done Configuring libMesh ----------" >&6; }
  48766. { $as_echo "$as_me:${as_lineno-$LINENO}: result: ---------------------------------------------" >&5
  48767. $as_echo "---------------------------------------------" >&6; }
  48768. # rm -f -r conftest* config.cache include/libmesh/libmesh_config.h.tmp