12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092 |
- From 7e15907dafac40b524dfeb566a06eb8290e38de6 Mon Sep 17 00:00:00 2001
- From: Jim Wilson <jimw@sifive.com>
- Date: Tue, 27 Nov 2018 12:22:33 -0800
- Subject: [PATCH 01/48] Add simulator from riscv-binutils-2.29 branch.
- ---
- gdb/configure.tgt | 1 +
- include/gdb/sim-riscv.h | 99 +
- sim/common/nltvals.def | 48 +
- sim/configure | 22 +-
- sim/configure.tgt | 3 +
- sim/riscv/ChangeLog | 16 +
- sim/riscv/Makefile.in | 35 +
- sim/riscv/aclocal.m4 | 119 +
- sim/riscv/config.in | 248 +
- sim/riscv/configure | 16131 ++++++++++++++++++++++++
- sim/riscv/configure.ac | 30 +
- sim/riscv/interp.c | 220 +
- sim/riscv/machs.c | 125 +
- sim/riscv/machs.h | 45 +
- sim/riscv/model_list.def | 9 +
- sim/riscv/sim-main.c | 2468 ++++
- sim/riscv/sim-main.h | 100 +
- sim/testsuite/configure | 17 +-
- sim/testsuite/sim/riscv/ChangeLog | 3 +
- sim/testsuite/sim/riscv/allinsn.exp | 15 +
- sim/testsuite/sim/riscv/pass.s | 7 +
- sim/testsuite/sim/riscv/testutils.inc | 50 +
- 22 files changed, 19809 insertions(+), 2 deletions(-)
- create mode 100644 include/gdb/sim-riscv.h
- create mode 100644 sim/riscv/ChangeLog
- create mode 100644 sim/riscv/Makefile.in
- create mode 100644 sim/riscv/aclocal.m4
- create mode 100644 sim/riscv/config.in
- create mode 100755 sim/riscv/configure
- create mode 100644 sim/riscv/configure.ac
- create mode 100644 sim/riscv/interp.c
- create mode 100644 sim/riscv/machs.c
- create mode 100644 sim/riscv/machs.h
- create mode 100644 sim/riscv/model_list.def
- create mode 100644 sim/riscv/sim-main.c
- create mode 100644 sim/riscv/sim-main.h
- create mode 100644 sim/testsuite/sim/riscv/ChangeLog
- create mode 100644 sim/testsuite/sim/riscv/allinsn.exp
- create mode 100644 sim/testsuite/sim/riscv/pass.s
- create mode 100644 sim/testsuite/sim/riscv/testutils.inc
- diff --git a/gdb/configure.tgt b/gdb/configure.tgt
- index a3e11c4b9b..2410253e61 100644
- --- a/gdb/configure.tgt
- +++ b/gdb/configure.tgt
- @@ -553,6 +553,7 @@ riscv*-*-linux*)
- riscv*-*-*)
- # Target: RISC-V architecture
- gdb_target_obs=""
- + gdb_sim=../sim/riscv/libsim.a
- ;;
-
- rl78-*-elf)
- diff --git a/include/gdb/sim-riscv.h b/include/gdb/sim-riscv.h
- new file mode 100644
- index 0000000000..a554f34450
- --- /dev/null
- +++ b/include/gdb/sim-riscv.h
- @@ -0,0 +1,99 @@
- +/* This file defines the interface between the RISC-V simulator and GDB.
- +
- + Copyright (C) 2005-2015 Free Software Foundation, Inc.
- +
- + This file is part of GDB.
- +
- + This program is free software; you can redistribute it and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 3 of the License, or
- + (at your option) any later version.
- +
- + This program is distributed in the hope that it will be useful,
- + but WITHOUT ANY WARRANTY; without even the implied warranty of
- + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + GNU General Public License for more details.
- +
- + You should have received a copy of the GNU General Public License
- + along with this program. If not, see <http://www.gnu.org/licenses/>. */
- +
- +/* Order has to match gdb riscv-tdep list. */
- +enum sim_riscv_regnum {
- + SIM_RISCV_ZERO_REGNUM = 0,
- + SIM_RISCV_RA_REGNUM,
- + SIM_RISCV_SP_REGNUM,
- + SIM_RISCV_GP_REGNUM,
- + SIM_RISCV_TP_REGNUM,
- + SIM_RISCV_T0_REGNUM,
- + SIM_RISCV_T1_REGNUM,
- + SIM_RISCV_T2_REGNUM,
- + SIM_RISCV_S0_REGNUM,
- +#define SIM_RISCV_FP_REGNUM SIM_RISCV_S0_REGNUM
- + SIM_RISCV_S1_REGNUM,
- + SIM_RISCV_A0_REGNUM,
- + SIM_RISCV_A1_REGNUM,
- + SIM_RISCV_A2_REGNUM,
- + SIM_RISCV_A3_REGNUM,
- + SIM_RISCV_A4_REGNUM,
- + SIM_RISCV_A5_REGNUM,
- + SIM_RISCV_A6_REGNUM,
- + SIM_RISCV_A7_REGNUM,
- + SIM_RISCV_S2_REGNUM,
- + SIM_RISCV_S3_REGNUM,
- + SIM_RISCV_S4_REGNUM,
- + SIM_RISCV_S5_REGNUM,
- + SIM_RISCV_S6_REGNUM,
- + SIM_RISCV_S7_REGNUM,
- + SIM_RISCV_S8_REGNUM,
- + SIM_RISCV_S9_REGNUM,
- + SIM_RISCV_S10_REGNUM,
- + SIM_RISCV_S11_REGNUM,
- + SIM_RISCV_T3_REGNUM,
- + SIM_RISCV_T4_REGNUM,
- + SIM_RISCV_T5_REGNUM,
- + SIM_RISCV_T6_REGNUM,
- + SIM_RISCV_PC_REGNUM,
- + SIM_RISCV_FT0_REGNUM,
- +#define SIM_RISCV_FIRST_FP_REGNUM SIM_RISCV_FT0_REGNUM
- + SIM_RISCV_FT1_REGNUM,
- + SIM_RISCV_FT2_REGNUM,
- + SIM_RISCV_FT3_REGNUM,
- + SIM_RISCV_FT4_REGNUM,
- + SIM_RISCV_FT5_REGNUM,
- + SIM_RISCV_FT6_REGNUM,
- + SIM_RISCV_FT7_REGNUM,
- + SIM_RISCV_FS0_REGNUM,
- + SIM_RISCV_FS1_REGNUM,
- + SIM_RISCV_FA0_REGNUM,
- + SIM_RISCV_FA1_REGNUM,
- + SIM_RISCV_FA2_REGNUM,
- + SIM_RISCV_FA3_REGNUM,
- + SIM_RISCV_FA4_REGNUM,
- + SIM_RISCV_FA5_REGNUM,
- + SIM_RISCV_FA6_REGNUM,
- + SIM_RISCV_FA7_REGNUM,
- + SIM_RISCV_FS2_REGNUM,
- + SIM_RISCV_FS3_REGNUM,
- + SIM_RISCV_FS4_REGNUM,
- + SIM_RISCV_FS5_REGNUM,
- + SIM_RISCV_FS6_REGNUM,
- + SIM_RISCV_FS7_REGNUM,
- + SIM_RISCV_FS8_REGNUM,
- + SIM_RISCV_FS9_REGNUM,
- + SIM_RISCV_FS10_REGNUM,
- + SIM_RISCV_FS11_REGNUM,
- + SIM_RISCV_FT8_REGNUM,
- + SIM_RISCV_FT9_REGNUM,
- + SIM_RISCV_FT10_REGNUM,
- + SIM_RISCV_FT11_REGNUM,
- +#define SIM_RISCV_LAST_FP_REGNUM SIM_RISCV_FT11_REGNUM
- +
- +#define SIM_RISCV_FIRST_CSR_REGNUM SIM_RISCV_LAST_FP_REGNUM + 1
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + SIM_RISCV_ ## num ## _REGNUM,
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- +#define SIM_RISCV_LAST_CSR_REGNUM SIM_RISCV_LAST_REGNUM - 1
- +
- + SIM_RISCV_LAST_REGNUM
- +};
- diff --git a/sim/common/nltvals.def b/sim/common/nltvals.def
- index 92ccc9aded..60467f343d 100644
- --- a/sim/common/nltvals.def
- +++ b/sim/common/nltvals.def
- @@ -605,3 +605,51 @@
- /* end pru sys target macros */
- #endif
- #endif
- +#ifdef NL_TARGET_riscv
- +#ifdef sys_defs
- +/* from syscall.h */
- +/* begin riscv sys target macros */
- + { "SYS_access", 1033 },
- + { "SYS_brk", 214 },
- + { "SYS_chdir", 49 },
- + { "SYS_close", 57 },
- + { "SYS_dup", 23 },
- + { "SYS_exit", 93 },
- + { "SYS_exit_group", 94 },
- + { "SYS_faccessat", 48 },
- + { "SYS_fcntl", 25 },
- + { "SYS_fstat", 80 },
- + { "SYS_fstatat", 79 },
- + { "SYS_getcwd", 17 },
- + { "SYS_getdents", 61 },
- + { "SYS_getegid", 177 },
- + { "SYS_geteuid", 175 },
- + { "SYS_getgid", 176 },
- + { "SYS_getmainvars", 2011 },
- + { "SYS_getpid", 172 },
- + { "SYS_gettimeofday", 169 },
- + { "SYS_getuid", 174 },
- + { "SYS_kill", 129 },
- + { "SYS_link", 1025 },
- + { "SYS_lseek", 62 },
- + { "SYS_lstat", 1039 },
- + { "SYS_mkdir", 1030 },
- + { "SYS_mmap", 222 },
- + { "SYS_mremap", 216 },
- + { "SYS_munmap", 215 },
- + { "SYS_open", 1024 },
- + { "SYS_openat", 56 },
- + { "SYS_pread", 67 },
- + { "SYS_pwrite", 68 },
- + { "SYS_read", 63 },
- + { "SYS_rt_sigaction", 134 },
- + { "SYS_stat", 1038 },
- + { "SYS_time", 1062 },
- + { "SYS_times", 153 },
- + { "SYS_uname", 160 },
- + { "SYS_unlink", 1026 },
- + { "SYS_write", 64 },
- + { "SYS_writev", 66 },
- +/* end riscv sys target macros */
- +#endif
- +#endif
- diff --git a/sim/configure b/sim/configure
- index 34f1a15a4c..7ff3b468b1 100755
- --- a/sim/configure
- +++ b/sim/configure
- @@ -633,6 +633,7 @@ infodir
- docdir
- oldincludedir
- includedir
- +runstatedir
- localstatedir
- sharedstatedir
- sysconfdir
- @@ -688,6 +689,7 @@ moxie
- msp430
- or1k
- pru
- +riscv
- rl78
- rx
- sh64
- @@ -735,6 +737,7 @@ datadir='${datarootdir}'
- sysconfdir='${prefix}/etc'
- sharedstatedir='${prefix}/com'
- localstatedir='${prefix}/var'
- +runstatedir='${localstatedir}/run'
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
- docdir='${datarootdir}/doc/${PACKAGE}'
- @@ -987,6 +990,15 @@ do
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- + -runstatedir | --runstatedir | --runstatedi | --runstated \
- + | --runstate | --runstat | --runsta | --runst | --runs \
- + | --run | --ru | --r)
- + ac_prev=runstatedir ;;
- + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- + | --run=* | --ru=* | --r=*)
- + runstatedir=$ac_optarg ;;
- +
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- @@ -1124,7 +1136,7 @@ fi
- for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- - libdir localedir mandir
- + libdir localedir mandir runstatedir
- do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- @@ -1277,6 +1289,7 @@ Fine tuning of the installation directories:
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- @@ -3853,6 +3866,13 @@ subdirs="$subdirs aarch64"
- subdirs="$subdirs pru"
-
-
- + ;;
- + riscv*-*-*)
- +
- + sim_arch=riscv
- + subdirs="$subdirs riscv"
- +
- +
- ;;
- rl78-*-*)
-
- diff --git a/sim/configure.tgt b/sim/configure.tgt
- index c115c3c8dd..54a6342733 100644
- --- a/sim/configure.tgt
- +++ b/sim/configure.tgt
- @@ -85,6 +85,9 @@ case "${target}" in
- pru*-*-*)
- SIM_ARCH(pru)
- ;;
- + riscv*-*-*)
- + SIM_ARCH(riscv)
- + ;;
- rl78-*-*)
- SIM_ARCH(rl78)
- ;;
- diff --git a/sim/riscv/ChangeLog b/sim/riscv/ChangeLog
- new file mode 100644
- index 0000000000..8ab02a7a06
- --- /dev/null
- +++ b/sim/riscv/ChangeLog
- @@ -0,0 +1,16 @@
- +2018-11-26 Jim Wilson <jimw@sifive.com>
- +
- + * sim-main.c (execute_a): Check xlen_requirement not subset.
- + (step_once): Likewise.
- + (execute_one): Check xlen_requirement against cpu instead of subset.
- + New local index. Set to index of last non-zero char in subset.
- + Delete local subset. Use op->subset[index] instead of subset.
- + Delete '3' and '6' support from switch.
- +
- +2015-04-27 Mike Frysinger <vapier@gentoo.org>
- + Kito Cheng, Kuan-Lin Chen, Monk Chiang, Palmer Dabbelt, Jim Wilson
- +
- + * configure.ac, interp.c, Makefile.in, README, README-ISA,
- + sim-main.c, sim-main.h: New files for example simulator.
- + * aclocal.m4, config.in, configure: Regenerated.
- +
- diff --git a/sim/riscv/Makefile.in b/sim/riscv/Makefile.in
- new file mode 100644
- index 0000000000..2902cf68c7
- --- /dev/null
- +++ b/sim/riscv/Makefile.in
- @@ -0,0 +1,35 @@
- +# Makefile template for Configure for the example basic simulator.
- +# Copyright (C) 2005-2015 Free Software Foundation, Inc.
- +# Written by Mike Frysinger.
- +#
- +# This program is free software; you can redistribute it and/or modify
- +# it under the terms of the GNU General Public License as published by
- +# the Free Software Foundation; either version 3 of the License, or
- +# (at your option) any later version.
- +#
- +# This program is distributed in the hope that it will be useful,
- +# but WITHOUT ANY WARRANTY; without even the implied warranty of
- +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- +# GNU General Public License for more details.
- +#
- +# You should have received a copy of the GNU General Public License
- +# along with this program. If not, see <http://www.gnu.org/licenses/>.
- +
- +# This selects the newlib/libgloss syscall definitions.
- +NL_TARGET = -DNL_TARGET_riscv
- +
- +## COMMON_PRE_CONFIG_FRAG
- +
- +SIM_OBJS = \
- + $(SIM_NEW_COMMON_OBJS) \
- + sim-hload.o \
- + sim-model.o \
- + sim-reason.o \
- + sim-reg.o \
- + sim-resume.o \
- + sim-stop.o \
- + interp.o \
- + machs.o \
- + sim-main.o
- +
- +## COMMON_POST_CONFIG_FRAG
- diff --git a/sim/riscv/aclocal.m4 b/sim/riscv/aclocal.m4
- new file mode 100644
- index 0000000000..c81c155ac9
- --- /dev/null
- +++ b/sim/riscv/aclocal.m4
- @@ -0,0 +1,119 @@
- +# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
- +
- +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
- +
- +# This file is free software; the Free Software Foundation
- +# gives unlimited permission to copy and/or distribute it,
- +# with or without modifications, as long as this notice is preserved.
- +
- +# This program is distributed in the hope that it will be useful,
- +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
- +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- +# PARTICULAR PURPOSE.
- +
- +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
- +# AM_CONDITIONAL -*- Autoconf -*-
- +
- +# Copyright (C) 1997-2013 Free Software Foundation, Inc.
- +#
- +# This file is free software; the Free Software Foundation
- +# gives unlimited permission to copy and/or distribute it,
- +# with or without modifications, as long as this notice is preserved.
- +
- +# AM_CONDITIONAL(NAME, SHELL-CONDITION)
- +# -------------------------------------
- +# Define a conditional.
- +AC_DEFUN([AM_CONDITIONAL],
- +[AC_PREREQ([2.52])dnl
- + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
- +AC_SUBST([$1_TRUE])dnl
- +AC_SUBST([$1_FALSE])dnl
- +_AM_SUBST_NOTMAKE([$1_TRUE])dnl
- +_AM_SUBST_NOTMAKE([$1_FALSE])dnl
- +m4_define([_AM_COND_VALUE_$1], [$2])dnl
- +if $2; then
- + $1_TRUE=
- + $1_FALSE='#'
- +else
- + $1_TRUE='#'
- + $1_FALSE=
- +fi
- +AC_CONFIG_COMMANDS_PRE(
- +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- + AC_MSG_ERROR([[conditional "$1" was never defined.
- +Usually this means the macro was only invoked conditionally.]])
- +fi])])
- +
- +# Copyright (C) 2003-2013 Free Software Foundation, Inc.
- +#
- +# This file is free software; the Free Software Foundation
- +# gives unlimited permission to copy and/or distribute it,
- +# with or without modifications, as long as this notice is preserved.
- +
- +# Check whether the underlying file-system supports filenames
- +# with a leading dot. For instance MS-DOS doesn't.
- +AC_DEFUN([AM_SET_LEADING_DOT],
- +[rm -rf .tst 2>/dev/null
- +mkdir .tst 2>/dev/null
- +if test -d .tst; then
- + am__leading_dot=.
- +else
- + am__leading_dot=_
- +fi
- +rmdir .tst 2>/dev/null
- +AC_SUBST([am__leading_dot])])
- +
- +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
- +# From Jim Meyering
- +
- +# Copyright (C) 1996-2013 Free Software Foundation, Inc.
- +#
- +# This file is free software; the Free Software Foundation
- +# gives unlimited permission to copy and/or distribute it,
- +# with or without modifications, as long as this notice is preserved.
- +
- +# AM_MAINTAINER_MODE([DEFAULT-MODE])
- +# ----------------------------------
- +# Control maintainer-specific portions of Makefiles.
- +# Default is to disable them, unless 'enable' is passed literally.
- +# For symmetry, 'disable' may be passed as well. Anyway, the user
- +# can override the default with the --enable/--disable switch.
- +AC_DEFUN([AM_MAINTAINER_MODE],
- +[m4_case(m4_default([$1], [disable]),
- + [enable], [m4_define([am_maintainer_other], [disable])],
- + [disable], [m4_define([am_maintainer_other], [enable])],
- + [m4_define([am_maintainer_other], [enable])
- + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
- +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- + dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- + AC_ARG_ENABLE([maintainer-mode],
- + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- + am_maintainer_other[ make rules and dependencies not useful
- + (and sometimes confusing) to the casual installer])],
- + [USE_MAINTAINER_MODE=$enableval],
- + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- + AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- + MAINT=$MAINTAINER_MODE_TRUE
- + AC_SUBST([MAINT])dnl
- +]
- +)
- +
- +# Copyright (C) 2006-2013 Free Software Foundation, Inc.
- +#
- +# This file is free software; the Free Software Foundation
- +# gives unlimited permission to copy and/or distribute it,
- +# with or without modifications, as long as this notice is preserved.
- +
- +# _AM_SUBST_NOTMAKE(VARIABLE)
- +# ---------------------------
- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
- +# This macro is traced by Automake.
- +AC_DEFUN([_AM_SUBST_NOTMAKE])
- +
- +# AM_SUBST_NOTMAKE(VARIABLE)
- +# --------------------------
- +# Public sister of _AM_SUBST_NOTMAKE.
- +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
- +
- diff --git a/sim/riscv/config.in b/sim/riscv/config.in
- new file mode 100644
- index 0000000000..aa3e45ca4a
- --- /dev/null
- +++ b/sim/riscv/config.in
- @@ -0,0 +1,248 @@
- +/* config.in. Generated from configure.ac by autoheader. */
- +
- +/* Define if building universal (internal helper macro) */
- +#undef AC_APPLE_UNIVERSAL_BUILD
- +
- +/* Sim debug setting */
- +#undef DEBUG
- +
- +/* Define to 1 if translation of program messages to the user's native
- + language is requested. */
- +#undef ENABLE_NLS
- +
- +/* Define to 1 if you have the <dlfcn.h> header file. */
- +#undef HAVE_DLFCN_H
- +
- +/* Define to 1 if you have the <errno.h> header file. */
- +#undef HAVE_ERRNO_H
- +
- +/* Define to 1 if you have the <fcntl.h> header file. */
- +#undef HAVE_FCNTL_H
- +
- +/* Define to 1 if you have the <fpu_control.h> header file. */
- +#undef HAVE_FPU_CONTROL_H
- +
- +/* Define to 1 if you have the `ftruncate' function. */
- +#undef HAVE_FTRUNCATE
- +
- +/* Define to 1 if you have the `getrusage' function. */
- +#undef HAVE_GETRUSAGE
- +
- +/* Define to 1 if you have the <inttypes.h> header file. */
- +#undef HAVE_INTTYPES_H
- +
- +/* Define to 1 if you have the `nsl' library (-lnsl). */
- +#undef HAVE_LIBNSL
- +
- +/* Define to 1 if you have the `socket' library (-lsocket). */
- +#undef HAVE_LIBSOCKET
- +
- +/* Define to 1 if you have the `lstat' function. */
- +#undef HAVE_LSTAT
- +
- +/* Define to 1 if you have the <memory.h> header file. */
- +#undef HAVE_MEMORY_H
- +
- +/* Define to 1 if you have the `mmap' function. */
- +#undef HAVE_MMAP
- +
- +/* Define to 1 if you have the `munmap' function. */
- +#undef HAVE_MUNMAP
- +
- +/* Define to 1 if you have the `posix_fallocate' function. */
- +#undef HAVE_POSIX_FALLOCATE
- +
- +/* Define to 1 if you have the `sigaction' function. */
- +#undef HAVE_SIGACTION
- +
- +/* Define to 1 if the system has the type `socklen_t'. */
- +#undef HAVE_SOCKLEN_T
- +
- +/* Define to 1 if you have the <stdint.h> header file. */
- +#undef HAVE_STDINT_H
- +
- +/* Define to 1 if you have the <stdlib.h> header file. */
- +#undef HAVE_STDLIB_H
- +
- +/* Define to 1 if you have the <strings.h> header file. */
- +#undef HAVE_STRINGS_H
- +
- +/* Define to 1 if you have the <string.h> header file. */
- +#undef HAVE_STRING_H
- +
- +/* Define to 1 if `struct stat' is a member of `st_atime'. */
- +#undef HAVE_STRUCT_STAT_ST_ATIME
- +
- +/* Define to 1 if `struct stat' is a member of `st_blksize'. */
- +#undef HAVE_STRUCT_STAT_ST_BLKSIZE
- +
- +/* Define to 1 if `struct stat' is a member of `st_blocks'. */
- +#undef HAVE_STRUCT_STAT_ST_BLOCKS
- +
- +/* Define to 1 if `struct stat' is a member of `st_ctime'. */
- +#undef HAVE_STRUCT_STAT_ST_CTIME
- +
- +/* Define to 1 if `struct stat' is a member of `st_dev'. */
- +#undef HAVE_STRUCT_STAT_ST_DEV
- +
- +/* Define to 1 if `struct stat' is a member of `st_gid'. */
- +#undef HAVE_STRUCT_STAT_ST_GID
- +
- +/* Define to 1 if `struct stat' is a member of `st_ino'. */
- +#undef HAVE_STRUCT_STAT_ST_INO
- +
- +/* Define to 1 if `struct stat' is a member of `st_mode'. */
- +#undef HAVE_STRUCT_STAT_ST_MODE
- +
- +/* Define to 1 if `struct stat' is a member of `st_mtime'. */
- +#undef HAVE_STRUCT_STAT_ST_MTIME
- +
- +/* Define to 1 if `struct stat' is a member of `st_nlink'. */
- +#undef HAVE_STRUCT_STAT_ST_NLINK
- +
- +/* Define to 1 if `struct stat' is a member of `st_rdev'. */
- +#undef HAVE_STRUCT_STAT_ST_RDEV
- +
- +/* Define to 1 if `struct stat' is a member of `st_size'. */
- +#undef HAVE_STRUCT_STAT_ST_SIZE
- +
- +/* Define to 1 if `struct stat' is a member of `st_uid'. */
- +#undef HAVE_STRUCT_STAT_ST_UID
- +
- +/* Define to 1 if you have the <sys/mman.h> header file. */
- +#undef HAVE_SYS_MMAN_H
- +
- +/* Define to 1 if you have the <sys/resource.h> header file. */
- +#undef HAVE_SYS_RESOURCE_H
- +
- +/* Define to 1 if you have the <sys/stat.h> header file. */
- +#undef HAVE_SYS_STAT_H
- +
- +/* Define to 1 if you have the <sys/times.h> header file. */
- +#undef HAVE_SYS_TIMES_H
- +
- +/* Define to 1 if you have the <sys/time.h> header file. */
- +#undef HAVE_SYS_TIME_H
- +
- +/* Define to 1 if you have the <sys/types.h> header file. */
- +#undef HAVE_SYS_TYPES_H
- +
- +/* Define to 1 if you have the `time' function. */
- +#undef HAVE_TIME
- +
- +/* Define to 1 if you have the <time.h> header file. */
- +#undef HAVE_TIME_H
- +
- +/* Define to 1 if you have the `truncate' function. */
- +#undef HAVE_TRUNCATE
- +
- +/* Define to 1 if you have the <unistd.h> header file. */
- +#undef HAVE_UNISTD_H
- +
- +/* Define to 1 if you have the <windows.h> header file. */
- +#undef HAVE_WINDOWS_H
- +
- +/* Define to 1 if you have the `__setfpucw' function. */
- +#undef HAVE___SETFPUCW
- +
- +/* Define to the sub-directory in which libtool stores uninstalled libraries.
- + */
- +#undef LT_OBJDIR
- +
- +/* Name of this package. */
- +#undef PACKAGE
- +
- +/* Define to the address where bug reports for this package should be sent. */
- +#undef PACKAGE_BUGREPORT
- +
- +/* Define to the full name of this package. */
- +#undef PACKAGE_NAME
- +
- +/* Define to the full name and version of this package. */
- +#undef PACKAGE_STRING
- +
- +/* Define to the one symbol short name of this package. */
- +#undef PACKAGE_TARNAME
- +
- +/* Define to the home page for this package. */
- +#undef PACKAGE_URL
- +
- +/* Define to the version of this package. */
- +#undef PACKAGE_VERSION
- +
- +/* Additional package description */
- +#undef PKGVERSION
- +
- +/* Sim profile settings */
- +#undef PROFILE
- +
- +/* Bug reporting address */
- +#undef REPORT_BUGS_TO
- +
- +/* Define as the return type of signal handlers (`int' or `void'). */
- +#undef RETSIGTYPE
- +
- +/* Define to 1 if you have the ANSI C header files. */
- +#undef STDC_HEADERS
- +
- +/* Enable extensions on AIX 3, Interix. */
- +#ifndef _ALL_SOURCE
- +# undef _ALL_SOURCE
- +#endif
- +/* Enable GNU extensions on systems that have them. */
- +#ifndef _GNU_SOURCE
- +# undef _GNU_SOURCE
- +#endif
- +/* Enable threading extensions on Solaris. */
- +#ifndef _POSIX_PTHREAD_SEMANTICS
- +# undef _POSIX_PTHREAD_SEMANTICS
- +#endif
- +/* Enable extensions on HP NonStop. */
- +#ifndef _TANDEM_SOURCE
- +# undef _TANDEM_SOURCE
- +#endif
- +/* Enable general extensions on Solaris. */
- +#ifndef __EXTENSIONS__
- +# undef __EXTENSIONS__
- +#endif
- +
- +
- +/* Sim assert settings */
- +#undef WITH_ASSERT
- +
- +/* Sim debug setting */
- +#undef WITH_DEBUG
- +
- +/* Sim default environment */
- +#undef WITH_ENVIRONMENT
- +
- +/* Sim profile settings */
- +#undef WITH_PROFILE
- +
- +/* How to route I/O */
- +#undef WITH_STDIO
- +
- +/* Sim trace settings */
- +#undef WITH_TRACE
- +
- +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- + significant byte first (like Motorola and SPARC, unlike Intel). */
- +#if defined AC_APPLE_UNIVERSAL_BUILD
- +# if defined __BIG_ENDIAN__
- +# define WORDS_BIGENDIAN 1
- +# endif
- +#else
- +# ifndef WORDS_BIGENDIAN
- +# undef WORDS_BIGENDIAN
- +# endif
- +#endif
- +
- +/* Define to 1 if on MINIX. */
- +#undef _MINIX
- +
- +/* Define to 2 if the system does not provide POSIX.1 features except with
- + this defined. */
- +#undef _POSIX_1_SOURCE
- +
- +/* Define to 1 if you need to in order for `stat' and other things to work. */
- +#undef _POSIX_SOURCE
- diff --git a/sim/riscv/configure b/sim/riscv/configure
- new file mode 100755
- index 0000000000..4c53d6b576
- --- /dev/null
- +++ b/sim/riscv/configure
- @@ -0,0 +1,16131 @@
- +#! /bin/sh
- +# Guess values for system-dependent variables and create Makefiles.
- +# Generated by GNU Autoconf 2.69.
- +#
- +#
- +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
- +#
- +#
- +# This configure script is free software; the Free Software Foundation
- +# gives unlimited permission to copy, distribute and modify it.
- +## -------------------- ##
- +## M4sh Initialization. ##
- +## -------------------- ##
- +
- +# Be more Bourne compatible
- +DUALCASE=1; export DUALCASE # for MKS sh
- +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- + emulate sh
- + NULLCMD=:
- + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- + # is contrary to our usage. Disable this feature.
- + alias -g '${1+"$@"}'='"$@"'
- + setopt NO_GLOB_SUBST
- +else
- + case `(set -o) 2>/dev/null` in #(
- + *posix*) :
- + set -o posix ;; #(
- + *) :
- + ;;
- +esac
- +fi
- +
- +
- +as_nl='
- +'
- +export as_nl
- +# Printing a long string crashes Solaris 7 /usr/bin/printf.
- +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
- +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
- +# Prefer a ksh shell builtin over an external printf program on Solaris,
- +# but without wasting forks for bash or zsh.
- +if test -z "$BASH_VERSION$ZSH_VERSION" \
- + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- + as_echo='print -r --'
- + as_echo_n='print -rn --'
- +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- + as_echo='printf %s\n'
- + as_echo_n='printf %s'
- +else
- + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- + as_echo_n='/usr/ucb/echo -n'
- + else
- + as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- + as_echo_n_body='eval
- + arg=$1;
- + case $arg in #(
- + *"$as_nl"*)
- + expr "X$arg" : "X\\(.*\\)$as_nl";
- + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- + esac;
- + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- + '
- + export as_echo_n_body
- + as_echo_n='sh -c $as_echo_n_body as_echo'
- + fi
- + export as_echo_body
- + as_echo='sh -c $as_echo_body as_echo'
- +fi
- +
- +# The user is always right.
- +if test "${PATH_SEPARATOR+set}" != set; then
- + PATH_SEPARATOR=:
- + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- + PATH_SEPARATOR=';'
- + }
- +fi
- +
- +
- +# IFS
- +# We need space, tab and new line, in precisely that order. Quoting is
- +# there to prevent editors from complaining about space-tab.
- +# (If _AS_PATH_WALK were called with IFS unset, it would disable word
- +# splitting by setting IFS to empty value.)
- +IFS=" "" $as_nl"
- +
- +# Find who we are. Look in the path if we contain no directory separator.
- +as_myself=
- +case $0 in #((
- + *[\\/]* ) as_myself=$0 ;;
- + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- + done
- +IFS=$as_save_IFS
- +
- + ;;
- +esac
- +# We did not find ourselves, most probably we were run as `sh COMMAND'
- +# in which case we are not to be found in the path.
- +if test "x$as_myself" = x; then
- + as_myself=$0
- +fi
- +if test ! -f "$as_myself"; then
- + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- + exit 1
- +fi
- +
- +# Unset variables that we do not need and which cause bugs (e.g. in
- +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
- +# suppresses any "Segmentation fault" message there. '((' could
- +# trigger a bug in pdksh 5.2.14.
- +for as_var in BASH_ENV ENV MAIL MAILPATH
- +do eval test x\${$as_var+set} = xset \
- + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
- +done
- +PS1='$ '
- +PS2='> '
- +PS4='+ '
- +
- +# NLS nuisances.
- +LC_ALL=C
- +export LC_ALL
- +LANGUAGE=C
- +export LANGUAGE
- +
- +# CDPATH.
- +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- +
- +# Use a proper internal environment variable to ensure we don't fall
- + # into an infinite loop, continuously re-executing ourselves.
- + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- + _as_can_reexec=no; export _as_can_reexec;
- + # We cannot yet assume a decent shell, so we have to provide a
- +# neutralization value for shells without unset; and this also
- +# works around shells that cannot unset nonexistent variables.
- +# Preserve -v and -x to the replacement shell.
- +BASH_ENV=/dev/null
- +ENV=/dev/null
- +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- +case $- in # ((((
- + *v*x* | *x*v* ) as_opts=-vx ;;
- + *v* ) as_opts=-v ;;
- + *x* ) as_opts=-x ;;
- + * ) as_opts= ;;
- +esac
- +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
- +# Admittedly, this is quite paranoid, since all the known shells bail
- +# out after a failed `exec'.
- +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
- +as_fn_exit 255
- + fi
- + # We don't want this to propagate to other subprocesses.
- + { _as_can_reexec=; unset _as_can_reexec;}
- +if test "x$CONFIG_SHELL" = x; then
- + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- + emulate sh
- + NULLCMD=:
- + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- + # is contrary to our usage. Disable this feature.
- + alias -g '\${1+\"\$@\"}'='\"\$@\"'
- + setopt NO_GLOB_SUBST
- +else
- + case \`(set -o) 2>/dev/null\` in #(
- + *posix*) :
- + set -o posix ;; #(
- + *) :
- + ;;
- +esac
- +fi
- +"
- + as_required="as_fn_return () { (exit \$1); }
- +as_fn_success () { as_fn_return 0; }
- +as_fn_failure () { as_fn_return 1; }
- +as_fn_ret_success () { return 0; }
- +as_fn_ret_failure () { return 1; }
- +
- +exitcode=0
- +as_fn_success || { exitcode=1; echo as_fn_success failed.; }
- +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
- +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
- +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
- +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
- +
- +else
- + exitcode=1; echo positional parameters were not saved.
- +fi
- +test x\$exitcode = x0 || exit 1
- +test -x / || exit 1"
- + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
- +test \$(( 1 + 1 )) = 2 || exit 1
- +
- + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- + PATH=/empty FPATH=/empty; export PATH FPATH
- + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
- + if (eval "$as_required") 2>/dev/null; then :
- + as_have_required=yes
- +else
- + as_have_required=no
- +fi
- + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
- +
- +else
- + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +as_found=false
- +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + as_found=:
- + case $as_dir in #(
- + /*)
- + for as_base in sh bash ksh sh5; do
- + # Try only shells that exist, to save several forks.
- + as_shell=$as_dir/$as_base
- + if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- + CONFIG_SHELL=$as_shell as_have_required=yes
- + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- + break 2
- +fi
- +fi
- + done;;
- + esac
- + as_found=false
- +done
- +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- + CONFIG_SHELL=$SHELL as_have_required=yes
- +fi; }
- +IFS=$as_save_IFS
- +
- +
- + if test "x$CONFIG_SHELL" != x; then :
- + export CONFIG_SHELL
- + # We cannot yet assume a decent shell, so we have to provide a
- +# neutralization value for shells without unset; and this also
- +# works around shells that cannot unset nonexistent variables.
- +# Preserve -v and -x to the replacement shell.
- +BASH_ENV=/dev/null
- +ENV=/dev/null
- +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- +case $- in # ((((
- + *v*x* | *x*v* ) as_opts=-vx ;;
- + *v* ) as_opts=-v ;;
- + *x* ) as_opts=-x ;;
- + * ) as_opts= ;;
- +esac
- +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
- +# Admittedly, this is quite paranoid, since all the known shells bail
- +# out after a failed `exec'.
- +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
- +exit 255
- +fi
- +
- + if test x$as_have_required = xno; then :
- + $as_echo "$0: This script requires a shell more modern than all"
- + $as_echo "$0: the shells that I found on your system."
- + if test x${ZSH_VERSION+set} = xset ; then
- + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- + $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- + else
- + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
- +$0: including any error possibly output before this
- +$0: message. Then install a modern shell, or manually run
- +$0: the script under such a shell if you do have one."
- + fi
- + exit 1
- +fi
- +fi
- +fi
- +SHELL=${CONFIG_SHELL-/bin/sh}
- +export SHELL
- +# Unset more variables known to interfere with behavior of common tools.
- +CLICOLOR_FORCE= GREP_OPTIONS=
- +unset CLICOLOR_FORCE GREP_OPTIONS
- +
- +## --------------------- ##
- +## M4sh Shell Functions. ##
- +## --------------------- ##
- +# as_fn_unset VAR
- +# ---------------
- +# Portably unset VAR.
- +as_fn_unset ()
- +{
- + { eval $1=; unset $1;}
- +}
- +as_unset=as_fn_unset
- +
- +# as_fn_set_status STATUS
- +# -----------------------
- +# Set $? to STATUS, without forking.
- +as_fn_set_status ()
- +{
- + return $1
- +} # as_fn_set_status
- +
- +# as_fn_exit STATUS
- +# -----------------
- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
- +as_fn_exit ()
- +{
- + set +e
- + as_fn_set_status $1
- + exit $1
- +} # as_fn_exit
- +
- +# as_fn_mkdir_p
- +# -------------
- +# Create "$as_dir" as a directory, including parents if necessary.
- +as_fn_mkdir_p ()
- +{
- +
- + case $as_dir in #(
- + -*) as_dir=./$as_dir;;
- + esac
- + test -d "$as_dir" || eval $as_mkdir_p || {
- + as_dirs=
- + while :; do
- + case $as_dir in #(
- + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- + *) as_qdir=$as_dir;;
- + esac
- + as_dirs="'$as_qdir' $as_dirs"
- + as_dir=`$as_dirname -- "$as_dir" ||
- +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- + X"$as_dir" : 'X\(//\)[^/]' \| \
- + X"$as_dir" : 'X\(//\)$' \| \
- + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
- +$as_echo X"$as_dir" |
- + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)[^/].*/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\).*/{
- + s//\1/
- + q
- + }
- + s/.*/./; q'`
- + test -d "$as_dir" && break
- + done
- + test -z "$as_dirs" || eval "mkdir $as_dirs"
- + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
- +
- +
- +} # as_fn_mkdir_p
- +
- +# as_fn_executable_p FILE
- +# -----------------------
- +# Test if FILE is an executable regular file.
- +as_fn_executable_p ()
- +{
- + test -f "$1" && test -x "$1"
- +} # as_fn_executable_p
- +# as_fn_append VAR VALUE
- +# ----------------------
- +# Append the text in VALUE to the end of the definition contained in VAR. Take
- +# advantage of any shell optimizations that allow amortized linear growth over
- +# repeated appends, instead of the typical quadratic growth present in naive
- +# implementations.
- +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- + eval 'as_fn_append ()
- + {
- + eval $1+=\$2
- + }'
- +else
- + as_fn_append ()
- + {
- + eval $1=\$$1\$2
- + }
- +fi # as_fn_append
- +
- +# as_fn_arith ARG...
- +# ------------------
- +# Perform arithmetic evaluation on the ARGs, and store the result in the
- +# global $as_val. Take advantage of shells that can avoid forks. The arguments
- +# must be portable across $(()) and expr.
- +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- + eval 'as_fn_arith ()
- + {
- + as_val=$(( $* ))
- + }'
- +else
- + as_fn_arith ()
- + {
- + as_val=`expr "$@" || test $? -eq 1`
- + }
- +fi # as_fn_arith
- +
- +
- +# as_fn_error STATUS ERROR [LINENO LOG_FD]
- +# ----------------------------------------
- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
- +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
- +# script with STATUS, using 1 if that was 0.
- +as_fn_error ()
- +{
- + as_status=$1; test $as_status -eq 0 && as_status=1
- + if test "$4"; then
- + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- + fi
- + $as_echo "$as_me: error: $2" >&2
- + as_fn_exit $as_status
- +} # as_fn_error
- +
- +if expr a : '\(a\)' >/dev/null 2>&1 &&
- + test "X`expr 00001 : '.*\(...\)'`" = X001; then
- + as_expr=expr
- +else
- + as_expr=false
- +fi
- +
- +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- + as_basename=basename
- +else
- + as_basename=false
- +fi
- +
- +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- + as_dirname=dirname
- +else
- + as_dirname=false
- +fi
- +
- +as_me=`$as_basename -- "$0" ||
- +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- + X"$0" : 'X\(//\)$' \| \
- + X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- +$as_echo X/"$0" |
- + sed '/^.*\/\([^/][^/]*\)\/*$/{
- + s//\1/
- + q
- + }
- + /^X\/\(\/\/\)$/{
- + s//\1/
- + q
- + }
- + /^X\/\(\/\).*/{
- + s//\1/
- + q
- + }
- + s/.*/./; q'`
- +
- +# Avoid depending upon Character Ranges.
- +as_cr_letters='abcdefghijklmnopqrstuvwxyz'
- +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- +as_cr_Letters=$as_cr_letters$as_cr_LETTERS
- +as_cr_digits='0123456789'
- +as_cr_alnum=$as_cr_Letters$as_cr_digits
- +
- +
- + as_lineno_1=$LINENO as_lineno_1a=$LINENO
- + as_lineno_2=$LINENO as_lineno_2a=$LINENO
- + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- + sed -n '
- + p
- + /[$]LINENO/=
- + ' <$as_myself |
- + sed '
- + s/[$]LINENO.*/&-/
- + t lineno
- + b
- + :lineno
- + N
- + :loop
- + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- + t loop
- + s/-\n.*//
- + ' >$as_me.lineno &&
- + chmod +x "$as_me.lineno" ||
- + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
- +
- + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- + # already done that, so ensure we don't try to do so again and fall
- + # in an infinite loop. This has already happened in practice.
- + _as_can_reexec=no; export _as_can_reexec
- + # Don't try to exec as it changes $[0], causing all sort of problems
- + # (the dirname of $[0] is not the place where we might find the
- + # original and so on. Autoconf is especially sensitive to this).
- + . "./$as_me.lineno"
- + # Exit status is that of the last command.
- + exit
- +}
- +
- +ECHO_C= ECHO_N= ECHO_T=
- +case `echo -n x` in #(((((
- +-n*)
- + case `echo 'xy\c'` in
- + *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- + xy) ECHO_C='\c';;
- + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- + ECHO_T=' ';;
- + esac;;
- +*)
- + ECHO_N='-n';;
- +esac
- +
- +rm -f conf$$ conf$$.exe conf$$.file
- +if test -d conf$$.dir; then
- + rm -f conf$$.dir/conf$$.file
- +else
- + rm -f conf$$.dir
- + mkdir conf$$.dir 2>/dev/null
- +fi
- +if (echo >conf$$.file) 2>/dev/null; then
- + if ln -s conf$$.file conf$$ 2>/dev/null; then
- + as_ln_s='ln -s'
- + # ... but there are two gotchas:
- + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- + # In both cases, we have to default to `cp -pR'.
- + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- + as_ln_s='cp -pR'
- + elif ln conf$$.file conf$$ 2>/dev/null; then
- + as_ln_s=ln
- + else
- + as_ln_s='cp -pR'
- + fi
- +else
- + as_ln_s='cp -pR'
- +fi
- +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
- +rmdir conf$$.dir 2>/dev/null
- +
- +if mkdir -p . 2>/dev/null; then
- + as_mkdir_p='mkdir -p "$as_dir"'
- +else
- + test -d ./-p && rmdir ./-p
- + as_mkdir_p=false
- +fi
- +
- +as_test_x='test -x'
- +as_executable_p=as_fn_executable_p
- +
- +# Sed expression to map a string onto a valid CPP name.
- +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
- +
- +# Sed expression to map a string onto a valid variable name.
- +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
- +
- +SHELL=${CONFIG_SHELL-/bin/sh}
- +
- +
- +test -n "$DJDIR" || exec 7<&0 </dev/null
- +exec 6>&1
- +
- +# Name of the host.
- +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
- +# so uname gets run too.
- +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
- +
- +#
- +# Initializations.
- +#
- +ac_default_prefix=/usr/local
- +ac_clean_files=
- +ac_config_libobj_dir=.
- +LIBOBJS=
- +cross_compiling=no
- +subdirs=
- +MFLAGS=
- +MAKEFLAGS=
- +
- +# Identity of this package.
- +PACKAGE_NAME=
- +PACKAGE_TARNAME=
- +PACKAGE_VERSION=
- +PACKAGE_STRING=
- +PACKAGE_BUGREPORT=
- +PACKAGE_URL=
- +
- +ac_unique_file="Makefile.in"
- +# Factoring default headers for most tests.
- +ac_includes_default="\
- +#include <stdio.h>
- +#ifdef HAVE_SYS_TYPES_H
- +# include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +# include <sys/stat.h>
- +#endif
- +#ifdef STDC_HEADERS
- +# include <stdlib.h>
- +# include <stddef.h>
- +#else
- +# ifdef HAVE_STDLIB_H
- +# include <stdlib.h>
- +# endif
- +#endif
- +#ifdef HAVE_STRING_H
- +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
- +# include <memory.h>
- +# endif
- +# include <string.h>
- +#endif
- +#ifdef HAVE_STRINGS_H
- +# include <strings.h>
- +#endif
- +#ifdef HAVE_INTTYPES_H
- +# include <inttypes.h>
- +#endif
- +#ifdef HAVE_STDINT_H
- +# include <stdint.h>
- +#endif
- +#ifdef HAVE_UNISTD_H
- +# include <unistd.h>
- +#endif"
- +
- +ac_subst_vars='LTLIBOBJS
- +LIBOBJS
- +cgen_breaks
- +REPORT_BUGS_TEXI
- +REPORT_BUGS_TO
- +PKGVERSION
- +MAINT
- +MAINTAINER_MODE_FALSE
- +MAINTAINER_MODE_TRUE
- +lt_cv_dlopen_libs
- +OTOOL64
- +OTOOL
- +LIPO
- +NMEDIT
- +DSYMUTIL
- +AWK
- +STRIP
- +OBJDUMP
- +LN_S
- +NM
- +ac_ct_DUMPBIN
- +DUMPBIN
- +LD
- +FGREP
- +SED
- +LIBTOOL
- +PLUGINS_FALSE
- +PLUGINS_TRUE
- +zlibinc
- +zlibdir
- +CATOBJEXT
- +GENCAT
- +INSTOBJEXT
- +DATADIRNAME
- +CATALOGS
- +POSUB
- +GMSGFMT
- +XGETTEXT
- +INCINTL
- +LIBINTL_DEP
- +LIBINTL
- +USE_NLS
- +GMAKE_FALSE
- +GMAKE_TRUE
- +MAKE
- +CCDEPMODE
- +DEPDIR
- +am__leading_dot
- +PACKAGE
- +RANLIB
- +AR
- +HDEFINES
- +CC_FOR_BUILD
- +INSTALL_DATA
- +INSTALL_SCRIPT
- +INSTALL_PROGRAM
- +EGREP
- +GREP
- +CPP
- +target_os
- +target_vendor
- +target_cpu
- +target
- +host_os
- +host_vendor
- +host_cpu
- +host
- +build_os
- +build_vendor
- +build_cpu
- +build
- +OBJEXT
- +EXEEXT
- +ac_ct_CC
- +CPPFLAGS
- +LDFLAGS
- +CFLAGS
- +CC
- +WERROR_CFLAGS
- +WARN_CFLAGS
- +sim_reserved_bits
- +sim_inline
- +sim_hw
- +sim_hw_objs
- +sim_hw_cflags
- +sim_default_model
- +sim_scache
- +sim_float
- +sim_endian
- +sim_bitsize
- +sim_alignment
- +target_alias
- +host_alias
- +build_alias
- +LIBS
- +ECHO_T
- +ECHO_N
- +ECHO_C
- +DEFS
- +mandir
- +localedir
- +libdir
- +psdir
- +pdfdir
- +dvidir
- +htmldir
- +infodir
- +docdir
- +oldincludedir
- +includedir
- +runstatedir
- +localstatedir
- +sharedstatedir
- +sysconfdir
- +datadir
- +datarootdir
- +libexecdir
- +sbindir
- +bindir
- +program_transform_name
- +prefix
- +exec_prefix
- +PACKAGE_URL
- +PACKAGE_BUGREPORT
- +PACKAGE_STRING
- +PACKAGE_VERSION
- +PACKAGE_TARNAME
- +PACKAGE_NAME
- +PATH_SEPARATOR
- +SHELL'
- +ac_subst_files=''
- +ac_user_opts='
- +enable_option_checking
- +with_system_zlib
- +enable_plugins
- +enable_shared
- +enable_static
- +with_pic
- +enable_fast_install
- +with_gnu_ld
- +enable_libtool_lock
- +enable_maintainer_mode
- +enable_sim_debug
- +enable_sim_stdio
- +enable_sim_trace
- +enable_sim_profile
- +enable_sim_assert
- +enable_sim_environment
- +enable_sim_inline
- +with_pkgversion
- +with_bugurl
- +enable_sim_endian
- +enable_sim_alignment
- +enable_werror
- +enable_build_warnings
- +enable_sim_build_warnings
- +enable_sim_default_model
- +enable_sim_bitsize
- +'
- + ac_precious_vars='build_alias
- +host_alias
- +target_alias
- +CC
- +CFLAGS
- +LDFLAGS
- +LIBS
- +CPPFLAGS
- +CPP'
- +
- +
- +# Initialize some variables set by options.
- +ac_init_help=
- +ac_init_version=false
- +ac_unrecognized_opts=
- +ac_unrecognized_sep=
- +# The variables have the same names as the options, with
- +# dashes changed to underlines.
- +cache_file=/dev/null
- +exec_prefix=NONE
- +no_create=
- +no_recursion=
- +prefix=NONE
- +program_prefix=NONE
- +program_suffix=NONE
- +program_transform_name=s,x,x,
- +silent=
- +site=
- +srcdir=
- +verbose=
- +x_includes=NONE
- +x_libraries=NONE
- +
- +# Installation directory options.
- +# These are left unexpanded so users can "make install exec_prefix=/foo"
- +# and all the variables that are supposed to be based on exec_prefix
- +# by default will actually change.
- +# Use braces instead of parens because sh, perl, etc. also accept them.
- +# (The list follows the same order as the GNU Coding Standards.)
- +bindir='${exec_prefix}/bin'
- +sbindir='${exec_prefix}/sbin'
- +libexecdir='${exec_prefix}/libexec'
- +datarootdir='${prefix}/share'
- +datadir='${datarootdir}'
- +sysconfdir='${prefix}/etc'
- +sharedstatedir='${prefix}/com'
- +localstatedir='${prefix}/var'
- +runstatedir='${localstatedir}/run'
- +includedir='${prefix}/include'
- +oldincludedir='/usr/include'
- +docdir='${datarootdir}/doc/${PACKAGE}'
- +infodir='${datarootdir}/info'
- +htmldir='${docdir}'
- +dvidir='${docdir}'
- +pdfdir='${docdir}'
- +psdir='${docdir}'
- +libdir='${exec_prefix}/lib'
- +localedir='${datarootdir}/locale'
- +mandir='${datarootdir}/man'
- +
- +ac_prev=
- +ac_dashdash=
- +for ac_option
- +do
- + # If the previous option needs an argument, assign it.
- + if test -n "$ac_prev"; then
- + eval $ac_prev=\$ac_option
- + ac_prev=
- + continue
- + fi
- +
- + case $ac_option in
- + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- + *=) ac_optarg= ;;
- + *) ac_optarg=yes ;;
- + esac
- +
- + # Accept the important Cygnus configure options, so we can diagnose typos.
- +
- + case $ac_dashdash$ac_option in
- + --)
- + ac_dashdash=yes ;;
- +
- + -bindir | --bindir | --bindi | --bind | --bin | --bi)
- + ac_prev=bindir ;;
- + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- + bindir=$ac_optarg ;;
- +
- + -build | --build | --buil | --bui | --bu)
- + ac_prev=build_alias ;;
- + -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- + build_alias=$ac_optarg ;;
- +
- + -cache-file | --cache-file | --cache-fil | --cache-fi \
- + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- + ac_prev=cache_file ;;
- + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- + cache_file=$ac_optarg ;;
- +
- + --config-cache | -C)
- + cache_file=config.cache ;;
- +
- + -datadir | --datadir | --datadi | --datad)
- + ac_prev=datadir ;;
- + -datadir=* | --datadir=* | --datadi=* | --datad=*)
- + datadir=$ac_optarg ;;
- +
- + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- + | --dataroo | --dataro | --datar)
- + ac_prev=datarootdir ;;
- + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- + datarootdir=$ac_optarg ;;
- +
- + -disable-* | --disable-*)
- + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- + # Reject names that are not valid shell variable names.
- + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- + as_fn_error $? "invalid feature name: $ac_useropt"
- + ac_useropt_orig=$ac_useropt
- + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- + case $ac_user_opts in
- + *"
- +"enable_$ac_useropt"
- +"*) ;;
- + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- + ac_unrecognized_sep=', ';;
- + esac
- + eval enable_$ac_useropt=no ;;
- +
- + -docdir | --docdir | --docdi | --doc | --do)
- + ac_prev=docdir ;;
- + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- + docdir=$ac_optarg ;;
- +
- + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- + ac_prev=dvidir ;;
- + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- + dvidir=$ac_optarg ;;
- +
- + -enable-* | --enable-*)
- + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- + # Reject names that are not valid shell variable names.
- + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- + as_fn_error $? "invalid feature name: $ac_useropt"
- + ac_useropt_orig=$ac_useropt
- + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- + case $ac_user_opts in
- + *"
- +"enable_$ac_useropt"
- +"*) ;;
- + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- + ac_unrecognized_sep=', ';;
- + esac
- + eval enable_$ac_useropt=\$ac_optarg ;;
- +
- + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- + | --exec | --exe | --ex)
- + ac_prev=exec_prefix ;;
- + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- + | --exec=* | --exe=* | --ex=*)
- + exec_prefix=$ac_optarg ;;
- +
- + -gas | --gas | --ga | --g)
- + # Obsolete; use --with-gas.
- + with_gas=yes ;;
- +
- + -help | --help | --hel | --he | -h)
- + ac_init_help=long ;;
- + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- + ac_init_help=recursive ;;
- + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- + ac_init_help=short ;;
- +
- + -host | --host | --hos | --ho)
- + ac_prev=host_alias ;;
- + -host=* | --host=* | --hos=* | --ho=*)
- + host_alias=$ac_optarg ;;
- +
- + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- + ac_prev=htmldir ;;
- + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- + | --ht=*)
- + htmldir=$ac_optarg ;;
- +
- + -includedir | --includedir | --includedi | --included | --include \
- + | --includ | --inclu | --incl | --inc)
- + ac_prev=includedir ;;
- + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- + | --includ=* | --inclu=* | --incl=* | --inc=*)
- + includedir=$ac_optarg ;;
- +
- + -infodir | --infodir | --infodi | --infod | --info | --inf)
- + ac_prev=infodir ;;
- + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- + infodir=$ac_optarg ;;
- +
- + -libdir | --libdir | --libdi | --libd)
- + ac_prev=libdir ;;
- + -libdir=* | --libdir=* | --libdi=* | --libd=*)
- + libdir=$ac_optarg ;;
- +
- + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- + | --libexe | --libex | --libe)
- + ac_prev=libexecdir ;;
- + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- + | --libexe=* | --libex=* | --libe=*)
- + libexecdir=$ac_optarg ;;
- +
- + -localedir | --localedir | --localedi | --localed | --locale)
- + ac_prev=localedir ;;
- + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- + localedir=$ac_optarg ;;
- +
- + -localstatedir | --localstatedir | --localstatedi | --localstated \
- + | --localstate | --localstat | --localsta | --localst | --locals)
- + ac_prev=localstatedir ;;
- + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- + localstatedir=$ac_optarg ;;
- +
- + -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- + ac_prev=mandir ;;
- + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- + mandir=$ac_optarg ;;
- +
- + -nfp | --nfp | --nf)
- + # Obsolete; use --without-fp.
- + with_fp=no ;;
- +
- + -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- + | --no-cr | --no-c | -n)
- + no_create=yes ;;
- +
- + -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- + no_recursion=yes ;;
- +
- + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- + | --oldin | --oldi | --old | --ol | --o)
- + ac_prev=oldincludedir ;;
- + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- + oldincludedir=$ac_optarg ;;
- +
- + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- + ac_prev=prefix ;;
- + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- + prefix=$ac_optarg ;;
- +
- + -program-prefix | --program-prefix | --program-prefi | --program-pref \
- + | --program-pre | --program-pr | --program-p)
- + ac_prev=program_prefix ;;
- + -program-prefix=* | --program-prefix=* | --program-prefi=* \
- + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- + program_prefix=$ac_optarg ;;
- +
- + -program-suffix | --program-suffix | --program-suffi | --program-suff \
- + | --program-suf | --program-su | --program-s)
- + ac_prev=program_suffix ;;
- + -program-suffix=* | --program-suffix=* | --program-suffi=* \
- + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- + program_suffix=$ac_optarg ;;
- +
- + -program-transform-name | --program-transform-name \
- + | --program-transform-nam | --program-transform-na \
- + | --program-transform-n | --program-transform- \
- + | --program-transform | --program-transfor \
- + | --program-transfo | --program-transf \
- + | --program-trans | --program-tran \
- + | --progr-tra | --program-tr | --program-t)
- + ac_prev=program_transform_name ;;
- + -program-transform-name=* | --program-transform-name=* \
- + | --program-transform-nam=* | --program-transform-na=* \
- + | --program-transform-n=* | --program-transform-=* \
- + | --program-transform=* | --program-transfor=* \
- + | --program-transfo=* | --program-transf=* \
- + | --program-trans=* | --program-tran=* \
- + | --progr-tra=* | --program-tr=* | --program-t=*)
- + program_transform_name=$ac_optarg ;;
- +
- + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- + ac_prev=pdfdir ;;
- + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- + pdfdir=$ac_optarg ;;
- +
- + -psdir | --psdir | --psdi | --psd | --ps)
- + ac_prev=psdir ;;
- + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- + psdir=$ac_optarg ;;
- +
- + -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- + | -silent | --silent | --silen | --sile | --sil)
- + silent=yes ;;
- +
- + -runstatedir | --runstatedir | --runstatedi | --runstated \
- + | --runstate | --runstat | --runsta | --runst | --runs \
- + | --run | --ru | --r)
- + ac_prev=runstatedir ;;
- + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- + | --run=* | --ru=* | --r=*)
- + runstatedir=$ac_optarg ;;
- +
- + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- + ac_prev=sbindir ;;
- + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- + | --sbi=* | --sb=*)
- + sbindir=$ac_optarg ;;
- +
- + -sharedstatedir | --sharedstatedir | --sharedstatedi \
- + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- + | --sharedst | --shareds | --shared | --share | --shar \
- + | --sha | --sh)
- + ac_prev=sharedstatedir ;;
- + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- + | --sha=* | --sh=*)
- + sharedstatedir=$ac_optarg ;;
- +
- + -site | --site | --sit)
- + ac_prev=site ;;
- + -site=* | --site=* | --sit=*)
- + site=$ac_optarg ;;
- +
- + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- + ac_prev=srcdir ;;
- + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- + srcdir=$ac_optarg ;;
- +
- + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- + | --syscon | --sysco | --sysc | --sys | --sy)
- + ac_prev=sysconfdir ;;
- + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- + sysconfdir=$ac_optarg ;;
- +
- + -target | --target | --targe | --targ | --tar | --ta | --t)
- + ac_prev=target_alias ;;
- + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- + target_alias=$ac_optarg ;;
- +
- + -v | -verbose | --verbose | --verbos | --verbo | --verb)
- + verbose=yes ;;
- +
- + -version | --version | --versio | --versi | --vers | -V)
- + ac_init_version=: ;;
- +
- + -with-* | --with-*)
- + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- + # Reject names that are not valid shell variable names.
- + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- + as_fn_error $? "invalid package name: $ac_useropt"
- + ac_useropt_orig=$ac_useropt
- + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- + case $ac_user_opts in
- + *"
- +"with_$ac_useropt"
- +"*) ;;
- + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- + ac_unrecognized_sep=', ';;
- + esac
- + eval with_$ac_useropt=\$ac_optarg ;;
- +
- + -without-* | --without-*)
- + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- + # Reject names that are not valid shell variable names.
- + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- + as_fn_error $? "invalid package name: $ac_useropt"
- + ac_useropt_orig=$ac_useropt
- + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- + case $ac_user_opts in
- + *"
- +"with_$ac_useropt"
- +"*) ;;
- + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- + ac_unrecognized_sep=', ';;
- + esac
- + eval with_$ac_useropt=no ;;
- +
- + --x)
- + # Obsolete; use --with-x.
- + with_x=yes ;;
- +
- + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- + | --x-incl | --x-inc | --x-in | --x-i)
- + ac_prev=x_includes ;;
- + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- + x_includes=$ac_optarg ;;
- +
- + -x-libraries | --x-libraries | --x-librarie | --x-librari \
- + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- + ac_prev=x_libraries ;;
- + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- + x_libraries=$ac_optarg ;;
- +
- + -*) as_fn_error $? "unrecognized option: \`$ac_option'
- +Try \`$0 --help' for more information"
- + ;;
- +
- + *=*)
- + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- + # Reject names that are not valid shell variable names.
- + case $ac_envvar in #(
- + '' | [0-9]* | *[!_$as_cr_alnum]* )
- + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- + esac
- + eval $ac_envvar=\$ac_optarg
- + export $ac_envvar ;;
- +
- + *)
- + # FIXME: should be removed in autoconf 3.0.
- + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- + ;;
- +
- + esac
- +done
- +
- +if test -n "$ac_prev"; then
- + ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- + as_fn_error $? "missing argument to $ac_option"
- +fi
- +
- +if test -n "$ac_unrecognized_opts"; then
- + case $enable_option_checking in
- + no) ;;
- + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- + esac
- +fi
- +
- +# Check all directory arguments for consistency.
- +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- + datadir sysconfdir sharedstatedir localstatedir includedir \
- + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- + libdir localedir mandir runstatedir
- +do
- + eval ac_val=\$$ac_var
- + # Remove trailing slashes.
- + case $ac_val in
- + */ )
- + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- + eval $ac_var=\$ac_val;;
- + esac
- + # Be sure to have absolute directory names.
- + case $ac_val in
- + [\\/$]* | ?:[\\/]* ) continue;;
- + NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- + esac
- + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
- +done
- +
- +# There might be people who depend on the old broken behavior: `$host'
- +# used to hold the argument of --host etc.
- +# FIXME: To remove some day.
- +build=$build_alias
- +host=$host_alias
- +target=$target_alias
- +
- +# FIXME: To remove some day.
- +if test "x$host_alias" != x; then
- + if test "x$build_alias" = x; then
- + cross_compiling=maybe
- + elif test "x$build_alias" != "x$host_alias"; then
- + cross_compiling=yes
- + fi
- +fi
- +
- +ac_tool_prefix=
- +test -n "$host_alias" && ac_tool_prefix=$host_alias-
- +
- +test "$silent" = yes && exec 6>/dev/null
- +
- +
- +ac_pwd=`pwd` && test -n "$ac_pwd" &&
- +ac_ls_di=`ls -di .` &&
- +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- + as_fn_error $? "working directory cannot be determined"
- +test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- + as_fn_error $? "pwd does not report name of working directory"
- +
- +
- +# Find the source files, if location was not specified.
- +if test -z "$srcdir"; then
- + ac_srcdir_defaulted=yes
- + # Try the directory containing this script, then the parent directory.
- + ac_confdir=`$as_dirname -- "$as_myself" ||
- +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- + X"$as_myself" : 'X\(//\)[^/]' \| \
- + X"$as_myself" : 'X\(//\)$' \| \
- + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
- +$as_echo X"$as_myself" |
- + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)[^/].*/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\).*/{
- + s//\1/
- + q
- + }
- + s/.*/./; q'`
- + srcdir=$ac_confdir
- + if test ! -r "$srcdir/$ac_unique_file"; then
- + srcdir=..
- + fi
- +else
- + ac_srcdir_defaulted=no
- +fi
- +if test ! -r "$srcdir/$ac_unique_file"; then
- + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
- +fi
- +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
- +ac_abs_confdir=`(
- + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- + pwd)`
- +# When building in place, set srcdir=.
- +if test "$ac_abs_confdir" = "$ac_pwd"; then
- + srcdir=.
- +fi
- +# Remove unnecessary trailing slashes from srcdir.
- +# Double slashes in file names in object file debugging info
- +# mess up M-x gdb in Emacs.
- +case $srcdir in
- +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
- +esac
- +for ac_var in $ac_precious_vars; do
- + eval ac_env_${ac_var}_set=\${${ac_var}+set}
- + eval ac_env_${ac_var}_value=\$${ac_var}
- + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- + eval ac_cv_env_${ac_var}_value=\$${ac_var}
- +done
- +
- +#
- +# Report the --help message.
- +#
- +if test "$ac_init_help" = "long"; then
- + # Omit some internal or obsolete options to make the list less imposing.
- + # This message is too long to be a string in the A/UX 3.1 sh.
- + cat <<_ACEOF
- +\`configure' configures this package to adapt to many kinds of systems.
- +
- +Usage: $0 [OPTION]... [VAR=VALUE]...
- +
- +To assign environment variables (e.g., CC, CFLAGS...), specify them as
- +VAR=VALUE. See below for descriptions of some of the useful variables.
- +
- +Defaults for the options are specified in brackets.
- +
- +Configuration:
- + -h, --help display this help and exit
- + --help=short display options specific to this package
- + --help=recursive display the short help of all the included packages
- + -V, --version display version information and exit
- + -q, --quiet, --silent do not print \`checking ...' messages
- + --cache-file=FILE cache test results in FILE [disabled]
- + -C, --config-cache alias for \`--cache-file=config.cache'
- + -n, --no-create do not create output files
- + --srcdir=DIR find the sources in DIR [configure dir or \`..']
- +
- +Installation directories:
- + --prefix=PREFIX install architecture-independent files in PREFIX
- + [$ac_default_prefix]
- + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- + [PREFIX]
- +
- +By default, \`make install' will install all the files in
- +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
- +an installation prefix other than \`$ac_default_prefix' using \`--prefix',
- +for instance \`--prefix=\$HOME'.
- +
- +For better control, use the options below.
- +
- +Fine tuning of the installation directories:
- + --bindir=DIR user executables [EPREFIX/bin]
- + --sbindir=DIR system admin executables [EPREFIX/sbin]
- + --libexecdir=DIR program executables [EPREFIX/libexec]
- + --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- + --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
- + --libdir=DIR object code libraries [EPREFIX/lib]
- + --includedir=DIR C header files [PREFIX/include]
- + --oldincludedir=DIR C header files for non-gcc [/usr/include]
- + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- + --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- + --infodir=DIR info documentation [DATAROOTDIR/info]
- + --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- + --mandir=DIR man documentation [DATAROOTDIR/man]
- + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- + --htmldir=DIR html documentation [DOCDIR]
- + --dvidir=DIR dvi documentation [DOCDIR]
- + --pdfdir=DIR pdf documentation [DOCDIR]
- + --psdir=DIR ps documentation [DOCDIR]
- +_ACEOF
- +
- + cat <<\_ACEOF
- +
- +Program names:
- + --program-prefix=PREFIX prepend PREFIX to installed program names
- + --program-suffix=SUFFIX append SUFFIX to installed program names
- + --program-transform-name=PROGRAM run sed PROGRAM on installed program names
- +
- +System types:
- + --build=BUILD configure for building on BUILD [guessed]
- + --host=HOST cross-compile to build programs to run on HOST [BUILD]
- + --target=TARGET configure for building compilers for TARGET [HOST]
- +_ACEOF
- +fi
- +
- +if test -n "$ac_init_help"; then
- +
- + cat <<\_ACEOF
- +
- +Optional Features:
- + --disable-option-checking ignore unrecognized --enable/--with options
- + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- + --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- + --enable-plugins Enable support for plugins
- + --enable-shared[=PKGS] build shared libraries [default=yes]
- + --enable-static[=PKGS] build static libraries [default=yes]
- + --enable-fast-install[=PKGS]
- + optimize for fast installation [default=yes]
- + --disable-libtool-lock avoid locking (might break parallel builds)
- + --enable-maintainer-mode
- + enable make rules and dependencies not useful (and
- + sometimes confusing) to the casual installer
- + --enable-sim-debug=opts Enable debugging flags (for developers of the sim
- + itself)
- + --enable-sim-stdio Specify whether to use stdio for console
- + input/output
- + --enable-sim-trace=opts Enable tracing of simulated programs
- + --enable-sim-profile=opts
- + Enable profiling flags
- + --enable-sim-assert Specify whether to perform random assertions
- + --enable-sim-environment=environment
- + Specify mixed, user, virtual or operating
- + environment
- + --enable-sim-inline=inlines
- + Specify which functions should be inlined
- + --enable-sim-endian=endian
- + Specify target byte endian orientation
- + --enable-sim-alignment=align
- + Specify strict, nonstrict or forced alignment of
- + memory accesses
- + --enable-werror treat compile warnings as errors
- + --enable-build-warnings enable build-time compiler warnings if gcc is used
- + --enable-sim-build-warnings
- + enable SIM specific build-time compiler warnings if
- + gcc is used
- + --enable-sim-default-model=model
- + Specify default model to simulate
- + --enable-sim-bitsize=N Specify target bitsize (32 or 64)
- +
- +Optional Packages:
- + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- + --with-system-zlib use installed libz
- + --with-pic try to use only PIC/non-PIC objects [default=use
- + both]
- + --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- + --with-pkgversion=PKG Use PKG in the version string in place of "SIM"
- + --with-bugurl=URL Direct users to URL to report a bug
- +
- +Some influential environment variables:
- + CC C compiler command
- + CFLAGS C compiler flags
- + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- + nonstandard directory <lib dir>
- + LIBS libraries to pass to the linker, e.g. -l<library>
- + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- + you have headers in a nonstandard directory <include dir>
- + CPP C preprocessor
- +
- +Use these variables to override the choices made by `configure' or to help
- +it to find libraries and programs with nonstandard names/locations.
- +
- +Report bugs to the package provider.
- +_ACEOF
- +ac_status=$?
- +fi
- +
- +if test "$ac_init_help" = "recursive"; then
- + # If there are subdirs, report their specific --help.
- + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- + test -d "$ac_dir" ||
- + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- + continue
- + ac_builddir=.
- +
- +case "$ac_dir" in
- +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
- +*)
- + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- + # A ".." for each directory in $ac_dir_suffix.
- + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- + case $ac_top_builddir_sub in
- + "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- + esac ;;
- +esac
- +ac_abs_top_builddir=$ac_pwd
- +ac_abs_builddir=$ac_pwd$ac_dir_suffix
- +# for backward compatibility:
- +ac_top_builddir=$ac_top_build_prefix
- +
- +case $srcdir in
- + .) # We are building in place.
- + ac_srcdir=.
- + ac_top_srcdir=$ac_top_builddir_sub
- + ac_abs_top_srcdir=$ac_pwd ;;
- + [\\/]* | ?:[\\/]* ) # Absolute name.
- + ac_srcdir=$srcdir$ac_dir_suffix;
- + ac_top_srcdir=$srcdir
- + ac_abs_top_srcdir=$srcdir ;;
- + *) # Relative name.
- + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- + ac_top_srcdir=$ac_top_build_prefix$srcdir
- + ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
- +esac
- +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
- +
- + cd "$ac_dir" || { ac_status=$?; continue; }
- + # Check for guested configure.
- + if test -f "$ac_srcdir/configure.gnu"; then
- + echo &&
- + $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- + elif test -f "$ac_srcdir/configure"; then
- + echo &&
- + $SHELL "$ac_srcdir/configure" --help=recursive
- + else
- + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- + fi || ac_status=$?
- + cd "$ac_pwd" || { ac_status=$?; break; }
- + done
- +fi
- +
- +test -n "$ac_init_help" && exit $ac_status
- +if $ac_init_version; then
- + cat <<\_ACEOF
- +configure
- +generated by GNU Autoconf 2.69
- +
- +Copyright (C) 2012 Free Software Foundation, Inc.
- +This configure script is free software; the Free Software Foundation
- +gives unlimited permission to copy, distribute and modify it.
- +_ACEOF
- + exit
- +fi
- +
- +## ------------------------ ##
- +## Autoconf initialization. ##
- +## ------------------------ ##
- +
- +# ac_fn_c_try_compile LINENO
- +# --------------------------
- +# Try to compile conftest.$ac_ext, and return whether this succeeded.
- +ac_fn_c_try_compile ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + rm -f conftest.$ac_objext
- + if { { ac_try="$ac_compile"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_compile") 2>conftest.err
- + ac_status=$?
- + if test -s conftest.err; then
- + grep -v '^ *+' conftest.err >conftest.er1
- + cat conftest.er1 >&5
- + mv -f conftest.er1 conftest.err
- + fi
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && {
- + test -z "$ac_c_werror_flag" ||
- + test ! -s conftest.err
- + } && test -s conftest.$ac_objext; then :
- + ac_retval=0
- +else
- + $as_echo "$as_me: failed program was:" >&5
- +sed 's/^/| /' conftest.$ac_ext >&5
- +
- + ac_retval=1
- +fi
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- + as_fn_set_status $ac_retval
- +
- +} # ac_fn_c_try_compile
- +
- +# ac_fn_c_try_cpp LINENO
- +# ----------------------
- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
- +ac_fn_c_try_cpp ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + if { { ac_try="$ac_cpp conftest.$ac_ext"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- + ac_status=$?
- + if test -s conftest.err; then
- + grep -v '^ *+' conftest.err >conftest.er1
- + cat conftest.er1 >&5
- + mv -f conftest.er1 conftest.err
- + fi
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } > conftest.i && {
- + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- + test ! -s conftest.err
- + }; then :
- + ac_retval=0
- +else
- + $as_echo "$as_me: failed program was:" >&5
- +sed 's/^/| /' conftest.$ac_ext >&5
- +
- + ac_retval=1
- +fi
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- + as_fn_set_status $ac_retval
- +
- +} # ac_fn_c_try_cpp
- +
- +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
- +# -------------------------------------------------------
- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using
- +# the include files in INCLUDES and setting the cache variable VAR
- +# accordingly.
- +ac_fn_c_check_header_mongrel ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + if eval \${$3+:} false; then :
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
- +$as_echo_n "checking for $2... " >&6; }
- +if eval \${$3+:} false; then :
- + $as_echo_n "(cached) " >&6
- +fi
- +eval ac_res=\$$3
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
- +$as_echo "$ac_res" >&6; }
- +else
- + # Is the header compilable?
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
- +$as_echo_n "checking $2 usability... " >&6; }
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$4
- +#include <$2>
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_header_compiler=yes
- +else
- + ac_header_compiler=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
- +$as_echo "$ac_header_compiler" >&6; }
- +
- +# Is the header present?
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
- +$as_echo_n "checking $2 presence... " >&6; }
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <$2>
- +_ACEOF
- +if ac_fn_c_try_cpp "$LINENO"; then :
- + ac_header_preproc=yes
- +else
- + ac_header_preproc=no
- +fi
- +rm -f conftest.err conftest.i conftest.$ac_ext
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
- +$as_echo "$ac_header_preproc" >&6; }
- +
- +# So? What about this header?
- +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- + yes:no: )
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
- +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
- +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- + ;;
- + no:yes:* )
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
- +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
- +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
- +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
- +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
- +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- + ;;
- +esac
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
- +$as_echo_n "checking for $2... " >&6; }
- +if eval \${$3+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + eval "$3=\$ac_header_compiler"
- +fi
- +eval ac_res=\$$3
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
- +$as_echo "$ac_res" >&6; }
- +fi
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- +
- +} # ac_fn_c_check_header_mongrel
- +
- +# ac_fn_c_try_run LINENO
- +# ----------------------
- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
- +# that executables *can* be run.
- +ac_fn_c_try_run ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + if { { ac_try="$ac_link"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_link") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- + { { case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_try") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; }; then :
- + ac_retval=0
- +else
- + $as_echo "$as_me: program exited with status $ac_status" >&5
- + $as_echo "$as_me: failed program was:" >&5
- +sed 's/^/| /' conftest.$ac_ext >&5
- +
- + ac_retval=$ac_status
- +fi
- + rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- + as_fn_set_status $ac_retval
- +
- +} # ac_fn_c_try_run
- +
- +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
- +# -------------------------------------------------------
- +# Tests whether HEADER exists and can be compiled using the include files in
- +# INCLUDES, setting the cache variable VAR accordingly.
- +ac_fn_c_check_header_compile ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
- +$as_echo_n "checking for $2... " >&6; }
- +if eval \${$3+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$4
- +#include <$2>
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + eval "$3=yes"
- +else
- + eval "$3=no"
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +eval ac_res=\$$3
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
- +$as_echo "$ac_res" >&6; }
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- +
- +} # ac_fn_c_check_header_compile
- +
- +# ac_fn_c_try_link LINENO
- +# -----------------------
- +# Try to link conftest.$ac_ext, and return whether this succeeded.
- +ac_fn_c_try_link ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + rm -f conftest.$ac_objext conftest$ac_exeext
- + if { { ac_try="$ac_link"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_link") 2>conftest.err
- + ac_status=$?
- + if test -s conftest.err; then
- + grep -v '^ *+' conftest.err >conftest.er1
- + cat conftest.er1 >&5
- + mv -f conftest.er1 conftest.err
- + fi
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && {
- + test -z "$ac_c_werror_flag" ||
- + test ! -s conftest.err
- + } && test -s conftest$ac_exeext && {
- + test "$cross_compiling" = yes ||
- + test -x conftest$ac_exeext
- + }; then :
- + ac_retval=0
- +else
- + $as_echo "$as_me: failed program was:" >&5
- +sed 's/^/| /' conftest.$ac_ext >&5
- +
- + ac_retval=1
- +fi
- + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- + # interfere with the next link command; also delete a directory that is
- + # left behind by Apple's compiler. We do this before executing the actions.
- + rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- + as_fn_set_status $ac_retval
- +
- +} # ac_fn_c_try_link
- +
- +# ac_fn_c_check_func LINENO FUNC VAR
- +# ----------------------------------
- +# Tests whether FUNC exists, setting the cache variable VAR accordingly
- +ac_fn_c_check_func ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
- +$as_echo_n "checking for $2... " >&6; }
- +if eval \${$3+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- + For example, HP-UX 11i <limits.h> declares gettimeofday. */
- +#define $2 innocuous_$2
- +
- +/* System header to define __stub macros and hopefully few prototypes,
- + which can conflict with char $2 (); below.
- + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- + <limits.h> exists even on freestanding compilers. */
- +
- +#ifdef __STDC__
- +# include <limits.h>
- +#else
- +# include <assert.h>
- +#endif
- +
- +#undef $2
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char $2 ();
- +/* The GNU C library defines this for functions which it implements
- + to always fail with ENOSYS. Some functions are actually named
- + something starting with __ and the normal name is an alias. */
- +#if defined __stub_$2 || defined __stub___$2
- +choke me
- +#endif
- +
- +int
- +main ()
- +{
- +return $2 ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + eval "$3=yes"
- +else
- + eval "$3=no"
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +fi
- +eval ac_res=\$$3
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
- +$as_echo "$ac_res" >&6; }
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- +
- +} # ac_fn_c_check_func
- +
- +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
- +# ----------------------------------------------------
- +# Tries to find if the field MEMBER exists in type AGGR, after including
- +# INCLUDES, setting cache variable VAR accordingly.
- +ac_fn_c_check_member ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
- +$as_echo_n "checking for $2.$3... " >&6; }
- +if eval \${$4+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$5
- +int
- +main ()
- +{
- +static $2 ac_aggr;
- +if (ac_aggr.$3)
- +return 0;
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + eval "$4=yes"
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$5
- +int
- +main ()
- +{
- +static $2 ac_aggr;
- +if (sizeof ac_aggr.$3)
- +return 0;
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + eval "$4=yes"
- +else
- + eval "$4=no"
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +eval ac_res=\$$4
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
- +$as_echo "$ac_res" >&6; }
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- +
- +} # ac_fn_c_check_member
- +
- +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
- +# -------------------------------------------
- +# Tests whether TYPE exists after having included INCLUDES, setting cache
- +# variable VAR accordingly.
- +ac_fn_c_check_type ()
- +{
- + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
- +$as_echo_n "checking for $2... " >&6; }
- +if eval \${$3+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + eval "$3=no"
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$4
- +int
- +main ()
- +{
- +if (sizeof ($2))
- + return 0;
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$4
- +int
- +main ()
- +{
- +if (sizeof (($2)))
- + return 0;
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- +
- +else
- + eval "$3=yes"
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +eval ac_res=\$$3
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
- +$as_echo "$ac_res" >&6; }
- + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- +
- +} # ac_fn_c_check_type
- +cat >config.log <<_ACEOF
- +This file contains any messages produced by compilers while
- +running configure, to aid debugging if configure makes a mistake.
- +
- +It was created by $as_me, which was
- +generated by GNU Autoconf 2.69. Invocation command line was
- +
- + $ $0 $@
- +
- +_ACEOF
- +exec 5>>config.log
- +{
- +cat <<_ASUNAME
- +## --------- ##
- +## Platform. ##
- +## --------- ##
- +
- +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
- +uname -m = `(uname -m) 2>/dev/null || echo unknown`
- +uname -r = `(uname -r) 2>/dev/null || echo unknown`
- +uname -s = `(uname -s) 2>/dev/null || echo unknown`
- +uname -v = `(uname -v) 2>/dev/null || echo unknown`
- +
- +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
- +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
- +
- +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
- +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
- +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
- +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
- +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
- +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
- +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
- +
- +_ASUNAME
- +
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + $as_echo "PATH: $as_dir"
- + done
- +IFS=$as_save_IFS
- +
- +} >&5
- +
- +cat >&5 <<_ACEOF
- +
- +
- +## ----------- ##
- +## Core tests. ##
- +## ----------- ##
- +
- +_ACEOF
- +
- +
- +# Keep a trace of the command line.
- +# Strip out --no-create and --no-recursion so they do not pile up.
- +# Strip out --silent because we don't want to record it for future runs.
- +# Also quote any args containing shell meta-characters.
- +# Make two passes to allow for proper duplicate-argument suppression.
- +ac_configure_args=
- +ac_configure_args0=
- +ac_configure_args1=
- +ac_must_keep_next=false
- +for ac_pass in 1 2
- +do
- + for ac_arg
- + do
- + case $ac_arg in
- + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- + -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- + | -silent | --silent | --silen | --sile | --sil)
- + continue ;;
- + *\'*)
- + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- + esac
- + case $ac_pass in
- + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- + 2)
- + as_fn_append ac_configure_args1 " '$ac_arg'"
- + if test $ac_must_keep_next = true; then
- + ac_must_keep_next=false # Got value, back to normal.
- + else
- + case $ac_arg in
- + *=* | --config-cache | -C | -disable-* | --disable-* \
- + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- + | -with-* | --with-* | -without-* | --without-* | --x)
- + case "$ac_configure_args0 " in
- + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- + esac
- + ;;
- + -* ) ac_must_keep_next=true ;;
- + esac
- + fi
- + as_fn_append ac_configure_args " '$ac_arg'"
- + ;;
- + esac
- + done
- +done
- +{ ac_configure_args0=; unset ac_configure_args0;}
- +{ ac_configure_args1=; unset ac_configure_args1;}
- +
- +# When interrupted or exit'd, cleanup temporary files, and complete
- +# config.log. We remove comments because anyway the quotes in there
- +# would cause problems or look ugly.
- +# WARNING: Use '\'' to represent an apostrophe within the trap.
- +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
- +trap 'exit_status=$?
- + # Save into config.log some information that might help in debugging.
- + {
- + echo
- +
- + $as_echo "## ---------------- ##
- +## Cache variables. ##
- +## ---------------- ##"
- + echo
- + # The following way of writing the cache mishandles newlines in values,
- +(
- + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- + eval ac_val=\$$ac_var
- + case $ac_val in #(
- + *${as_nl}*)
- + case $ac_var in #(
- + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
- +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- + esac
- + case $ac_var in #(
- + _ | IFS | as_nl) ;; #(
- + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- + *) { eval $ac_var=; unset $ac_var;} ;;
- + esac ;;
- + esac
- + done
- + (set) 2>&1 |
- + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- + *${as_nl}ac_space=\ *)
- + sed -n \
- + "s/'\''/'\''\\\\'\'''\''/g;
- + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- + ;; #(
- + *)
- + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- + ;;
- + esac |
- + sort
- +)
- + echo
- +
- + $as_echo "## ----------------- ##
- +## Output variables. ##
- +## ----------------- ##"
- + echo
- + for ac_var in $ac_subst_vars
- + do
- + eval ac_val=\$$ac_var
- + case $ac_val in
- + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- + esac
- + $as_echo "$ac_var='\''$ac_val'\''"
- + done | sort
- + echo
- +
- + if test -n "$ac_subst_files"; then
- + $as_echo "## ------------------- ##
- +## File substitutions. ##
- +## ------------------- ##"
- + echo
- + for ac_var in $ac_subst_files
- + do
- + eval ac_val=\$$ac_var
- + case $ac_val in
- + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- + esac
- + $as_echo "$ac_var='\''$ac_val'\''"
- + done | sort
- + echo
- + fi
- +
- + if test -s confdefs.h; then
- + $as_echo "## ----------- ##
- +## confdefs.h. ##
- +## ----------- ##"
- + echo
- + cat confdefs.h
- + echo
- + fi
- + test "$ac_signal" != 0 &&
- + $as_echo "$as_me: caught signal $ac_signal"
- + $as_echo "$as_me: exit $exit_status"
- + } >&5
- + rm -f core *.core core.conftest.* &&
- + rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- + exit $exit_status
- +' 0
- +for ac_signal in 1 2 13 15; do
- + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
- +done
- +ac_signal=0
- +
- +# confdefs.h avoids OS command line length limits that DEFS can exceed.
- +rm -f -r conftest* confdefs.h
- +
- +$as_echo "/* confdefs.h */" > confdefs.h
- +
- +# Predefined preprocessor variables.
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE_NAME "$PACKAGE_NAME"
- +_ACEOF
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
- +_ACEOF
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE_VERSION "$PACKAGE_VERSION"
- +_ACEOF
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE_STRING "$PACKAGE_STRING"
- +_ACEOF
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
- +_ACEOF
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE_URL "$PACKAGE_URL"
- +_ACEOF
- +
- +
- +# Let the site file select an alternate cache file if it wants to.
- +# Prefer an explicitly selected file to automatically selected ones.
- +ac_site_file1=NONE
- +ac_site_file2=NONE
- +if test -n "$CONFIG_SITE"; then
- + # We do not want a PATH search for config.site.
- + case $CONFIG_SITE in #((
- + -*) ac_site_file1=./$CONFIG_SITE;;
- + */*) ac_site_file1=$CONFIG_SITE;;
- + *) ac_site_file1=./$CONFIG_SITE;;
- + esac
- +elif test "x$prefix" != xNONE; then
- + ac_site_file1=$prefix/share/config.site
- + ac_site_file2=$prefix/etc/config.site
- +else
- + ac_site_file1=$ac_default_prefix/share/config.site
- + ac_site_file2=$ac_default_prefix/etc/config.site
- +fi
- +for ac_site_file in "$ac_site_file1" "$ac_site_file2"
- +do
- + test "x$ac_site_file" = xNONE && continue
- + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
- +$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- + sed 's/^/| /' "$ac_site_file" >&5
- + . "$ac_site_file" \
- + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error $? "failed to load site script $ac_site_file
- +See \`config.log' for more details" "$LINENO" 5; }
- + fi
- +done
- +
- +if test -r "$cache_file"; then
- + # Some versions of bash will fail to source /dev/null (special files
- + # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- + if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
- +$as_echo "$as_me: loading cache $cache_file" >&6;}
- + case $cache_file in
- + [\\/]* | ?:[\\/]* ) . "$cache_file";;
- + *) . "./$cache_file";;
- + esac
- + fi
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
- +$as_echo "$as_me: creating cache $cache_file" >&6;}
- + >$cache_file
- +fi
- +
- +# Check that the precious variables saved in the cache have kept the same
- +# value.
- +ac_cache_corrupted=false
- +for ac_var in $ac_precious_vars; do
- + eval ac_old_set=\$ac_cv_env_${ac_var}_set
- + eval ac_new_set=\$ac_env_${ac_var}_set
- + eval ac_old_val=\$ac_cv_env_${ac_var}_value
- + eval ac_new_val=\$ac_env_${ac_var}_value
- + case $ac_old_set,$ac_new_set in
- + set,)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
- +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- + ac_cache_corrupted=: ;;
- + ,set)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
- +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- + ac_cache_corrupted=: ;;
- + ,);;
- + *)
- + if test "x$ac_old_val" != "x$ac_new_val"; then
- + # differences in whitespace do not lead to failure.
- + ac_old_val_w=`echo x $ac_old_val`
- + ac_new_val_w=`echo x $ac_new_val`
- + if test "$ac_old_val_w" != "$ac_new_val_w"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
- +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- + ac_cache_corrupted=:
- + else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
- +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- + eval $ac_var=\$ac_old_val
- + fi
- + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
- +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
- +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- + fi;;
- + esac
- + # Pass precious variables to config.status.
- + if test "$ac_new_set" = set; then
- + case $ac_new_val in
- + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- + *) ac_arg=$ac_var=$ac_new_val ;;
- + esac
- + case " $ac_configure_args " in
- + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- + *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- + esac
- + fi
- +done
- +if $ac_cache_corrupted; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
- +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
- +fi
- +## -------------------- ##
- +## Main body of script. ##
- +## -------------------- ##
- +
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- +
- +# This file contains common code used by all simulators.
- +#
- +# SIM_AC_COMMON invokes AC macros used by all simulators and by the common
- +# directory. It is intended to be invoked before any target specific stuff.
- +# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
- +# It is intended to be invoked last.
- +#
- +# The simulator's configure.ac should look like:
- +#
- +# dnl Process this file with autoconf to produce a configure script.
- +# AC_PREREQ(2.64)dnl
- +# AC_INIT(Makefile.in)
- +# sinclude(../common/aclocal.m4)
- +#
- +# SIM_AC_COMMON
- +#
- +# ... target specific stuff ...
- +#
- +# SIM_AC_OUTPUT
- +
- +# Include global overrides and fixes for Autoconf.
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
- +#
- +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
- +# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- +# Written by Gordon Matzigkeit, 1996
- +#
- +# This file is free software; the Free Software Foundation gives
- +# unlimited permission to copy and/or distribute it, with or without
- +# modifications, as long as this notice is preserved.
- +
- +
- +
- +# serial 56 LT_INIT
- +
- +
- +# LT_PREREQ(VERSION)
- +# ------------------
- +# Complain and exit if this libtool version is less that VERSION.
- +
- +
- +
- +# _LT_CHECK_BUILDDIR
- +# ------------------
- +# Complain if the absolute build directory name contains unusual characters
- +
- +
- +
- +# LT_INIT([OPTIONS])
- +# ------------------
- +# LT_INIT
- +
- +# Old names:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_CC_BASENAME(CC)
- +# -------------------
- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
- +
- +
- +
- +# _LT_FILEUTILS_DEFAULTS
- +# ----------------------
- +# It is okay to use these file commands and assume they have been set
- +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
- +# _LT_FILEUTILS_DEFAULTS
- +
- +
- +# _LT_SETUP
- +# ---------
- +# _LT_SETUP
- +
- +
- +# _LT_PREPARE_SED_QUOTE_VARS
- +# --------------------------
- +# Define a few sed substitution that help us do robust quoting.
- +
- +
- +# _LT_PROG_LTMAIN
- +# ---------------
- +# Note that this code is called both from `configure', and `config.status'
- +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
- +# `config.status' has no value for ac_aux_dir unless we are using Automake,
- +# so we pass a copy along to make sure it has a sensible value anyway.
- +# _LT_PROG_LTMAIN
- +
- +
- +## ------------------------------------- ##
- +## Accumulate code for creating libtool. ##
- +## ------------------------------------- ##
- +
- +# So that we can recreate a full libtool script including additional
- +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
- +# in macros and then make a single call at the end using the `libtool'
- +# label.
- +
- +
- +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
- +# ----------------------------------------
- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
- +
- +
- +# Initialize.
- +
- +
- +
- +# _LT_CONFIG_LIBTOOL([COMMANDS])
- +# ------------------------------
- +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
- +
- +
- +# Initialize.
- +
- +
- +
- +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
- +# -----------------------------------------------------
- +
- +
- +
- +# _LT_FORMAT_COMMENT([COMMENT])
- +# -----------------------------
- +# Add leading comment marks to the start of each line, and a trailing
- +# full-stop to the whole comment if one is not present already.
- +
- +
- +
- +
- +## ------------------------ ##
- +## FIXME: Eliminate VARNAME ##
- +## ------------------------ ##
- +
- +
- +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
- +# -------------------------------------------------------------------
- +# CONFIGNAME is the name given to the value in the libtool script.
- +# VARNAME is the (base) name used in the configure script.
- +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
- +# VARNAME. Any other value will be used directly.
- +
- +
- +
- +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
- +# --------------------------------------------------------
- +
- +
- +
- +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
- +# ------------------------------------------------
- +
- +
- +
- +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
- +# ---------------------------------------------------------
- +
- +
- +
- +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
- +# --------------------------------------------------
- +
- +
- +
- +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
- +# ---------------------------------------------------
- +
- +
- +
- +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
- +# ---------------------------------------------------
- +
- +
- +
- +
- +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
- +# ------------------------------------------------
- +
- +
- +
- +
- +# _LT_CONFIG_STATUS_DECLARE([VARNAME])
- +# ------------------------------------
- +# Quote a variable value, and forward it to `config.status' so that its
- +# declaration there will have the same value as in `configure'. VARNAME
- +# must have a single quote delimited value for this to work.
- +
- +
- +
- +# _LT_CONFIG_STATUS_DECLARATIONS
- +# ------------------------------
- +# We delimit libtool config variables with single quotes, so when
- +# we write them to config.status, we have to be sure to quote all
- +# embedded single quotes properly. In configure, this macro expands
- +# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
- +#
- +# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
- +
- +
- +
- +# _LT_LIBTOOL_TAGS
- +# ----------------
- +# Output comment and list of tags supported by the script
- +
- +
- +
- +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
- +# -----------------------------------
- +# Extract the dictionary values for VARNAME (optionally with TAG) and
- +# expand to a commented shell variable setting:
- +#
- +# # Some comment about what VAR is for.
- +# visible_name=$lt_internal_name
- +
- +
- +
- +# _LT_LIBTOOL_CONFIG_VARS
- +# -----------------------
- +# Produce commented declarations of non-tagged libtool config variables
- +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
- +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
- +# section) are produced by _LT_LIBTOOL_TAG_VARS.
- +
- +
- +
- +# _LT_LIBTOOL_TAG_VARS(TAG)
- +# -------------------------
- +
- +
- +
- +# _LT_TAGVAR(VARNAME, [TAGNAME])
- +# ------------------------------
- +
- +
- +
- +# _LT_CONFIG_COMMANDS
- +# -------------------
- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
- +# variables for single and double quote escaping we saved from calls
- +# to _LT_DECL, we can put quote escaped variables declarations
- +# into `config.status', and then the shell code to quote escape them in
- +# for loops in `config.status'. Finally, any additional code accumulated
- +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
- +#_LT_CONFIG_COMMANDS
- +
- +
- +# Initialize.
- +
- +
- +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
- +# ------------------------------------
- +# Generate a child script FILE with all initialization necessary to
- +# reuse the environment learned by the parent script, and make the
- +# file executable. If COMMENT is supplied, it is inserted after the
- +# `#!' sequence but before initialization text begins. After this
- +# macro, additional text can be appended to FILE to form the body of
- +# the child script. The macro ends with non-zero status if the
- +# file could not be fully written (such as if the disk is full).
- +# _LT_GENERATED_FILE_INIT
- +
- +# LT_OUTPUT
- +# ---------
- +# This macro allows early generation of the libtool script (before
- +# AC_OUTPUT is called), incase it is used in configure for compilation
- +# tests.
- +# LT_OUTPUT
- +
- +
- +# _LT_CONFIG(TAG)
- +# ---------------
- +# If TAG is the built-in tag, create an initial libtool script with a
- +# default configuration from the untagged config vars. Otherwise add code
- +# to config.status for appending the configuration named by TAG from the
- +# matching tagged config vars.
- +# _LT_CONFIG
- +
- +
- +# LT_SUPPORTED_TAG(TAG)
- +# ---------------------
- +# Trace this macro to discover what tags are supported by the libtool
- +# --tag option, using:
- +# autoconf --trace 'LT_SUPPORTED_TAG:$1'
- +
- +
- +
- +# C support is built-in for now
- +
- +
- +
- +
- +# LT_LANG(LANG)
- +# -------------
- +# Enable libtool support for the given language if not already enabled.
- +# LT_LANG
- +
- +
- +# _LT_LANG(LANGNAME)
- +# ------------------
- +# _LT_LANG
- +
- +
- +# _LT_LANG_DEFAULT_CONFIG
- +# -----------------------
- +# _LT_LANG_DEFAULT_CONFIG
- +
- +# Obsolete macros:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_TAG_COMPILER
- +# ----------------
- +# _LT_TAG_COMPILER
- +
- +
- +# _LT_COMPILER_BOILERPLATE
- +# ------------------------
- +# Check for compiler boilerplate output or warnings with
- +# the simple compiler test code.
- +# _LT_COMPILER_BOILERPLATE
- +
- +
- +# _LT_LINKER_BOILERPLATE
- +# ----------------------
- +# Check for linker boilerplate output or warnings with
- +# the simple link test code.
- +# _LT_LINKER_BOILERPLATE
- +
- +# _LT_REQUIRED_DARWIN_CHECKS
- +# -------------------------
- +
- +
- +
- +# _LT_DARWIN_LINKER_FEATURES
- +# --------------------------
- +# Checks for linker and compiler features on darwin
- +
- +
- +# _LT_SYS_MODULE_PATH_AIX
- +# -----------------------
- +# Links a minimal program and checks the executable
- +# for the system default hardcoded library path. In most cases,
- +# this is /usr/lib:/lib, but when the MPI compilers are used
- +# the location of the communication and MPI libs are included too.
- +# If we don't find anything, use the default library path according
- +# to the aix ld manual.
- +# _LT_SYS_MODULE_PATH_AIX
- +
- +
- +# _LT_SHELL_INIT(ARG)
- +# -------------------
- +# _LT_SHELL_INIT
- +
- +
- +
- +# _LT_PROG_ECHO_BACKSLASH
- +# -----------------------
- +# Find how we can fake an echo command that does not interpret backslash.
- +# In particular, with Autoconf 2.60 or later we add some code to the start
- +# of the generated configure script which will find a shell with a builtin
- +# printf (which we can use as an echo command).
- +# _LT_PROG_ECHO_BACKSLASH
- +
- +
- +# _LT_ENABLE_LOCK
- +# ---------------
- +# _LT_ENABLE_LOCK
- +
- +
- +# _LT_CMD_OLD_ARCHIVE
- +# -------------------
- +# _LT_CMD_OLD_ARCHIVE
- +
- +
- +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
- +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
- +# ----------------------------------------------------------------
- +# Check whether the given compiler option works
- +# _LT_COMPILER_OPTION
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
- +# [ACTION-SUCCESS], [ACTION-FAILURE])
- +# ----------------------------------------------------
- +# Check whether the given linker option works
- +# _LT_LINKER_OPTION
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# LT_CMD_MAX_LEN
- +#---------------
- +# LT_CMD_MAX_LEN
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_HEADER_DLFCN
- +# ----------------
- +# _LT_HEADER_DLFCN
- +
- +
- +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
- +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
- +# ----------------------------------------------------------------
- +# _LT_TRY_DLOPEN_SELF
- +
- +
- +# LT_SYS_DLOPEN_SELF
- +# ------------------
- +# LT_SYS_DLOPEN_SELF
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_COMPILER_C_O([TAGNAME])
- +# ---------------------------
- +# Check to see if options -c and -o are simultaneously supported by compiler.
- +# This macro does not hard code the compiler like AC_PROG_CC_C_O.
- +# _LT_COMPILER_C_O
- +
- +
- +# _LT_COMPILER_FILE_LOCKS([TAGNAME])
- +# ----------------------------------
- +# Check to see if we can do hard links to lock some files if needed
- +# _LT_COMPILER_FILE_LOCKS
- +
- +
- +# _LT_CHECK_OBJDIR
- +# ----------------
- +# _LT_CHECK_OBJDIR
- +
- +
- +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
- +# --------------------------------------
- +# Check hardcoding attributes.
- +# _LT_LINKER_HARDCODE_LIBPATH
- +
- +
- +# _LT_CMD_STRIPLIB
- +# ----------------
- +# _LT_CMD_STRIPLIB
- +
- +
- +# _LT_SYS_DYNAMIC_LINKER([TAG])
- +# -----------------------------
- +# PORTME Fill in your ld.so characteristics
- +# _LT_SYS_DYNAMIC_LINKER
- +
- +
- +# _LT_PATH_TOOL_PREFIX(TOOL)
- +# --------------------------
- +# find a file program which can recognize shared library
- +# _LT_PATH_TOOL_PREFIX
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_PATH_MAGIC
- +# --------------
- +# find a file program which can recognize a shared library
- +# _LT_PATH_MAGIC
- +
- +
- +# LT_PATH_LD
- +# ----------
- +# find the pathname to the GNU or non-GNU linker
- +# LT_PATH_LD
- +
- +# Old names:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_PATH_LD_GNU
- +#- --------------
- +# _LT_PATH_LD_GNU
- +
- +
- +# _LT_CMD_RELOAD
- +# --------------
- +# find reload flag for linker
- +# -- PORTME Some linkers may need a different reload flag.
- +# _LT_CMD_RELOAD
- +
- +
- +# _LT_CHECK_MAGIC_METHOD
- +# ----------------------
- +# how to check for library dependencies
- +# -- PORTME fill in with the dynamic library characteristics
- +# _LT_CHECK_MAGIC_METHOD
- +
- +
- +# LT_PATH_NM
- +# ----------
- +# find the pathname to a BSD- or MS-compatible name lister
- +# LT_PATH_NM
- +
- +# Old names:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# LT_LIB_M
- +# --------
- +# check for math library
- +# LT_LIB_M
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_COMPILER_NO_RTTI([TAGNAME])
- +# -------------------------------
- +# _LT_COMPILER_NO_RTTI
- +
- +
- +# _LT_CMD_GLOBAL_SYMBOLS
- +# ----------------------
- + # _LT_CMD_GLOBAL_SYMBOLS
- +
- +
- +# _LT_COMPILER_PIC([TAGNAME])
- +# ---------------------------
- +# _LT_COMPILER_PIC
- +
- +
- +# _LT_LINKER_SHLIBS([TAGNAME])
- +# ----------------------------
- +# See if the linker supports building shared libraries.
- +# _LT_LINKER_SHLIBS
- +
- +
- +# _LT_LANG_C_CONFIG([TAG])
- +# ------------------------
- +# Ensure that the configuration variables for a C compiler are suitably
- +# defined. These variables are subsequently used by _LT_CONFIG to write
- +# the compiler configuration to `libtool'.
- +# _LT_LANG_C_CONFIG
- +
- +
- +# _LT_LANG_CXX_CONFIG([TAG])
- +# --------------------------
- +# Ensure that the configuration variables for a C++ compiler are suitably
- +# defined. These variables are subsequently used by _LT_CONFIG to write
- +# the compiler configuration to `libtool'.
- +# _LT_LANG_CXX_CONFIG
- +
- +
- +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
- +# ---------------------------------
- +# Figure out "hidden" library dependencies from verbose
- +# compiler output when linking a shared library.
- +# Parse the compiler output and extract the necessary
- +# objects, libraries and library flags.
- +# _LT_SYS_HIDDEN_LIBDEPS
- +
- +
- +# _LT_LANG_F77_CONFIG([TAG])
- +# --------------------------
- +# Ensure that the configuration variables for a Fortran 77 compiler are
- +# suitably defined. These variables are subsequently used by _LT_CONFIG
- +# to write the compiler configuration to `libtool'.
- +# _LT_LANG_F77_CONFIG
- +
- +
- +# _LT_LANG_FC_CONFIG([TAG])
- +# -------------------------
- +# Ensure that the configuration variables for a Fortran compiler are
- +# suitably defined. These variables are subsequently used by _LT_CONFIG
- +# to write the compiler configuration to `libtool'.
- +# _LT_LANG_FC_CONFIG
- +
- +
- +# _LT_LANG_GCJ_CONFIG([TAG])
- +# --------------------------
- +# Ensure that the configuration variables for the GNU Java Compiler compiler
- +# are suitably defined. These variables are subsequently used by _LT_CONFIG
- +# to write the compiler configuration to `libtool'.
- +# _LT_LANG_GCJ_CONFIG
- +
- +
- +# _LT_LANG_RC_CONFIG([TAG])
- +# -------------------------
- +# Ensure that the configuration variables for the Windows resource compiler
- +# are suitably defined. These variables are subsequently used by _LT_CONFIG
- +# to write the compiler configuration to `libtool'.
- +# _LT_LANG_RC_CONFIG
- +
- +
- +# LT_PROG_GCJ
- +# -----------
- +
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# LT_PROG_RC
- +# ----------
- +
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_DECL_EGREP
- +# --------------
- +# If we don't have a new enough Autoconf to choose the best grep
- +# available, choose the one first in the user's PATH.
- +
- +
- +
- +# _LT_DECL_OBJDUMP
- +# --------------
- +# If we don't have a new enough Autoconf to choose the best objdump
- +# available, choose the one first in the user's PATH.
- +
- +
- +
- +# _LT_DECL_SED
- +# ------------
- +# Check for a fully-functional sed program, that truncates
- +# as few characters as possible. Prefer GNU sed if found.
- +# _LT_DECL_SED
- +
- +#m4_ifndef
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +# _LT_CHECK_SHELL_FEATURES
- +# ------------------------
- +# Find out whether the shell is Bourne or XSI compatible,
- +# or has some other useful features.
- +# _LT_CHECK_SHELL_FEATURES
- +
- +
- +# _LT_PROG_XSI_SHELLFNS
- +# ---------------------
- +# Bourne and XSI compatible variants of some useful shell functions.
- +
- +
- +# Helper functions for option handling. -*- Autoconf -*-
- +#
- +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
- +# Inc.
- +# Written by Gary V. Vaughan, 2004
- +#
- +# This file is free software; the Free Software Foundation gives
- +# unlimited permission to copy and/or distribute it, with or without
- +# modifications, as long as this notice is preserved.
- +
- +# serial 6 ltoptions.m4
- +
- +# This is to help aclocal find these macros, as it can't see m4_define.
- +
- +
- +
- +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
- +# ------------------------------------------
- +
- +
- +
- +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
- +# ---------------------------------------
- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
- +# matching handler defined, dispatch to it. Other OPTION-NAMEs are
- +# saved as a flag.
- +
- +
- +
- +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
- +# ------------------------------------------------------------
- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
- +
- +
- +
- +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
- +# -------------------------------------------------------
- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
- +# are set.
- +
- +
- +
- +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
- +# ----------------------------------------
- +# OPTION-LIST is a space-separated list of Libtool options associated
- +# with MACRO-NAME. If any OPTION has a matching handler declared with
- +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
- +# the unknown option and exit.
- +# _LT_SET_OPTIONS
- +
- +
- +## --------------------------------- ##
- +## Macros to handle LT_INIT options. ##
- +## --------------------------------- ##
- +
- +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
- +# -----------------------------------------
- +
- +
- +
- +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
- +# -----------------------------------------------
- +# LT_OPTION_DEFINE
- +
- +
- +# dlopen
- +# ------
- +
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +
- +# win32-dll
- +# ---------
- +# Declare package support for building win32 dll's.
- +# win32-dll
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +
- +# _LT_ENABLE_SHARED([DEFAULT])
- +# ----------------------------
- +# implement the --enable-shared flag, and supports the `shared' and
- +# `disable-shared' LT_INIT options.
- +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
- +# _LT_ENABLE_SHARED
- +
- +
- +
- +
- +# Old names:
- +
- +
- +
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +
- +
- +# _LT_ENABLE_STATIC([DEFAULT])
- +# ----------------------------
- +# implement the --enable-static flag, and support the `static' and
- +# `disable-static' LT_INIT options.
- +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
- +# _LT_ENABLE_STATIC
- +
- +
- +
- +
- +# Old names:
- +
- +
- +
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +
- +
- +# _LT_ENABLE_FAST_INSTALL([DEFAULT])
- +# ----------------------------------
- +# implement the --enable-fast-install flag, and support the `fast-install'
- +# and `disable-fast-install' LT_INIT options.
- +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
- +# _LT_ENABLE_FAST_INSTALL
- +
- +
- +
- +
- +# Old names:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +
- +# _LT_WITH_PIC([MODE])
- +# --------------------
- +# implement the --with-pic flag, and support the `pic-only' and `no-pic'
- +# LT_INIT options.
- +# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
- +# _LT_WITH_PIC
- +
- +
- +
- +
- +# Old name:
- +# This is what autoupdate's m4 run will expand. It fires
- +# the warning (with _au_warn_XXX), outputs it into the
- +# updated configure.ac (with AC_DIAGNOSE), and then outputs
- +# the replacement expansion.
- +
- +
- +# This is an auxiliary macro that is also run when
- +# autoupdate runs m4. It simply calls m4_warning, but
- +# we need a wrapper so that each warning is emitted only
- +# once. We break the quoting in m4_warning's argument in
- +# order to expand this macro's arguments, not AU_DEFUN's.
- +
- +
- +# Finally, this is the expansion that is picked up by
- +# autoconf. It tells the user to run autoupdate, and
- +# then outputs the replacement expansion. We do not care
- +# about autoupdate's warning because that contains
- +# information on what to do *after* running autoupdate.
- +
- +
- +
- +## ----------------- ##
- +## LTDL_INIT Options ##
- +## ----------------- ##
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
- +#
- +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
- +# Written by Gary V. Vaughan, 2004
- +#
- +# This file is free software; the Free Software Foundation gives
- +# unlimited permission to copy and/or distribute it, with or without
- +# modifications, as long as this notice is preserved.
- +
- +# serial 6 ltsugar.m4
- +
- +# This is to help aclocal find these macros, as it can't see m4_define.
- +
- +
- +
- +# lt_join(SEP, ARG1, [ARG2...])
- +# -----------------------------
- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
- +# associated separator.
- +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
- +# versions in m4sugar had bugs.
- +
- +
- +
- +
- +# lt_car(LIST)
- +# lt_cdr(LIST)
- +# ------------
- +# Manipulate m4 lists.
- +# These macros are necessary as long as will still need to support
- +# Autoconf-2.59 which quotes differently.
- +
- +
- +
- +
- +
- +# lt_append(MACRO-NAME, STRING, [SEPARATOR])
- +# ------------------------------------------
- +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
- +# Note that neither SEPARATOR nor STRING are expanded; they are appended
- +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
- +# No SEPARATOR is output if MACRO-NAME was previously undefined (different
- +# than defined and empty).
- +#
- +# This macro is needed until we can rely on Autoconf 2.62, since earlier
- +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
- +
- +
- +
- +
- +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
- +# ----------------------------------------------------------
- +# Produce a SEP delimited list of all paired combinations of elements of
- +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
- +# has the form PREFIXmINFIXSUFFIXn.
- +# Needed until we can rely on m4_combine added in Autoconf 2.62.
- +
- +
- +
- +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
- +# -----------------------------------------------------------------------
- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
- +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
- +
- +
- +
- +# lt_dict_add(DICT, KEY, VALUE)
- +# -----------------------------
- +
- +
- +
- +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
- +# --------------------------------------------
- +
- +
- +
- +# lt_dict_fetch(DICT, KEY, [SUBKEY])
- +# ----------------------------------
- +
- +
- +
- +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
- +# -----------------------------------------------------------------
- +
- +
- +
- +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
- +# --------------------------------------------------------------
- +
- +
- +# ltversion.m4 -- version numbers -*- Autoconf -*-
- +#
- +# Copyright (C) 2004 Free Software Foundation, Inc.
- +# Written by Scott James Remnant, 2004
- +#
- +# This file is free software; the Free Software Foundation gives
- +# unlimited permission to copy and/or distribute it, with or without
- +# modifications, as long as this notice is preserved.
- +
- +# Generated from ltversion.in.
- +
- +# serial 3134 ltversion.m4
- +# This file is part of GNU Libtool
- +
- +
- +
- +
- +
- +
- +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
- +#
- +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
- +# Written by Scott James Remnant, 2004.
- +#
- +# This file is free software; the Free Software Foundation gives
- +# unlimited permission to copy and/or distribute it, with or without
- +# modifications, as long as this notice is preserved.
- +
- +# serial 4 lt~obsolete.m4
- +
- +# These exist entirely to fool aclocal when bootstrapping libtool.
- +#
- +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
- +# which have later been changed to m4_define as they aren't part of the
- +# exported API, or moved to Autoconf or Automake where they belong.
- +#
- +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
- +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
- +# using a macro with the same name in our local m4/libtool.m4 it'll
- +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
- +# and doesn't know about Autoconf macros at all.)
- +#
- +# So we provide this file, which has a silly filename so it's always
- +# included after everything else. This provides aclocal with the
- +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
- +# because those macros already exist, or will be overwritten later.
- +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
- +#
- +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
- +# Yes, that means every name once taken will need to remain here until
- +# we give up compatibility with versions before 1.7, at which point
- +# we need to keep only those names which we still refer to.
- +
- +# This is to help aclocal find these macros, as it can't see m4_define.
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +## -*- Autoconf -*-
- +
- +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
- +# Free Software Foundation, Inc.
- +#
- +# This file is free software; the Free Software Foundation
- +# gives unlimited permission to copy and/or distribute it,
- +# with or without modifications, as long as this notice is preserved.
- +
- +# serial 8
- +
- +# Based on depend.m4 from automake 1.9, modified for standalone use in
- +# an environment where GNU make is required.
- +
- +# ZW_PROG_COMPILER_DEPENDENCIES
- +# -----------------------------
- +# Variant of _AM_DEPENDENCIES which just does the dependency probe and
- +# sets fooDEPMODE accordingly. Cache-variable compatible with
- +# original; not side-effect compatible. As the users of this macro
- +# may require accurate dependencies for correct builds, it does *not*
- +# honor --disable-dependency-checking, and failure to detect a usable
- +# method is an error. depcomp is assumed to be located in
- +# $ac_aux_dir.
- +#
- +# FIXME: Should use the Autoconf 2.5x language-selection mechanism.
- +
- +
- +
- +# AM_SET_DEPDIR
- +# -------------
- +# Choose a directory name for dependency files.
- +
- +
- +# ZW_CREATE_DEPDIR
- +# ----------------
- +# As AM_SET_DEPDIR, but also create the directory at config.status time.
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# intl sister-directory configuration rules.
- +#
- +
- +# The idea behind this macro is that there's no need to repeat all the
- +# autoconf probes done by the intl directory - it's already done them
- +# for us. In fact, there's no need even to look at the cache for the
- +# answers. All we need to do is nab a few pieces of information.
- +# The intl directory is set up to make this easy, by generating a
- +# small file which can be sourced as a shell script; then we produce
- +# the necessary substitutions and definitions for this directory.
- +
- +
- +
- +# Autoconf M4 include file defining utility macros for complex Canadian
- +# cross builds.
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +####
- +# _NCN_TOOL_PREFIXES: Some stuff that oughtta be done in AC_CANONICAL_SYSTEM
- +# or AC_INIT.
- +# These demand that AC_CANONICAL_SYSTEM be called beforehand.
- +
- +####
- +# NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
- +# Like plain AC_CHECK_TOOLS, but require prefix if build!=host.
- +
- +
- +####
- +# NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
- +# Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target.
- +
- +
- +
- +# Backported from Autoconf 2.5x; can go away when and if
- +# we switch. Put the OS path separator in $PATH_SEPARATOR.
- +
- +
- +
- +
- +
- +
- +
- +
- +# ACX_HAVE_GCC_FOR_TARGET
- +# Check if the variable GCC_FOR_TARGET really points to a GCC binary.
- +
- +
- +# ACX_CHECK_INSTALLED_TARGET_TOOL(VAR, PROG)
- +# Searching for installed target binutils. We need to take extra care,
- +# else we may find the wrong assembler, linker, etc., and lose.
- +#
- +# First try --with-build-time-tools, if specified.
- +#
- +# For build != host, we ask the installed GCC for the name of the tool it
- +# uses, and accept it if it is an absolute path. This is because the
- +# only good choice for a compiler is the same GCC version that is being
- +# installed (or we couldn't make target libraries), and we assume that
- +# on the host system we'll have not only the same GCC version, but also
- +# the same binutils version.
- +#
- +# For build == host, search the same directories that the installed
- +# compiler will search. We used to do this for the assembler, linker,
- +# and nm only; for simplicity of configuration, however, we extend this
- +# criterion to tools (such as ar and ranlib) that are never invoked by
- +# the compiler, to avoid mismatches.
- +#
- +# Also note we have to check MD_EXEC_PREFIX before checking the user's path
- +# if build == target. This makes the most sense only when bootstrapping,
- +# but we also do so when build != host. In this case, we hope that the
- +# build and host systems will have similar contents of MD_EXEC_PREFIX.
- +#
- +# If we do not find a suitable binary, then try the user's path.
- +
- +
- +###
- +# AC_PROG_CPP_WERROR
- +# Used for autoconf 2.5x to force AC_PREPROC_IFELSE to reject code which
- +# triggers warnings from the preprocessor. Will be in autoconf 2.58.
- +# For now, using this also overrides header checks to use only the
- +# preprocessor (matches 2.13 behavior; matching 2.58's behavior is a
- +# bit harder from here).
- +# Eventually autoconf will default to checking headers with the compiler
- +# instead, and we'll have to do this differently.
- +
- +# AC_PROG_CPP_WERROR
- +
- +# Test for GNAT.
- +# We require the gnatbind & gnatmake programs, as well as a compiler driver
- +# that understands Ada. We use the user's CC setting, already found, and
- +# possibly add $1 to the command-line parameters.
- +#
- +# Sets the shell variable have_gnat to yes or no as appropriate, and
- +# substitutes GNATBIND and GNATMAKE.
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}gcc; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_CC+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$CC"; then
- + ac_cv_prog_CC="$CC" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_CC="${ac_tool_prefix}gcc"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +CC=$ac_cv_prog_CC
- +if test -n "$CC"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
- +$as_echo "$CC" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_CC"; then
- + ac_ct_CC=$CC
- + # Extract the first word of "gcc", so it can be a program name with args.
- +set dummy gcc; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_CC+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_CC"; then
- + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_CC="gcc"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_CC=$ac_cv_prog_ac_ct_CC
- +if test -n "$ac_ct_CC"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
- +$as_echo "$ac_ct_CC" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_CC" = x; then
- + CC=""
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + CC=$ac_ct_CC
- + fi
- +else
- + CC="$ac_cv_prog_CC"
- +fi
- +
- +if test -z "$CC"; then
- + if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}cc; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_CC+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$CC"; then
- + ac_cv_prog_CC="$CC" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_CC="${ac_tool_prefix}cc"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +CC=$ac_cv_prog_CC
- +if test -n "$CC"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
- +$as_echo "$CC" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + fi
- +fi
- +if test -z "$CC"; then
- + # Extract the first word of "cc", so it can be a program name with args.
- +set dummy cc; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_CC+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$CC"; then
- + ac_cv_prog_CC="$CC" # Let the user override the test.
- +else
- + ac_prog_rejected=no
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- + ac_prog_rejected=yes
- + continue
- + fi
- + ac_cv_prog_CC="cc"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +if test $ac_prog_rejected = yes; then
- + # We found a bogon in the path, so make sure we never use it.
- + set dummy $ac_cv_prog_CC
- + shift
- + if test $# != 0; then
- + # We chose a different compiler from the bogus one.
- + # However, it has the same basename, so the bogon will be chosen
- + # first if we set CC to just the basename; use the full file name.
- + shift
- + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- + fi
- +fi
- +fi
- +fi
- +CC=$ac_cv_prog_CC
- +if test -n "$CC"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
- +$as_echo "$CC" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$CC"; then
- + if test -n "$ac_tool_prefix"; then
- + for ac_prog in cl.exe
- + do
- + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
- +set dummy $ac_tool_prefix$ac_prog; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_CC+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$CC"; then
- + ac_cv_prog_CC="$CC" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +CC=$ac_cv_prog_CC
- +if test -n "$CC"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
- +$as_echo "$CC" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + test -n "$CC" && break
- + done
- +fi
- +if test -z "$CC"; then
- + ac_ct_CC=$CC
- + for ac_prog in cl.exe
- +do
- + # Extract the first word of "$ac_prog", so it can be a program name with args.
- +set dummy $ac_prog; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_CC+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_CC"; then
- + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_CC="$ac_prog"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_CC=$ac_cv_prog_ac_ct_CC
- +if test -n "$ac_ct_CC"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
- +$as_echo "$ac_ct_CC" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + test -n "$ac_ct_CC" && break
- +done
- +
- + if test "x$ac_ct_CC" = x; then
- + CC=""
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + CC=$ac_ct_CC
- + fi
- +fi
- +
- +fi
- +
- +
- +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error $? "no acceptable C compiler found in \$PATH
- +See \`config.log' for more details" "$LINENO" 5; }
- +
- +# Provide some information about the compiler.
- +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
- +set X $ac_compile
- +ac_compiler=$2
- +for ac_option in --version -v -V -qversion; do
- + { { ac_try="$ac_compiler $ac_option >&5"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- + ac_status=$?
- + if test -s conftest.err; then
- + sed '10a\
- +... rest of stderr output deleted ...
- + 10q' conftest.err >conftest.er1
- + cat conftest.er1 >&5
- + fi
- + rm -f conftest.er1 conftest.err
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }
- +done
- +
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +ac_clean_files_save=$ac_clean_files
- +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
- +# Try to create an executable without -o first, disregard a.out.
- +# It will help us diagnose broken compilers, and finding out an intuition
- +# of exeext.
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
- +$as_echo_n "checking whether the C compiler works... " >&6; }
- +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
- +
- +# The possible output files:
- +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
- +
- +ac_rmfiles=
- +for ac_file in $ac_files
- +do
- + case $ac_file in
- + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- + * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- + esac
- +done
- +rm -f $ac_rmfiles
- +
- +if { { ac_try="$ac_link_default"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_link_default") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then :
- + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
- +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
- +# in a Makefile. We should not override ac_cv_exeext if it was cached,
- +# so that the user can short-circuit this test for compilers unknown to
- +# Autoconf.
- +for ac_file in $ac_files ''
- +do
- + test -f "$ac_file" || continue
- + case $ac_file in
- + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- + ;;
- + [ab].out )
- + # We found the default executable, but exeext='' is most
- + # certainly right.
- + break;;
- + *.* )
- + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- + then :; else
- + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- + fi
- + # We set ac_cv_exeext here because the later test for it is not
- + # safe: cross compilers may not add the suffix if given an `-o'
- + # argument, so we may need to know it at that point already.
- + # Even if this section looks crufty: it has the advantage of
- + # actually working.
- + break;;
- + * )
- + break;;
- + esac
- +done
- +test "$ac_cv_exeext" = no && ac_cv_exeext=
- +
- +else
- + ac_file=''
- +fi
- +if test -z "$ac_file"; then :
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +$as_echo "$as_me: failed program was:" >&5
- +sed 's/^/| /' conftest.$ac_ext >&5
- +
- +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error 77 "C compiler cannot create executables
- +See \`config.log' for more details" "$LINENO" 5; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- +$as_echo "yes" >&6; }
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
- +$as_echo_n "checking for C compiler default output file name... " >&6; }
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
- +$as_echo "$ac_file" >&6; }
- +ac_exeext=$ac_cv_exeext
- +
- +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
- +ac_clean_files=$ac_clean_files_save
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
- +$as_echo_n "checking for suffix of executables... " >&6; }
- +if { { ac_try="$ac_link"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_link") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then :
- + # If both `conftest.exe' and `conftest' are `present' (well, observable)
- +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
- +# work properly (i.e., refer to `conftest.exe'), while it won't with
- +# `rm'.
- +for ac_file in conftest.exe conftest conftest.*; do
- + test -f "$ac_file" || continue
- + case $ac_file in
- + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- + break;;
- + * ) break;;
- + esac
- +done
- +else
- + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error $? "cannot compute suffix of executables: cannot compile and link
- +See \`config.log' for more details" "$LINENO" 5; }
- +fi
- +rm -f conftest conftest$ac_cv_exeext
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
- +$as_echo "$ac_cv_exeext" >&6; }
- +
- +rm -f conftest.$ac_ext
- +EXEEXT=$ac_cv_exeext
- +ac_exeext=$EXEEXT
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <stdio.h>
- +int
- +main ()
- +{
- +FILE *f = fopen ("conftest.out", "w");
- + return ferror (f) || fclose (f) != 0;
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +ac_clean_files="$ac_clean_files conftest.out"
- +# Check that the compiler produces executables we can run. If not, either
- +# the compiler is broken, or we cross compile.
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
- +$as_echo_n "checking whether we are cross compiling... " >&6; }
- +if test "$cross_compiling" != yes; then
- + { { ac_try="$ac_link"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_link") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }
- + if { ac_try='./conftest$ac_cv_exeext'
- + { { case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_try") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; }; then
- + cross_compiling=no
- + else
- + if test "$cross_compiling" = maybe; then
- + cross_compiling=yes
- + else
- + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error $? "cannot run C compiled programs.
- +If you meant to cross compile, use \`--host'.
- +See \`config.log' for more details" "$LINENO" 5; }
- + fi
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
- +$as_echo "$cross_compiling" >&6; }
- +
- +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
- +ac_clean_files=$ac_clean_files_save
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
- +$as_echo_n "checking for suffix of object files... " >&6; }
- +if ${ac_cv_objext+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +rm -f conftest.o conftest.obj
- +if { { ac_try="$ac_compile"
- +case "(($ac_try" in
- + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- + *) ac_try_echo=$ac_try;;
- +esac
- +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- +$as_echo "$ac_try_echo"; } >&5
- + (eval "$ac_compile") 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then :
- + for ac_file in conftest.o conftest.obj conftest.*; do
- + test -f "$ac_file" || continue;
- + case $ac_file in
- + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- + break;;
- + esac
- +done
- +else
- + $as_echo "$as_me: failed program was:" >&5
- +sed 's/^/| /' conftest.$ac_ext >&5
- +
- +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error $? "cannot compute suffix of object files: cannot compile
- +See \`config.log' for more details" "$LINENO" 5; }
- +fi
- +rm -f conftest.$ac_cv_objext conftest.$ac_ext
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
- +$as_echo "$ac_cv_objext" >&6; }
- +OBJEXT=$ac_cv_objext
- +ac_objext=$OBJEXT
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
- +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
- +if ${ac_cv_c_compiler_gnu+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +#ifndef __GNUC__
- + choke me
- +#endif
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_compiler_gnu=yes
- +else
- + ac_compiler_gnu=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +ac_cv_c_compiler_gnu=$ac_compiler_gnu
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
- +$as_echo "$ac_cv_c_compiler_gnu" >&6; }
- +if test $ac_compiler_gnu = yes; then
- + GCC=yes
- +else
- + GCC=
- +fi
- +ac_test_CFLAGS=${CFLAGS+set}
- +ac_save_CFLAGS=$CFLAGS
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
- +$as_echo_n "checking whether $CC accepts -g... " >&6; }
- +if ${ac_cv_prog_cc_g+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_save_c_werror_flag=$ac_c_werror_flag
- + ac_c_werror_flag=yes
- + ac_cv_prog_cc_g=no
- + CFLAGS="-g"
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_prog_cc_g=yes
- +else
- + CFLAGS=""
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- +
- +else
- + ac_c_werror_flag=$ac_save_c_werror_flag
- + CFLAGS="-g"
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_prog_cc_g=yes
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- + ac_c_werror_flag=$ac_save_c_werror_flag
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
- +$as_echo "$ac_cv_prog_cc_g" >&6; }
- +if test "$ac_test_CFLAGS" = set; then
- + CFLAGS=$ac_save_CFLAGS
- +elif test $ac_cv_prog_cc_g = yes; then
- + if test "$GCC" = yes; then
- + CFLAGS="-g -O2"
- + else
- + CFLAGS="-g"
- + fi
- +else
- + if test "$GCC" = yes; then
- + CFLAGS="-O2"
- + else
- + CFLAGS=
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
- +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
- +if ${ac_cv_prog_cc_c89+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_cv_prog_cc_c89=no
- +ac_save_CC=$CC
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <stdarg.h>
- +#include <stdio.h>
- +struct stat;
- +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
- +struct buf { int x; };
- +FILE * (*rcsopen) (struct buf *, struct stat *, int);
- +static char *e (p, i)
- + char **p;
- + int i;
- +{
- + return p[i];
- +}
- +static char *f (char * (*g) (char **, int), char **p, ...)
- +{
- + char *s;
- + va_list v;
- + va_start (v,p);
- + s = g (p, va_arg (v,int));
- + va_end (v);
- + return s;
- +}
- +
- +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- + function prototypes and stuff, but not '\xHH' hex character constants.
- + These don't provoke an error unfortunately, instead are silently treated
- + as 'x'. The following induces an error, until -std is added to get
- + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- + array size at least. It's necessary to write '\x00'==0 to get something
- + that's true only with -std. */
- +int osf4_cc_array ['\x00' == 0 ? 1 : -1];
- +
- +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- + inside strings and character constants. */
- +#define FOO(x) 'x'
- +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
- +
- +int test (int i, double x);
- +struct s1 {int (*f) (int a);};
- +struct s2 {int (*f) (double a);};
- +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
- +int argc;
- +char **argv;
- +int
- +main ()
- +{
- +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- + ;
- + return 0;
- +}
- +_ACEOF
- +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
- +do
- + CC="$ac_save_CC $ac_arg"
- + if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_prog_cc_c89=$ac_arg
- +fi
- +rm -f core conftest.err conftest.$ac_objext
- + test "x$ac_cv_prog_cc_c89" != "xno" && break
- +done
- +rm -f conftest.$ac_ext
- +CC=$ac_save_CC
- +
- +fi
- +# AC_CACHE_VAL
- +case "x$ac_cv_prog_cc_c89" in
- + x)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
- +$as_echo "none needed" >&6; } ;;
- + xno)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
- +$as_echo "unsupported" >&6; } ;;
- + *)
- + CC="$CC $ac_cv_prog_cc_c89"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
- +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
- +esac
- +if test "x$ac_cv_prog_cc_c89" != xno; then :
- +
- +fi
- +
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- +ac_aux_dir=
- +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- + if test -f "$ac_dir/install-sh"; then
- + ac_aux_dir=$ac_dir
- + ac_install_sh="$ac_aux_dir/install-sh -c"
- + break
- + elif test -f "$ac_dir/install.sh"; then
- + ac_aux_dir=$ac_dir
- + ac_install_sh="$ac_aux_dir/install.sh -c"
- + break
- + elif test -f "$ac_dir/shtool"; then
- + ac_aux_dir=$ac_dir
- + ac_install_sh="$ac_aux_dir/shtool install -c"
- + break
- + fi
- +done
- +if test -z "$ac_aux_dir"; then
- + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
- +fi
- +
- +# These three variables are undocumented and unsupported,
- +# and are intended to be withdrawn in a future Autoconf release.
- +# They can cause serious problems if a builder's source tree is in a directory
- +# whose full name contains unusual characters.
- +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
- +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
- +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
- +
- +
- +# Make sure we can run config.sub.
- +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
- +$as_echo_n "checking build system type... " >&6; }
- +if ${ac_cv_build+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_build_alias=$build_alias
- +test "x$ac_build_alias" = x &&
- + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
- +test "x$ac_build_alias" = x &&
- + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
- +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
- +$as_echo "$ac_cv_build" >&6; }
- +case $ac_cv_build in
- +*-*-*) ;;
- +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
- +esac
- +build=$ac_cv_build
- +ac_save_IFS=$IFS; IFS='-'
- +set x $ac_cv_build
- +shift
- +build_cpu=$1
- +build_vendor=$2
- +shift; shift
- +# Remember, the first character of IFS is used to create $*,
- +# except with old shells:
- +build_os=$*
- +IFS=$ac_save_IFS
- +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
- +$as_echo_n "checking host system type... " >&6; }
- +if ${ac_cv_host+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test "x$host_alias" = x; then
- + ac_cv_host=$ac_cv_build
- +else
- + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
- +fi
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
- +$as_echo "$ac_cv_host" >&6; }
- +case $ac_cv_host in
- +*-*-*) ;;
- +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
- +esac
- +host=$ac_cv_host
- +ac_save_IFS=$IFS; IFS='-'
- +set x $ac_cv_host
- +shift
- +host_cpu=$1
- +host_vendor=$2
- +shift; shift
- +# Remember, the first character of IFS is used to create $*,
- +# except with old shells:
- +host_os=$*
- +IFS=$ac_save_IFS
- +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
- +$as_echo_n "checking target system type... " >&6; }
- +if ${ac_cv_target+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test "x$target_alias" = x; then
- + ac_cv_target=$ac_cv_host
- +else
- + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
- +fi
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
- +$as_echo "$ac_cv_target" >&6; }
- +case $ac_cv_target in
- +*-*-*) ;;
- +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
- +esac
- +target=$ac_cv_target
- +ac_save_IFS=$IFS; IFS='-'
- +set x $ac_cv_target
- +shift
- +target_cpu=$1
- +target_vendor=$2
- +shift; shift
- +# Remember, the first character of IFS is used to create $*,
- +# except with old shells:
- +target_os=$*
- +IFS=$ac_save_IFS
- +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
- +
- +
- +# The aliases save the names the user supplied, while $host etc.
- +# will get canonicalized.
- +test -n "$target_alias" &&
- + test "$program_prefix$program_suffix$program_transform_name" = \
- + NONENONEs,x,x, &&
- + program_prefix=${target_alias}-
- +
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
- +$as_echo_n "checking how to run the C preprocessor... " >&6; }
- +# On Suns, sometimes $CPP names a directory.
- +if test -n "$CPP" && test -d "$CPP"; then
- + CPP=
- +fi
- +if test -z "$CPP"; then
- + if ${ac_cv_prog_CPP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + # Double quotes because CPP needs to be expanded
- + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- + do
- + ac_preproc_ok=false
- +for ac_c_preproc_warn_flag in '' yes
- +do
- + # Use a header file that comes with gcc, so configuring glibc
- + # with a fresh cross-compiler works.
- + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- + # <limits.h> exists even on freestanding compilers.
- + # On the NeXT, cc -E runs the code through the compiler's parser,
- + # not just through cpp. "Syntax error" is here to catch this case.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#ifdef __STDC__
- +# include <limits.h>
- +#else
- +# include <assert.h>
- +#endif
- + Syntax error
- +_ACEOF
- +if ac_fn_c_try_cpp "$LINENO"; then :
- +
- +else
- + # Broken: fails on valid input.
- +continue
- +fi
- +rm -f conftest.err conftest.i conftest.$ac_ext
- +
- + # OK, works on sane cases. Now check whether nonexistent headers
- + # can be detected and how.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <ac_nonexistent.h>
- +_ACEOF
- +if ac_fn_c_try_cpp "$LINENO"; then :
- + # Broken: success on invalid input.
- +continue
- +else
- + # Passes both tests.
- +ac_preproc_ok=:
- +break
- +fi
- +rm -f conftest.err conftest.i conftest.$ac_ext
- +
- +done
- +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
- +rm -f conftest.i conftest.err conftest.$ac_ext
- +if $ac_preproc_ok; then :
- + break
- +fi
- +
- + done
- + ac_cv_prog_CPP=$CPP
- +
- +fi
- + CPP=$ac_cv_prog_CPP
- +else
- + ac_cv_prog_CPP=$CPP
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
- +$as_echo "$CPP" >&6; }
- +ac_preproc_ok=false
- +for ac_c_preproc_warn_flag in '' yes
- +do
- + # Use a header file that comes with gcc, so configuring glibc
- + # with a fresh cross-compiler works.
- + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- + # <limits.h> exists even on freestanding compilers.
- + # On the NeXT, cc -E runs the code through the compiler's parser,
- + # not just through cpp. "Syntax error" is here to catch this case.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#ifdef __STDC__
- +# include <limits.h>
- +#else
- +# include <assert.h>
- +#endif
- + Syntax error
- +_ACEOF
- +if ac_fn_c_try_cpp "$LINENO"; then :
- +
- +else
- + # Broken: fails on valid input.
- +continue
- +fi
- +rm -f conftest.err conftest.i conftest.$ac_ext
- +
- + # OK, works on sane cases. Now check whether nonexistent headers
- + # can be detected and how.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <ac_nonexistent.h>
- +_ACEOF
- +if ac_fn_c_try_cpp "$LINENO"; then :
- + # Broken: success on invalid input.
- +continue
- +else
- + # Passes both tests.
- +ac_preproc_ok=:
- +break
- +fi
- +rm -f conftest.err conftest.i conftest.$ac_ext
- +
- +done
- +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
- +rm -f conftest.i conftest.err conftest.$ac_ext
- +if $ac_preproc_ok; then :
- +
- +else
- + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
- +See \`config.log' for more details" "$LINENO" 5; }
- +fi
- +
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
- +$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
- +if ${ac_cv_path_GREP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -z "$GREP"; then
- + ac_path_GREP_found=false
- + # Loop through the user's path and test for each of PROGNAME-LIST
- + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_prog in grep ggrep; do
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- + as_fn_executable_p "$ac_path_GREP" || continue
- +# Check for GNU ac_path_GREP and select it if it is found.
- + # Check for GNU $ac_path_GREP
- +case `"$ac_path_GREP" --version 2>&1` in
- +*GNU*)
- + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
- +*)
- + ac_count=0
- + $as_echo_n 0123456789 >"conftest.in"
- + while :
- + do
- + cat "conftest.in" "conftest.in" >"conftest.tmp"
- + mv "conftest.tmp" "conftest.in"
- + cp "conftest.in" "conftest.nl"
- + $as_echo 'GREP' >> "conftest.nl"
- + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- + as_fn_arith $ac_count + 1 && ac_count=$as_val
- + if test $ac_count -gt ${ac_path_GREP_max-0}; then
- + # Best one so far, save it but keep looking for a better one
- + ac_cv_path_GREP="$ac_path_GREP"
- + ac_path_GREP_max=$ac_count
- + fi
- + # 10*(2^10) chars as input seems more than enough
- + test $ac_count -gt 10 && break
- + done
- + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
- +esac
- +
- + $ac_path_GREP_found && break 3
- + done
- + done
- + done
- +IFS=$as_save_IFS
- + if test -z "$ac_cv_path_GREP"; then
- + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- + fi
- +else
- + ac_cv_path_GREP=$GREP
- +fi
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
- +$as_echo "$ac_cv_path_GREP" >&6; }
- + GREP="$ac_cv_path_GREP"
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
- +$as_echo_n "checking for egrep... " >&6; }
- +if ${ac_cv_path_EGREP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- + then ac_cv_path_EGREP="$GREP -E"
- + else
- + if test -z "$EGREP"; then
- + ac_path_EGREP_found=false
- + # Loop through the user's path and test for each of PROGNAME-LIST
- + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_prog in egrep; do
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- + as_fn_executable_p "$ac_path_EGREP" || continue
- +# Check for GNU ac_path_EGREP and select it if it is found.
- + # Check for GNU $ac_path_EGREP
- +case `"$ac_path_EGREP" --version 2>&1` in
- +*GNU*)
- + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
- +*)
- + ac_count=0
- + $as_echo_n 0123456789 >"conftest.in"
- + while :
- + do
- + cat "conftest.in" "conftest.in" >"conftest.tmp"
- + mv "conftest.tmp" "conftest.in"
- + cp "conftest.in" "conftest.nl"
- + $as_echo 'EGREP' >> "conftest.nl"
- + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- + as_fn_arith $ac_count + 1 && ac_count=$as_val
- + if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- + # Best one so far, save it but keep looking for a better one
- + ac_cv_path_EGREP="$ac_path_EGREP"
- + ac_path_EGREP_max=$ac_count
- + fi
- + # 10*(2^10) chars as input seems more than enough
- + test $ac_count -gt 10 && break
- + done
- + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
- +esac
- +
- + $ac_path_EGREP_found && break 3
- + done
- + done
- + done
- +IFS=$as_save_IFS
- + if test -z "$ac_cv_path_EGREP"; then
- + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- + fi
- +else
- + ac_cv_path_EGREP=$EGREP
- +fi
- +
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
- +$as_echo "$ac_cv_path_EGREP" >&6; }
- + EGREP="$ac_cv_path_EGREP"
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
- +$as_echo_n "checking for ANSI C header files... " >&6; }
- +if ${ac_cv_header_stdc+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <stdlib.h>
- +#include <stdarg.h>
- +#include <string.h>
- +#include <float.h>
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_header_stdc=yes
- +else
- + ac_cv_header_stdc=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +
- +if test $ac_cv_header_stdc = yes; then
- + # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <string.h>
- +
- +_ACEOF
- +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- + $EGREP "memchr" >/dev/null 2>&1; then :
- +
- +else
- + ac_cv_header_stdc=no
- +fi
- +rm -f conftest*
- +
- +fi
- +
- +if test $ac_cv_header_stdc = yes; then
- + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <stdlib.h>
- +
- +_ACEOF
- +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- + $EGREP "free" >/dev/null 2>&1; then :
- +
- +else
- + ac_cv_header_stdc=no
- +fi
- +rm -f conftest*
- +
- +fi
- +
- +if test $ac_cv_header_stdc = yes; then
- + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- + if test "$cross_compiling" = yes; then :
- + :
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <ctype.h>
- +#include <stdlib.h>
- +#if ((' ' & 0x0FF) == 0x020)
- +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
- +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
- +#else
- +# define ISLOWER(c) \
- + (('a' <= (c) && (c) <= 'i') \
- + || ('j' <= (c) && (c) <= 'r') \
- + || ('s' <= (c) && (c) <= 'z'))
- +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
- +#endif
- +
- +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
- +int
- +main ()
- +{
- + int i;
- + for (i = 0; i < 256; i++)
- + if (XOR (islower (i), ISLOWER (i))
- + || toupper (i) != TOUPPER (i))
- + return 2;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_run "$LINENO"; then :
- +
- +else
- + ac_cv_header_stdc=no
- +fi
- +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- + conftest.$ac_objext conftest.beam conftest.$ac_ext
- +fi
- +
- +fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
- +$as_echo "$ac_cv_header_stdc" >&6; }
- +if test $ac_cv_header_stdc = yes; then
- +
- +$as_echo "#define STDC_HEADERS 1" >>confdefs.h
- +
- +fi
- +
- +# On IRIX 5.3, sys/types and inttypes.h are conflicting.
- +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- + inttypes.h stdint.h unistd.h
- +do :
- + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
- +"
- +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +
- +done
- +
- +
- +
- + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
- +if test "x$ac_cv_header_minix_config_h" = xyes; then :
- + MINIX=yes
- +else
- + MINIX=
- +fi
- +
- +
- + if test "$MINIX" = yes; then
- +
- +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
- +
- +
- +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
- +
- +
- +$as_echo "#define _MINIX 1" >>confdefs.h
- +
- + fi
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
- +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
- +if ${ac_cv_safe_to_define___extensions__+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +# define __EXTENSIONS__ 1
- + $ac_includes_default
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_safe_to_define___extensions__=yes
- +else
- + ac_cv_safe_to_define___extensions__=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
- +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- + test $ac_cv_safe_to_define___extensions__ = yes &&
- + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
- +
- + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
- +
- + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
- +
- + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
- +
- + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
- +
- +
- +test "$program_prefix" != NONE &&
- + program_transform_name="s&^&$program_prefix&;$program_transform_name"
- +# Use a double $ so make ignores it.
- +test "$program_suffix" != NONE &&
- + program_transform_name="s&\$&$program_suffix&;$program_transform_name"
- +# Double any \ or $.
- +# By default was `s,x,x', remove it if useless.
- +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
- +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
- +
- +# Find a good install program. We prefer a C program (faster),
- +# so one script is as good as another. But avoid the broken or
- +# incompatible versions:
- +# SysV /etc/install, /usr/sbin/install
- +# SunOS /usr/etc/install
- +# IRIX /sbin/install
- +# AIX /bin/install
- +# AmigaOS /C/install, which installs bootblocks on floppy discs
- +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
- +# AFS /usr/afsws/bin/install, which mishandles nonexistent args
- +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- +# OS/2's system install, which has a completely different semantic
- +# ./install, which can be erroneously created by make from ./install.sh.
- +# Reject install programs that cannot install multiple files.
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
- +$as_echo_n "checking for a BSD-compatible install... " >&6; }
- +if test -z "$INSTALL"; then
- +if ${ac_cv_path_install+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + # Account for people who put trailing slashes in PATH elements.
- +case $as_dir/ in #((
- + ./ | .// | /[cC]/* | \
- + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- + /usr/ucb/* ) ;;
- + *)
- + # OSF1 and SCO ODT 3.0 have their own names for install.
- + # Don't use installbsd from OSF since it installs stuff as root
- + # by default.
- + for ac_prog in ginstall scoinst install; do
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- + if test $ac_prog = install &&
- + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- + # AIX install. It has an incompatible calling convention.
- + :
- + elif test $ac_prog = install &&
- + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- + # program-specific install script used by HP pwplus--don't use.
- + :
- + else
- + rm -rf conftest.one conftest.two conftest.dir
- + echo one > conftest.one
- + echo two > conftest.two
- + mkdir conftest.dir
- + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- + test -s conftest.one && test -s conftest.two &&
- + test -s conftest.dir/conftest.one &&
- + test -s conftest.dir/conftest.two
- + then
- + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- + break 3
- + fi
- + fi
- + fi
- + done
- + done
- + ;;
- +esac
- +
- + done
- +IFS=$as_save_IFS
- +
- +rm -rf conftest.one conftest.two conftest.dir
- +
- +fi
- + if test "${ac_cv_path_install+set}" = set; then
- + INSTALL=$ac_cv_path_install
- + else
- + # As a last resort, use the slow shell script. Don't cache a
- + # value for INSTALL within a source directory, because that will
- + # break other packages using the cache if that directory is
- + # removed, or if the value is a relative name.
- + INSTALL=$ac_install_sh
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
- +$as_echo "$INSTALL" >&6; }
- +
- +# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
- +# It thinks the first close brace ends the variable substitution.
- +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
- +
- +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
- +
- +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
- +
- +rm -rf .tst 2>/dev/null
- +mkdir .tst 2>/dev/null
- +if test -d .tst; then
- + am__leading_dot=.
- +else
- + am__leading_dot=_
- +fi
- +rmdir .tst 2>/dev/null
- +
- +DEPDIR="${am__leading_dot}deps"
- +
- +case `pwd` in
- + *\ * | *\ *)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
- +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
- +esac
- +
- +
- +
- +macro_version='2.2.7a'
- +macro_revision='1.3134'
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +ltmain="$ac_aux_dir/ltmain.sh"
- +
- +# Backslashify metacharacters that are still active within
- +# double-quoted strings.
- +sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
- +
- +# Same as above, but do not quote variable references.
- +double_quote_subst='s/\(["`\\]\)/\\\1/g'
- +
- +# Sed substitution to delay expansion of an escaped shell variable in a
- +# double_quote_subst'ed string.
- +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
- +
- +# Sed substitution to delay expansion of an escaped single quote.
- +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
- +
- +# Sed substitution to avoid accidental globbing in evaled expressions
- +no_glob_subst='s/\*/\\\*/g'
- +
- +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
- +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
- +$as_echo_n "checking how to print strings... " >&6; }
- +# Test print first, because it will be a builtin if present.
- +if test "X`print -r -- -n 2>/dev/null`" = X-n && \
- + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- + ECHO='print -r --'
- +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- + ECHO='printf %s\n'
- +else
- + # Use this function as a fallback that always works.
- + func_fallback_echo ()
- + {
- + eval 'cat <<_LTECHO_EOF
- +$1
- +_LTECHO_EOF'
- + }
- + ECHO='func_fallback_echo'
- +fi
- +
- +# func_echo_all arg...
- +# Invoke $ECHO with all args, space-separated.
- +func_echo_all ()
- +{
- + $ECHO ""
- +}
- +
- +case "$ECHO" in
- + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
- +$as_echo "printf" >&6; } ;;
- + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
- +$as_echo "print -r" >&6; } ;;
- + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
- +$as_echo "cat" >&6; } ;;
- +esac
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
- +$as_echo_n "checking for a sed that does not truncate output... " >&6; }
- +if ${ac_cv_path_SED+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- + for ac_i in 1 2 3 4 5 6 7; do
- + ac_script="$ac_script$as_nl$ac_script"
- + done
- + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- + { ac_script=; unset ac_script;}
- + if test -z "$SED"; then
- + ac_path_SED_found=false
- + # Loop through the user's path and test for each of PROGNAME-LIST
- + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_prog in sed gsed; do
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- + as_fn_executable_p "$ac_path_SED" || continue
- +# Check for GNU ac_path_SED and select it if it is found.
- + # Check for GNU $ac_path_SED
- +case `"$ac_path_SED" --version 2>&1` in
- +*GNU*)
- + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
- +*)
- + ac_count=0
- + $as_echo_n 0123456789 >"conftest.in"
- + while :
- + do
- + cat "conftest.in" "conftest.in" >"conftest.tmp"
- + mv "conftest.tmp" "conftest.in"
- + cp "conftest.in" "conftest.nl"
- + $as_echo '' >> "conftest.nl"
- + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- + as_fn_arith $ac_count + 1 && ac_count=$as_val
- + if test $ac_count -gt ${ac_path_SED_max-0}; then
- + # Best one so far, save it but keep looking for a better one
- + ac_cv_path_SED="$ac_path_SED"
- + ac_path_SED_max=$ac_count
- + fi
- + # 10*(2^10) chars as input seems more than enough
- + test $ac_count -gt 10 && break
- + done
- + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
- +esac
- +
- + $ac_path_SED_found && break 3
- + done
- + done
- + done
- +IFS=$as_save_IFS
- + if test -z "$ac_cv_path_SED"; then
- + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- + fi
- +else
- + ac_cv_path_SED=$SED
- +fi
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
- +$as_echo "$ac_cv_path_SED" >&6; }
- + SED="$ac_cv_path_SED"
- + rm -f conftest.sed
- +
- +test -z "$SED" && SED=sed
- +Xsed="$SED -e 1s/^X//"
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
- +$as_echo_n "checking for fgrep... " >&6; }
- +if ${ac_cv_path_FGREP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- + then ac_cv_path_FGREP="$GREP -F"
- + else
- + if test -z "$FGREP"; then
- + ac_path_FGREP_found=false
- + # Loop through the user's path and test for each of PROGNAME-LIST
- + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_prog in fgrep; do
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- + as_fn_executable_p "$ac_path_FGREP" || continue
- +# Check for GNU ac_path_FGREP and select it if it is found.
- + # Check for GNU $ac_path_FGREP
- +case `"$ac_path_FGREP" --version 2>&1` in
- +*GNU*)
- + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
- +*)
- + ac_count=0
- + $as_echo_n 0123456789 >"conftest.in"
- + while :
- + do
- + cat "conftest.in" "conftest.in" >"conftest.tmp"
- + mv "conftest.tmp" "conftest.in"
- + cp "conftest.in" "conftest.nl"
- + $as_echo 'FGREP' >> "conftest.nl"
- + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- + as_fn_arith $ac_count + 1 && ac_count=$as_val
- + if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- + # Best one so far, save it but keep looking for a better one
- + ac_cv_path_FGREP="$ac_path_FGREP"
- + ac_path_FGREP_max=$ac_count
- + fi
- + # 10*(2^10) chars as input seems more than enough
- + test $ac_count -gt 10 && break
- + done
- + rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
- +esac
- +
- + $ac_path_FGREP_found && break 3
- + done
- + done
- + done
- +IFS=$as_save_IFS
- + if test -z "$ac_cv_path_FGREP"; then
- + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- + fi
- +else
- + ac_cv_path_FGREP=$FGREP
- +fi
- +
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
- +$as_echo "$ac_cv_path_FGREP" >&6; }
- + FGREP="$ac_cv_path_FGREP"
- +
- +
- +test -z "$GREP" && GREP=grep
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# Check whether --with-gnu-ld was given.
- +if test "${with_gnu_ld+set}" = set; then :
- + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
- +else
- + with_gnu_ld=no
- +fi
- +
- +ac_prog=ld
- +if test "$GCC" = yes; then
- + # Check if gcc -print-prog-name=ld gives a path.
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
- +$as_echo_n "checking for ld used by $CC... " >&6; }
- + case $host in
- + *-*-mingw*)
- + # gcc leaves a trailing carriage return which upsets mingw
- + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- + *)
- + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- + esac
- + case $ac_prog in
- + # Accept absolute paths.
- + [\\/]* | ?:[\\/]*)
- + re_direlt='/[^/][^/]*/\.\./'
- + # Canonicalize the pathname of ld
- + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- + done
- + test -z "$LD" && LD="$ac_prog"
- + ;;
- + "")
- + # If it fails, then pretend we aren't using GCC.
- + ac_prog=ld
- + ;;
- + *)
- + # If it is relative, then search for the first ld in PATH.
- + with_gnu_ld=unknown
- + ;;
- + esac
- +elif test "$with_gnu_ld" = yes; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
- +$as_echo_n "checking for GNU ld... " >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
- +$as_echo_n "checking for non-GNU ld... " >&6; }
- +fi
- +if ${lt_cv_path_LD+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -z "$LD"; then
- + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- + for ac_dir in $PATH; do
- + IFS="$lt_save_ifs"
- + test -z "$ac_dir" && ac_dir=.
- + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- + lt_cv_path_LD="$ac_dir/$ac_prog"
- + # Check to see if the program is GNU ld. I'd rather use --version,
- + # but apparently some variants of GNU ld only accept -v.
- + # Break only if it was the GNU/non-GNU ld that we prefer.
- + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- + *GNU* | *'with BFD'*)
- + test "$with_gnu_ld" != no && break
- + ;;
- + *)
- + test "$with_gnu_ld" != yes && break
- + ;;
- + esac
- + fi
- + done
- + IFS="$lt_save_ifs"
- +else
- + lt_cv_path_LD="$LD" # Let the user override the test with a path.
- +fi
- +fi
- +
- +LD="$lt_cv_path_LD"
- +if test -n "$LD"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
- +$as_echo "$LD" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
- +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
- +if ${lt_cv_prog_gnu_ld+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + # I'd rather use --version here, but apparently some GNU lds only accept -v.
- +case `$LD -v 2>&1 </dev/null` in
- +*GNU* | *'with BFD'*)
- + lt_cv_prog_gnu_ld=yes
- + ;;
- +*)
- + lt_cv_prog_gnu_ld=no
- + ;;
- +esac
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
- +$as_echo "$lt_cv_prog_gnu_ld" >&6; }
- +with_gnu_ld=$lt_cv_prog_gnu_ld
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
- +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
- +if ${lt_cv_path_NM+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$NM"; then
- + # Let the user override the test.
- + lt_cv_path_NM="$NM"
- +else
- + lt_nm_to_check="${ac_tool_prefix}nm"
- + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- + lt_nm_to_check="$lt_nm_to_check nm"
- + fi
- + for lt_tmp_nm in $lt_nm_to_check; do
- + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- + IFS="$lt_save_ifs"
- + test -z "$ac_dir" && ac_dir=.
- + tmp_nm="$ac_dir/$lt_tmp_nm"
- + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- + # Check to see if the nm accepts a BSD-compat flag.
- + # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- + # nm: unknown option "B" ignored
- + # Tru64's nm complains that /dev/null is an invalid object file
- + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- + */dev/null* | *'Invalid file or object type'*)
- + lt_cv_path_NM="$tmp_nm -B"
- + break
- + ;;
- + *)
- + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- + */dev/null*)
- + lt_cv_path_NM="$tmp_nm -p"
- + break
- + ;;
- + *)
- + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- + continue # so that we can try to find one that supports BSD flags
- + ;;
- + esac
- + ;;
- + esac
- + fi
- + done
- + IFS="$lt_save_ifs"
- + done
- + : ${lt_cv_path_NM=no}
- +fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
- +$as_echo "$lt_cv_path_NM" >&6; }
- +if test "$lt_cv_path_NM" != "no"; then
- + NM="$lt_cv_path_NM"
- +else
- + # Didn't find any BSD compatible name lister, look for dumpbin.
- + if test -n "$DUMPBIN"; then :
- + # Let the user override the test.
- + else
- + if test -n "$ac_tool_prefix"; then
- + for ac_prog in dumpbin "link -dump"
- + do
- + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
- +set dummy $ac_tool_prefix$ac_prog; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_DUMPBIN+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$DUMPBIN"; then
- + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +DUMPBIN=$ac_cv_prog_DUMPBIN
- +if test -n "$DUMPBIN"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
- +$as_echo "$DUMPBIN" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + test -n "$DUMPBIN" && break
- + done
- +fi
- +if test -z "$DUMPBIN"; then
- + ac_ct_DUMPBIN=$DUMPBIN
- + for ac_prog in dumpbin "link -dump"
- +do
- + # Extract the first word of "$ac_prog", so it can be a program name with args.
- +set dummy $ac_prog; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_DUMPBIN"; then
- + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
- +if test -n "$ac_ct_DUMPBIN"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
- +$as_echo "$ac_ct_DUMPBIN" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + test -n "$ac_ct_DUMPBIN" && break
- +done
- +
- + if test "x$ac_ct_DUMPBIN" = x; then
- + DUMPBIN=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + DUMPBIN=$ac_ct_DUMPBIN
- + fi
- +fi
- +
- + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- + *COFF*)
- + DUMPBIN="$DUMPBIN -symbols"
- + ;;
- + *)
- + DUMPBIN=:
- + ;;
- + esac
- + fi
- +
- + if test "$DUMPBIN" != ":"; then
- + NM="$DUMPBIN"
- + fi
- +fi
- +test -z "$NM" && NM=nm
- +
- +
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
- +$as_echo_n "checking the name lister ($NM) interface... " >&6; }
- +if ${lt_cv_nm_interface+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_nm_interface="BSD nm"
- + echo "int some_variable = 0;" > conftest.$ac_ext
- + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- + (eval "$ac_compile" 2>conftest.err)
- + cat conftest.err >&5
- + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- + cat conftest.err >&5
- + (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- + cat conftest.out >&5
- + if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- + lt_cv_nm_interface="MS dumpbin"
- + fi
- + rm -f conftest*
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
- +$as_echo "$lt_cv_nm_interface" >&6; }
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
- +$as_echo_n "checking whether ln -s works... " >&6; }
- +LN_S=$as_ln_s
- +if test "$LN_S" = "ln -s"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- +$as_echo "yes" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
- +$as_echo "no, using $LN_S" >&6; }
- +fi
- +
- +# find the maximum length of command line arguments
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
- +$as_echo_n "checking the maximum length of command line arguments... " >&6; }
- +if ${lt_cv_sys_max_cmd_len+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + i=0
- + teststring="ABCD"
- +
- + case $build_os in
- + msdosdjgpp*)
- + # On DJGPP, this test can blow up pretty badly due to problems in libc
- + # (any single argument exceeding 2000 bytes causes a buffer overrun
- + # during glob expansion). Even if it were fixed, the result of this
- + # check would be larger than it should be.
- + lt_cv_sys_max_cmd_len=12288; # 12K is about right
- + ;;
- +
- + gnu*)
- + # Under GNU Hurd, this test is not required because there is
- + # no limit to the length of command line arguments.
- + # Libtool will interpret -1 as no limit whatsoever
- + lt_cv_sys_max_cmd_len=-1;
- + ;;
- +
- + cygwin* | mingw* | cegcc*)
- + # On Win9x/ME, this test blows up -- it succeeds, but takes
- + # about 5 minutes as the teststring grows exponentially.
- + # Worse, since 9x/ME are not pre-emptively multitasking,
- + # you end up with a "frozen" computer, even though with patience
- + # the test eventually succeeds (with a max line length of 256k).
- + # Instead, let's just punt: use the minimum linelength reported by
- + # all of the supported platforms: 8192 (on NT/2K/XP).
- + lt_cv_sys_max_cmd_len=8192;
- + ;;
- +
- + mint*)
- + # On MiNT this can take a long time and run out of memory.
- + lt_cv_sys_max_cmd_len=8192;
- + ;;
- +
- + amigaos*)
- + # On AmigaOS with pdksh, this test takes hours, literally.
- + # So we just punt and use a minimum line length of 8192.
- + lt_cv_sys_max_cmd_len=8192;
- + ;;
- +
- + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- + # This has been around since 386BSD, at least. Likely further.
- + if test -x /sbin/sysctl; then
- + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- + elif test -x /usr/sbin/sysctl; then
- + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- + else
- + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- + fi
- + # And add a safety zone
- + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- + ;;
- +
- + interix*)
- + # We know the value 262144 and hardcode it with a safety zone (like BSD)
- + lt_cv_sys_max_cmd_len=196608
- + ;;
- +
- + osf*)
- + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- + # nice to cause kernel panics so lets avoid the loop below.
- + # First set a reasonable default.
- + lt_cv_sys_max_cmd_len=16384
- + #
- + if test -x /sbin/sysconfig; then
- + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- + *1*) lt_cv_sys_max_cmd_len=-1 ;;
- + esac
- + fi
- + ;;
- + sco3.2v5*)
- + lt_cv_sys_max_cmd_len=102400
- + ;;
- + sysv5* | sco5v6* | sysv4.2uw2*)
- + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- + if test -n "$kargmax"; then
- + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- + else
- + lt_cv_sys_max_cmd_len=32768
- + fi
- + ;;
- + *)
- + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- + if test -n "$lt_cv_sys_max_cmd_len"; then
- + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- + else
- + # Make teststring a little bigger before we do anything with it.
- + # a 1K string should be a reasonable start.
- + for i in 1 2 3 4 5 6 7 8 ; do
- + teststring=$teststring$teststring
- + done
- + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- + # If test is not a shell built-in, we'll probably end up computing a
- + # maximum length that is only half of the actual maximum length, but
- + # we can't tell.
- + while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- + = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- + test $i != 17 # 1/2 MB should be enough
- + do
- + i=`expr $i + 1`
- + teststring=$teststring$teststring
- + done
- + # Only check the string length outside the loop.
- + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- + teststring=
- + # Add a significant safety factor because C++ compilers can tack on
- + # massive amounts of additional arguments before passing them to the
- + # linker. It appears as though 1/2 is a usable value.
- + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- + fi
- + ;;
- + esac
- +
- +fi
- +
- +if test -n $lt_cv_sys_max_cmd_len ; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
- +$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
- +$as_echo "none" >&6; }
- +fi
- +max_cmd_len=$lt_cv_sys_max_cmd_len
- +
- +
- +
- +
- +
- +
- +: ${CP="cp -f"}
- +: ${MV="mv -f"}
- +: ${RM="rm -f"}
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
- +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
- +# Try some XSI features
- +xsi_shell=no
- +( _lt_dummy="a/b/c"
- + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
- + = c,a/b,, \
- + && eval 'test $(( 1 + 1 )) -eq 2 \
- + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- + && xsi_shell=yes
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
- +$as_echo "$xsi_shell" >&6; }
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
- +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
- +lt_shell_append=no
- +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- + >/dev/null 2>&1 \
- + && lt_shell_append=yes
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
- +$as_echo "$lt_shell_append" >&6; }
- +
- +
- +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- + lt_unset=unset
- +else
- + lt_unset=false
- +fi
- +
- +
- +
- +
- +
- +# test EBCDIC or ASCII
- +case `echo X|tr X '\101'` in
- + A) # ASCII based system
- + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- + lt_SP2NL='tr \040 \012'
- + lt_NL2SP='tr \015\012 \040\040'
- + ;;
- + *) # EBCDIC based system
- + lt_SP2NL='tr \100 \n'
- + lt_NL2SP='tr \r\n \100\100'
- + ;;
- +esac
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
- +$as_echo_n "checking for $LD option to reload object files... " >&6; }
- +if ${lt_cv_ld_reload_flag+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_ld_reload_flag='-r'
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
- +$as_echo "$lt_cv_ld_reload_flag" >&6; }
- +reload_flag=$lt_cv_ld_reload_flag
- +case $reload_flag in
- +"" | " "*) ;;
- +*) reload_flag=" $reload_flag" ;;
- +esac
- +reload_cmds='$LD$reload_flag -o $output$reload_objs'
- +case $host_os in
- + darwin*)
- + if test "$GCC" = yes; then
- + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- + else
- + reload_cmds='$LD$reload_flag -o $output$reload_objs'
- + fi
- + ;;
- +esac
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}objdump; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_OBJDUMP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$OBJDUMP"; then
- + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +OBJDUMP=$ac_cv_prog_OBJDUMP
- +if test -n "$OBJDUMP"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
- +$as_echo "$OBJDUMP" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_OBJDUMP"; then
- + ac_ct_OBJDUMP=$OBJDUMP
- + # Extract the first word of "objdump", so it can be a program name with args.
- +set dummy objdump; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_OBJDUMP"; then
- + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_OBJDUMP="objdump"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
- +if test -n "$ac_ct_OBJDUMP"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
- +$as_echo "$ac_ct_OBJDUMP" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_OBJDUMP" = x; then
- + OBJDUMP="false"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + OBJDUMP=$ac_ct_OBJDUMP
- + fi
- +else
- + OBJDUMP="$ac_cv_prog_OBJDUMP"
- +fi
- +
- +test -z "$OBJDUMP" && OBJDUMP=objdump
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
- +$as_echo_n "checking how to recognize dependent libraries... " >&6; }
- +if ${lt_cv_deplibs_check_method+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_file_magic_cmd='$MAGIC_CMD'
- +lt_cv_file_magic_test_file=
- +lt_cv_deplibs_check_method='unknown'
- +# Need to set the preceding variable on all platforms that support
- +# interlibrary dependencies.
- +# 'none' -- dependencies not supported.
- +# `unknown' -- same as none, but documents that we really don't know.
- +# 'pass_all' -- all dependencies passed with no checks.
- +# 'test_compile' -- check by making test program.
- +# 'file_magic [[regex]]' -- check by looking for files in library path
- +# which responds to the $file_magic_cmd with a given extended regex.
- +# If you have `file' or equivalent on your system and you're not sure
- +# whether `pass_all' will *always* work, you probably want this one.
- +
- +case $host_os in
- +aix[4-9]*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +beos*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +bsdi[45]*)
- + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- + lt_cv_file_magic_cmd='/usr/bin/file -L'
- + lt_cv_file_magic_test_file=/shlib/libc.so
- + ;;
- +
- +cygwin*)
- + # func_win32_libid is a shell function defined in ltmain.sh
- + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- + lt_cv_file_magic_cmd='func_win32_libid'
- + ;;
- +
- +mingw* | pw32*)
- + # Base MSYS/MinGW do not provide the 'file' command needed by
- + # func_win32_libid shell function, so use a weaker test based on 'objdump',
- + # unless we find 'file', for example because we are cross-compiling.
- + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- + lt_cv_file_magic_cmd='func_win32_libid'
- + else
- + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- + lt_cv_file_magic_cmd='$OBJDUMP -f'
- + fi
- + ;;
- +
- +cegcc*)
- + # use the weaker test based on 'objdump'. See mingw*.
- + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- + lt_cv_file_magic_cmd='$OBJDUMP -f'
- + ;;
- +
- +darwin* | rhapsody*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +freebsd* | dragonfly*)
- + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- + case $host_cpu in
- + i*86 )
- + # Not sure whether the presence of OpenBSD here was a mistake.
- + # Let's accept both of them until this is cleared up.
- + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- + lt_cv_file_magic_cmd=/usr/bin/file
- + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- + ;;
- + esac
- + else
- + lt_cv_deplibs_check_method=pass_all
- + fi
- + ;;
- +
- +gnu*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +haiku*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +hpux10.20* | hpux11*)
- + lt_cv_file_magic_cmd=/usr/bin/file
- + case $host_cpu in
- + ia64*)
- + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- + ;;
- + hppa*64*)
- + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- + ;;
- + *)
- + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- + lt_cv_file_magic_test_file=/usr/lib/libc.sl
- + ;;
- + esac
- + ;;
- +
- +interix[3-9]*)
- + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- + ;;
- +
- +irix5* | irix6* | nonstopux*)
- + case $LD in
- + *-32|*"-32 ") libmagic=32-bit;;
- + *-n32|*"-n32 ") libmagic=N32;;
- + *-64|*"-64 ") libmagic=64-bit;;
- + *) libmagic=never-match;;
- + esac
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +# This must be Linux ELF.
- +linux* | k*bsd*-gnu | kopensolaris*-gnu)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +netbsd*)
- + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- + else
- + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- + fi
- + ;;
- +
- +newos6*)
- + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- + lt_cv_file_magic_cmd=/usr/bin/file
- + lt_cv_file_magic_test_file=/usr/lib/libnls.so
- + ;;
- +
- +*nto* | *qnx*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +openbsd*)
- + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- + else
- + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- + fi
- + ;;
- +
- +osf3* | osf4* | osf5*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +rdos*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +solaris*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +
- +sysv4 | sysv4.3*)
- + case $host_vendor in
- + motorola)
- + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- + ;;
- + ncr)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- + sequent)
- + lt_cv_file_magic_cmd='/bin/file'
- + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- + ;;
- + sni)
- + lt_cv_file_magic_cmd='/bin/file'
- + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- + lt_cv_file_magic_test_file=/lib/libc.so
- + ;;
- + siemens)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- + pc)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- + esac
- + ;;
- +
- +tpf*)
- + lt_cv_deplibs_check_method=pass_all
- + ;;
- +esac
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
- +$as_echo "$lt_cv_deplibs_check_method" >&6; }
- +file_magic_cmd=$lt_cv_file_magic_cmd
- +deplibs_check_method=$lt_cv_deplibs_check_method
- +test -z "$deplibs_check_method" && deplibs_check_method=unknown
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}ar; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_AR+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$AR"; then
- + ac_cv_prog_AR="$AR" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_AR="${ac_tool_prefix}ar"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +AR=$ac_cv_prog_AR
- +if test -n "$AR"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
- +$as_echo "$AR" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_AR"; then
- + ac_ct_AR=$AR
- + # Extract the first word of "ar", so it can be a program name with args.
- +set dummy ar; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_AR+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_AR"; then
- + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_AR="ar"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_AR=$ac_cv_prog_ac_ct_AR
- +if test -n "$ac_ct_AR"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
- +$as_echo "$ac_ct_AR" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_AR" = x; then
- + AR="false"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + AR=$ac_ct_AR
- + fi
- +else
- + AR="$ac_cv_prog_AR"
- +fi
- +
- +test -z "$AR" && AR=ar
- +test -z "$AR_FLAGS" && AR_FLAGS=cru
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}strip; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_STRIP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$STRIP"; then
- + ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +STRIP=$ac_cv_prog_STRIP
- +if test -n "$STRIP"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
- +$as_echo "$STRIP" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_STRIP"; then
- + ac_ct_STRIP=$STRIP
- + # Extract the first word of "strip", so it can be a program name with args.
- +set dummy strip; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_STRIP"; then
- + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_STRIP="strip"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
- +if test -n "$ac_ct_STRIP"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
- +$as_echo "$ac_ct_STRIP" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_STRIP" = x; then
- + STRIP=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + STRIP=$ac_ct_STRIP
- + fi
- +else
- + STRIP="$ac_cv_prog_STRIP"
- +fi
- +
- +test -z "$STRIP" && STRIP=:
- +
- +
- +
- +
- +
- +
- +if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}ranlib; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_RANLIB+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$RANLIB"; then
- + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +RANLIB=$ac_cv_prog_RANLIB
- +if test -n "$RANLIB"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
- +$as_echo "$RANLIB" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_RANLIB"; then
- + ac_ct_RANLIB=$RANLIB
- + # Extract the first word of "ranlib", so it can be a program name with args.
- +set dummy ranlib; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_RANLIB"; then
- + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_RANLIB="ranlib"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
- +if test -n "$ac_ct_RANLIB"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
- +$as_echo "$ac_ct_RANLIB" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_RANLIB" = x; then
- + RANLIB=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + RANLIB=$ac_ct_RANLIB
- + fi
- +else
- + RANLIB="$ac_cv_prog_RANLIB"
- +fi
- +
- +test -z "$RANLIB" && RANLIB=:
- +
- +
- +
- +
- +
- +
- +# Determine commands to create old-style static archives.
- +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
- +old_postinstall_cmds='chmod 644 $oldlib'
- +old_postuninstall_cmds=
- +
- +if test -n "$RANLIB"; then
- + case $host_os in
- + openbsd*)
- + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- + ;;
- + *)
- + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- + ;;
- + esac
- + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
- +fi
- +
- +case $host_os in
- + darwin*)
- + lock_old_archive_extraction=yes ;;
- + *)
- + lock_old_archive_extraction=no ;;
- +esac
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +for ac_prog in gawk mawk nawk awk
- +do
- + # Extract the first word of "$ac_prog", so it can be a program name with args.
- +set dummy $ac_prog; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_AWK+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$AWK"; then
- + ac_cv_prog_AWK="$AWK" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_AWK="$ac_prog"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +AWK=$ac_cv_prog_AWK
- +if test -n "$AWK"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
- +$as_echo "$AWK" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + test -n "$AWK" && break
- +done
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# If no C compiler was specified, use CC.
- +LTCC=${LTCC-"$CC"}
- +
- +# If no C compiler flags were specified, use CFLAGS.
- +LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
- +
- +# Allow CC to be a program name with arguments.
- +compiler=$CC
- +
- +
- +# Check for command to grab the raw symbol name followed by C symbol from nm.
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
- +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
- +if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- +
- +# These are sane defaults that work on at least a few old systems.
- +# [They come from Ultrix. What could be older than Ultrix?!! ;)]
- +
- +# Character class describing NM global symbol codes.
- +symcode='[BCDEGRST]'
- +
- +# Regexp to match symbols that can be accessed directly from C.
- +sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
- +
- +# Define system-specific variables.
- +case $host_os in
- +aix*)
- + symcode='[BCDT]'
- + ;;
- +cygwin* | mingw* | pw32* | cegcc*)
- + symcode='[ABCDGISTW]'
- + ;;
- +hpux*)
- + if test "$host_cpu" = ia64; then
- + symcode='[ABCDEGRST]'
- + fi
- + ;;
- +irix* | nonstopux*)
- + symcode='[BCDEGRST]'
- + ;;
- +osf*)
- + symcode='[BCDEGQRST]'
- + ;;
- +solaris*)
- + symcode='[BDRT]'
- + ;;
- +sco3.2v5*)
- + symcode='[DT]'
- + ;;
- +sysv4.2uw2*)
- + symcode='[DT]'
- + ;;
- +sysv5* | sco5v6* | unixware* | OpenUNIX*)
- + symcode='[ABDT]'
- + ;;
- +sysv4)
- + symcode='[DFNSTU]'
- + ;;
- +esac
- +
- +# If we're using GNU nm, then use its standard symbol codes.
- +case `$NM -V 2>&1` in
- +*GNU* | *'with BFD'*)
- + symcode='[ABCDGIRSTW]' ;;
- +esac
- +
- +# Transform an extracted symbol line into a proper C declaration.
- +# Some systems (esp. on ia64) link data and code symbols differently,
- +# so use this general approach.
- +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- +
- +# Transform an extracted symbol line into symbol name and symbol address
- +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
- +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
- +
- +# Handle CRLF in mingw tool chain
- +opt_cr=
- +case $build_os in
- +mingw*)
- + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- + ;;
- +esac
- +
- +# Try without a prefix underscore, then with it.
- +for ac_symprfx in "" "_"; do
- +
- + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- + symxfrm="\\1 $ac_symprfx\\2 \\2"
- +
- + # Write the raw and C identifiers.
- + if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- + # Fake it for dumpbin and say T for any non-static function
- + # and D for any global variable.
- + # Also find C++ and __fastcall symbols from MSVC++,
- + # which start with @ or ?.
- + lt_cv_sys_global_symbol_pipe="$AWK '"\
- +" {last_section=section; section=\$ 3};"\
- +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
- +" \$ 0!~/External *\|/{next};"\
- +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
- +" {if(hide[section]) next};"\
- +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
- +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
- +" s[1]~/^[@?]/{print s[1], s[1]; next};"\
- +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
- +" ' prfx=^$ac_symprfx"
- + else
- + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- + fi
- +
- + # Check to see that the pipe works correctly.
- + pipe_works=no
- +
- + rm -f conftest*
- + cat > conftest.$ac_ext <<_LT_EOF
- +#ifdef __cplusplus
- +extern "C" {
- +#endif
- +char nm_test_var;
- +void nm_test_func(void);
- +void nm_test_func(void){}
- +#ifdef __cplusplus
- +}
- +#endif
- +int main(){nm_test_var='a';nm_test_func();return(0);}
- +_LT_EOF
- +
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- + (eval $ac_compile) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then
- + # Now try to grab the symbols.
- + nlist=conftest.nm
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && test -s "$nlist"; then
- + # Try sorting and uniquifying the output.
- + if sort "$nlist" | uniq > "$nlist"T; then
- + mv -f "$nlist"T "$nlist"
- + else
- + rm -f "$nlist"T
- + fi
- +
- + # Make sure that we snagged all the symbols we need.
- + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- + cat <<_LT_EOF > conftest.$ac_ext
- +#ifdef __cplusplus
- +extern "C" {
- +#endif
- +
- +_LT_EOF
- + # Now generate the symbol file.
- + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
- +
- + cat <<_LT_EOF >> conftest.$ac_ext
- +
- +/* The mapping between symbol names and symbols. */
- +const struct {
- + const char *name;
- + void *address;
- +}
- +lt__PROGRAM__LTX_preloaded_symbols[] =
- +{
- + { "@PROGRAM@", (void *) 0 },
- +_LT_EOF
- + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- + cat <<\_LT_EOF >> conftest.$ac_ext
- + {0, (void *) 0}
- +};
- +
- +/* This works around a problem in FreeBSD linker */
- +#ifdef FREEBSD_WORKAROUND
- +static const void *lt_preloaded_setup() {
- + return lt__PROGRAM__LTX_preloaded_symbols;
- +}
- +#endif
- +
- +#ifdef __cplusplus
- +}
- +#endif
- +_LT_EOF
- + # Now try linking the two files.
- + mv conftest.$ac_objext conftstm.$ac_objext
- + lt_save_LIBS="$LIBS"
- + lt_save_CFLAGS="$CFLAGS"
- + LIBS="conftstm.$ac_objext"
- + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- + (eval $ac_link) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- + pipe_works=yes
- + fi
- + LIBS="$lt_save_LIBS"
- + CFLAGS="$lt_save_CFLAGS"
- + else
- + echo "cannot find nm_test_func in $nlist" >&5
- + fi
- + else
- + echo "cannot find nm_test_var in $nlist" >&5
- + fi
- + else
- + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- + fi
- + else
- + echo "$progname: failed program was:" >&5
- + cat conftest.$ac_ext >&5
- + fi
- + rm -rf conftest* conftst*
- +
- + # Do not use the global_symbol_pipe unless it works.
- + if test "$pipe_works" = yes; then
- + break
- + else
- + lt_cv_sys_global_symbol_pipe=
- + fi
- +done
- +
- +fi
- +
- +if test -z "$lt_cv_sys_global_symbol_pipe"; then
- + lt_cv_sys_global_symbol_to_cdecl=
- +fi
- +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
- +$as_echo "failed" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
- +$as_echo "ok" >&6; }
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# Check whether --enable-libtool-lock was given.
- +if test "${enable_libtool_lock+set}" = set; then :
- + enableval=$enable_libtool_lock;
- +fi
- +
- +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
- +
- +# Some flags need to be propagated to the compiler or linker for good
- +# libtool support.
- +case $host in
- +ia64-*-hpux*)
- + # Find out which ABI we are using.
- + echo 'int i;' > conftest.$ac_ext
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- + (eval $ac_compile) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then
- + case `/usr/bin/file conftest.$ac_objext` in
- + *ELF-32*)
- + HPUX_IA64_MODE="32"
- + ;;
- + *ELF-64*)
- + HPUX_IA64_MODE="64"
- + ;;
- + esac
- + fi
- + rm -rf conftest*
- + ;;
- +*-*-irix6*)
- + # Find out which ABI we are using.
- + echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- + (eval $ac_compile) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then
- + if test "$lt_cv_prog_gnu_ld" = yes; then
- + case `/usr/bin/file conftest.$ac_objext` in
- + *32-bit*)
- + LD="${LD-ld} -melf32bsmip"
- + ;;
- + *N32*)
- + LD="${LD-ld} -melf32bmipn32"
- + ;;
- + *64-bit*)
- + LD="${LD-ld} -melf64bmip"
- + ;;
- + esac
- + else
- + case `/usr/bin/file conftest.$ac_objext` in
- + *32-bit*)
- + LD="${LD-ld} -32"
- + ;;
- + *N32*)
- + LD="${LD-ld} -n32"
- + ;;
- + *64-bit*)
- + LD="${LD-ld} -64"
- + ;;
- + esac
- + fi
- + fi
- + rm -rf conftest*
- + ;;
- +
- +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
- +s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- + # Find out which ABI we are using.
- + echo 'int i;' > conftest.$ac_ext
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- + (eval $ac_compile) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then
- + case `/usr/bin/file conftest.o` in
- + *32-bit*)
- + case $host in
- + x86_64-*kfreebsd*-gnu)
- + LD="${LD-ld} -m elf_i386_fbsd"
- + ;;
- + x86_64-*linux*)
- + case `/usr/bin/file conftest.o` in
- + *x86-64*)
- + LD="${LD-ld} -m elf32_x86_64"
- + ;;
- + *)
- + LD="${LD-ld} -m elf_i386"
- + ;;
- + esac
- + ;;
- + powerpc64le-*linux*)
- + LD="${LD-ld} -m elf32lppclinux"
- + ;;
- + powerpc64-*linux*)
- + LD="${LD-ld} -m elf32ppclinux"
- + ;;
- + s390x-*linux*)
- + LD="${LD-ld} -m elf_s390"
- + ;;
- + sparc64-*linux*)
- + LD="${LD-ld} -m elf32_sparc"
- + ;;
- + esac
- + ;;
- + *64-bit*)
- + case $host in
- + x86_64-*kfreebsd*-gnu)
- + LD="${LD-ld} -m elf_x86_64_fbsd"
- + ;;
- + x86_64-*linux*)
- + LD="${LD-ld} -m elf_x86_64"
- + ;;
- + powerpcle-*linux*)
- + LD="${LD-ld} -m elf64lppc"
- + ;;
- + powerpc-*linux*)
- + LD="${LD-ld} -m elf64ppc"
- + ;;
- + s390*-*linux*|s390*-*tpf*)
- + LD="${LD-ld} -m elf64_s390"
- + ;;
- + sparc*-*linux*)
- + LD="${LD-ld} -m elf64_sparc"
- + ;;
- + esac
- + ;;
- + esac
- + fi
- + rm -rf conftest*
- + ;;
- +
- +*-*-sco3.2v5*)
- + # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- + SAVE_CFLAGS="$CFLAGS"
- + CFLAGS="$CFLAGS -belf"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
- +$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
- +if ${lt_cv_cc_needs_belf+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + lt_cv_cc_needs_belf=yes
- +else
- + lt_cv_cc_needs_belf=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- + ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
- +$as_echo "$lt_cv_cc_needs_belf" >&6; }
- + if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- + CFLAGS="$SAVE_CFLAGS"
- + fi
- + ;;
- +sparc*-*solaris*)
- + # Find out which ABI we are using.
- + echo 'int i;' > conftest.$ac_ext
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- + (eval $ac_compile) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }; then
- + case `/usr/bin/file conftest.o` in
- + *64-bit*)
- + case $lt_cv_prog_gnu_ld in
- + yes*) LD="${LD-ld} -m elf64_sparc" ;;
- + *)
- + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- + LD="${LD-ld} -64"
- + fi
- + ;;
- + esac
- + ;;
- + esac
- + fi
- + rm -rf conftest*
- + ;;
- +esac
- +
- +need_locks="$enable_libtool_lock"
- +
- +
- + case $host_os in
- + rhapsody* | darwin*)
- + if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_DSYMUTIL+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$DSYMUTIL"; then
- + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +DSYMUTIL=$ac_cv_prog_DSYMUTIL
- +if test -n "$DSYMUTIL"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
- +$as_echo "$DSYMUTIL" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_DSYMUTIL"; then
- + ac_ct_DSYMUTIL=$DSYMUTIL
- + # Extract the first word of "dsymutil", so it can be a program name with args.
- +set dummy dsymutil; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_DSYMUTIL"; then
- + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
- +if test -n "$ac_ct_DSYMUTIL"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
- +$as_echo "$ac_ct_DSYMUTIL" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_DSYMUTIL" = x; then
- + DSYMUTIL=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + DSYMUTIL=$ac_ct_DSYMUTIL
- + fi
- +else
- + DSYMUTIL="$ac_cv_prog_DSYMUTIL"
- +fi
- +
- + if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}nmedit; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_NMEDIT+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$NMEDIT"; then
- + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +NMEDIT=$ac_cv_prog_NMEDIT
- +if test -n "$NMEDIT"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
- +$as_echo "$NMEDIT" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_NMEDIT"; then
- + ac_ct_NMEDIT=$NMEDIT
- + # Extract the first word of "nmedit", so it can be a program name with args.
- +set dummy nmedit; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_NMEDIT"; then
- + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_NMEDIT="nmedit"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
- +if test -n "$ac_ct_NMEDIT"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
- +$as_echo "$ac_ct_NMEDIT" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_NMEDIT" = x; then
- + NMEDIT=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + NMEDIT=$ac_ct_NMEDIT
- + fi
- +else
- + NMEDIT="$ac_cv_prog_NMEDIT"
- +fi
- +
- + if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}lipo; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_LIPO+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$LIPO"; then
- + ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +LIPO=$ac_cv_prog_LIPO
- +if test -n "$LIPO"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
- +$as_echo "$LIPO" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_LIPO"; then
- + ac_ct_LIPO=$LIPO
- + # Extract the first word of "lipo", so it can be a program name with args.
- +set dummy lipo; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_LIPO"; then
- + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_LIPO="lipo"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
- +if test -n "$ac_ct_LIPO"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
- +$as_echo "$ac_ct_LIPO" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_LIPO" = x; then
- + LIPO=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + LIPO=$ac_ct_LIPO
- + fi
- +else
- + LIPO="$ac_cv_prog_LIPO"
- +fi
- +
- + if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}otool; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_OTOOL+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$OTOOL"; then
- + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +OTOOL=$ac_cv_prog_OTOOL
- +if test -n "$OTOOL"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
- +$as_echo "$OTOOL" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_OTOOL"; then
- + ac_ct_OTOOL=$OTOOL
- + # Extract the first word of "otool", so it can be a program name with args.
- +set dummy otool; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_OTOOL"; then
- + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_OTOOL="otool"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
- +if test -n "$ac_ct_OTOOL"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
- +$as_echo "$ac_ct_OTOOL" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_OTOOL" = x; then
- + OTOOL=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + OTOOL=$ac_ct_OTOOL
- + fi
- +else
- + OTOOL="$ac_cv_prog_OTOOL"
- +fi
- +
- + if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}otool64; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_OTOOL64+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$OTOOL64"; then
- + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +OTOOL64=$ac_cv_prog_OTOOL64
- +if test -n "$OTOOL64"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
- +$as_echo "$OTOOL64" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_OTOOL64"; then
- + ac_ct_OTOOL64=$OTOOL64
- + # Extract the first word of "otool64", so it can be a program name with args.
- +set dummy otool64; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_OTOOL64"; then
- + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_OTOOL64="otool64"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
- +if test -n "$ac_ct_OTOOL64"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
- +$as_echo "$ac_ct_OTOOL64" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_OTOOL64" = x; then
- + OTOOL64=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + OTOOL64=$ac_ct_OTOOL64
- + fi
- +else
- + OTOOL64="$ac_cv_prog_OTOOL64"
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
- +$as_echo_n "checking for -single_module linker flag... " >&6; }
- +if ${lt_cv_apple_cc_single_mod+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_apple_cc_single_mod=no
- + if test -z "${LT_MULTI_MODULE}"; then
- + # By default we will add the -single_module flag. You can override
- + # by either setting the environment variable LT_MULTI_MODULE
- + # non-empty at configure time, or by adding -multi_module to the
- + # link flags.
- + rm -rf libconftest.dylib*
- + echo "int foo(void){return 1;}" > conftest.c
- + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- +-dynamiclib -Wl,-single_module conftest.c" >&5
- + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- + _lt_result=$?
- + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- + lt_cv_apple_cc_single_mod=yes
- + else
- + cat conftest.err >&5
- + fi
- + rm -rf libconftest.dylib*
- + rm -f conftest.*
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
- +$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
- +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
- +if ${lt_cv_ld_exported_symbols_list+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_ld_exported_symbols_list=no
- + save_LDFLAGS=$LDFLAGS
- + echo "_main" > conftest.sym
- + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + lt_cv_ld_exported_symbols_list=yes
- +else
- + lt_cv_ld_exported_symbols_list=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- + LDFLAGS="$save_LDFLAGS"
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
- +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
- +$as_echo_n "checking for -force_load linker flag... " >&6; }
- +if ${lt_cv_ld_force_load+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_ld_force_load=no
- + cat > conftest.c << _LT_EOF
- +int forced_loaded() { return 2;}
- +_LT_EOF
- + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- + echo "$AR cru libconftest.a conftest.o" >&5
- + $AR cru libconftest.a conftest.o 2>&5
- + cat > conftest.c << _LT_EOF
- +int main() { return 0;}
- +_LT_EOF
- + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- + _lt_result=$?
- + if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- + lt_cv_ld_force_load=yes
- + else
- + cat conftest.err >&5
- + fi
- + rm -f conftest.err libconftest.a conftest conftest.c
- + rm -rf conftest.dSYM
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
- +$as_echo "$lt_cv_ld_force_load" >&6; }
- + case $host_os in
- + rhapsody* | darwin1.[012])
- + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- + darwin1.*)
- + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- + darwin*) # darwin 5.x on
- + # if running on 10.5 or later, the deployment target defaults
- + # to the OS version, if on x86, and 10.4, the deployment
- + # target defaults to 10.4. Don't you love it?
- + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- + 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- + 10.[012][,.]*)
- + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- + 10.*)
- + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- + esac
- + ;;
- + esac
- + if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- + _lt_dar_single_mod='$single_module'
- + fi
- + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- + else
- + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- + fi
- + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- + _lt_dsymutil='~$DSYMUTIL $lib || :'
- + else
- + _lt_dsymutil=
- + fi
- + ;;
- + esac
- +
- +for ac_header in dlfcn.h
- +do :
- + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
- +"
- +if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- + cat >>confdefs.h <<_ACEOF
- +#define HAVE_DLFCN_H 1
- +_ACEOF
- +
- +fi
- +
- +done
- +
- +
- +
- +# autoconf.info says this should be called right after AC_INIT.
- +ac_config_headers="$ac_config_headers config.h:config.in"
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
- +$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
- +if ${ac_cv_c_bigendian+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_cv_c_bigendian=unknown
- + # See if we're dealing with a universal compiler.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#ifndef __APPLE_CC__
- + not a universal capable compiler
- + #endif
- + typedef int dummy;
- +
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- +
- + # Check for potential -arch flags. It is not universal unless
- + # there are at least two -arch flags with different values.
- + ac_arch=
- + ac_prev=
- + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- + if test -n "$ac_prev"; then
- + case $ac_word in
- + i?86 | x86_64 | ppc | ppc64)
- + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- + ac_arch=$ac_word
- + else
- + ac_cv_c_bigendian=universal
- + break
- + fi
- + ;;
- + esac
- + ac_prev=
- + elif test "x$ac_word" = "x-arch"; then
- + ac_prev=arch
- + fi
- + done
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- + if test $ac_cv_c_bigendian = unknown; then
- + # See if sys/param.h defines the BYTE_ORDER macro.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <sys/types.h>
- + #include <sys/param.h>
- +
- +int
- +main ()
- +{
- +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- + && LITTLE_ENDIAN)
- + bogus endian macros
- + #endif
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + # It does; now see whether it defined to BIG_ENDIAN or not.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <sys/types.h>
- + #include <sys/param.h>
- +
- +int
- +main ()
- +{
- +#if BYTE_ORDER != BIG_ENDIAN
- + not big endian
- + #endif
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_c_bigendian=yes
- +else
- + ac_cv_c_bigendian=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- + fi
- + if test $ac_cv_c_bigendian = unknown; then
- + # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <limits.h>
- +
- +int
- +main ()
- +{
- +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- + bogus endian macros
- + #endif
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + # It does; now see whether it defined to _BIG_ENDIAN or not.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <limits.h>
- +
- +int
- +main ()
- +{
- +#ifndef _BIG_ENDIAN
- + not big endian
- + #endif
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_c_bigendian=yes
- +else
- + ac_cv_c_bigendian=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- + fi
- + if test $ac_cv_c_bigendian = unknown; then
- + # Compile a test program.
- + if test "$cross_compiling" = yes; then :
- + # Try to guess by grepping values from an object file.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +short int ascii_mm[] =
- + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- + short int ascii_ii[] =
- + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- + int use_ascii (int i) {
- + return ascii_mm[i] + ascii_ii[i];
- + }
- + short int ebcdic_ii[] =
- + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- + short int ebcdic_mm[] =
- + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- + int use_ebcdic (int i) {
- + return ebcdic_mm[i] + ebcdic_ii[i];
- + }
- + extern int foo;
- +
- +int
- +main ()
- +{
- +return use_ascii (foo) == use_ebcdic (foo);
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- + ac_cv_c_bigendian=yes
- + fi
- + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- + if test "$ac_cv_c_bigendian" = unknown; then
- + ac_cv_c_bigendian=no
- + else
- + # finding both strings is unlikely to happen, but who knows?
- + ac_cv_c_bigendian=unknown
- + fi
- + fi
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +$ac_includes_default
- +int
- +main ()
- +{
- +
- + /* Are we little or big endian? From Harbison&Steele. */
- + union
- + {
- + long int l;
- + char c[sizeof (long int)];
- + } u;
- + u.l = 1;
- + return u.c[sizeof (long int) - 1] == 1;
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_run "$LINENO"; then :
- + ac_cv_c_bigendian=no
- +else
- + ac_cv_c_bigendian=yes
- +fi
- +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- + conftest.$ac_objext conftest.beam conftest.$ac_ext
- +fi
- +
- + fi
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
- +$as_echo "$ac_cv_c_bigendian" >&6; }
- + case $ac_cv_c_bigendian in #(
- + yes)
- + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
- +;; #(
- + no)
- + ;; #(
- + universal)
- +
- +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
- +
- + ;; #(
- + *)
- + as_fn_error $? "unknown endianness
- + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- + esac
- +
- +
- +
- +
- +# Put a plausible default for CC_FOR_BUILD in Makefile.
- +if test -z "$CC_FOR_BUILD"; then
- + if test "x$cross_compiling" = "xno"; then
- + CC_FOR_BUILD='$(CC)'
- + else
- + CC_FOR_BUILD=gcc
- + fi
- +fi
- +
- +
- +
- +
- +AR=${AR-ar}
- +
- +if test -n "$ac_tool_prefix"; then
- + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
- +set dummy ${ac_tool_prefix}ranlib; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_RANLIB+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$RANLIB"; then
- + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +RANLIB=$ac_cv_prog_RANLIB
- +if test -n "$RANLIB"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
- +$as_echo "$RANLIB" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +fi
- +if test -z "$ac_cv_prog_RANLIB"; then
- + ac_ct_RANLIB=$RANLIB
- + # Extract the first word of "ranlib", so it can be a program name with args.
- +set dummy ranlib; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$ac_ct_RANLIB"; then
- + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_ac_ct_RANLIB="ranlib"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
- +if test -n "$ac_ct_RANLIB"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
- +$as_echo "$ac_ct_RANLIB" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- + if test "x$ac_ct_RANLIB" = x; then
- + RANLIB=":"
- + else
- + case $cross_compiling:$ac_tool_warned in
- +yes:)
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
- +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- +ac_tool_warned=yes ;;
- +esac
- + RANLIB=$ac_ct_RANLIB
- + fi
- +else
- + RANLIB="$ac_cv_prog_RANLIB"
- +fi
- +
- +
- +# Some of the common include files depend on bfd.h, and bfd.h checks
- +# that config.h is included first by testing that the PACKAGE macro
- +# is defined.
- +PACKAGE=sim
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PACKAGE "$PACKAGE"
- +_ACEOF
- +
- +
- +
- +# Dependency checking.
- +ac_config_commands="$ac_config_commands depdir"
- +
- +
- +depcc="$CC" am_compiler_list=
- +
- +am_depcomp=$ac_aux_dir/depcomp
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
- +$as_echo_n "checking dependency style of $depcc... " >&6; }
- +if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -f "$am_depcomp"; then
- + # We make a subdir and do the tests there. Otherwise we can end up
- + # making bogus files that we don't know about and never remove. For
- + # instance it was reported that on HP-UX the gcc test will end up
- + # making a dummy file named `D' -- because `-MD' means `put the output
- + # in D'.
- + mkdir conftest.dir
- + # Copy depcomp to subdir because otherwise we won't find it if we're
- + # using a relative directory.
- + cp "$am_depcomp" conftest.dir
- + cd conftest.dir
- + # We will build objects and dependencies in a subdirectory because
- + # it helps to detect inapplicable dependency modes. For instance
- + # both Tru64's cc and ICC support -MD to output dependencies as a
- + # side effect of compilation, but ICC will put the dependencies in
- + # the current directory while Tru64 will put them in the object
- + # directory.
- + mkdir sub
- +
- + am_cv_CC_dependencies_compiler_type=none
- + if test "$am_compiler_list" = ""; then
- + am_compiler_list=`sed -n 's/^\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- + fi
- + for depmode in $am_compiler_list; do
- + if test $depmode = none; then break; fi
- +
- + $as_echo "$as_me:$LINENO: trying $depmode" >&5
- + # Setup a source with many dependencies, because some compilers
- + # like to wrap large dependency lists on column 80 (with \), and
- + # we should not choose a depcomp mode which is confused by this.
- + #
- + # We need to recreate these files for each test, as the compiler may
- + # overwrite some of them when testing with obscure command lines.
- + # This happens at least with the AIX C compiler.
- + : > sub/conftest.c
- + for i in 1 2 3 4 5 6; do
- + echo '#include "conftst'$i'.h"' >> sub/conftest.c
- + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- + # Solaris 8's {/usr,}/bin/sh.
- + touch sub/conftst$i.h
- + done
- + echo "include sub/conftest.Po" > confmf
- +
- + # We check with `-c' and `-o' for the sake of the "dashmstdout"
- + # mode. It turns out that the SunPro C++ compiler does not properly
- + # handle `-M -o', and we need to detect this.
- + depcmd="depmode=$depmode \
- + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c"
- + echo "| $depcmd" | sed -e 's/ */ /g' >&5
- + if env $depcmd > conftest.err 2>&1 &&
- + grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 &&
- + grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 &&
- + ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then
- + # icc doesn't choke on unknown options, it will just issue warnings
- + # or remarks (even with -Werror). So we grep stderr for any message
- + # that says an option was ignored or not supported.
- + # When given -MP, icc 7.0 and 7.1 complain thusly:
- + # icc: Command line warning: ignoring option '-M'; no argument required
- + # The diagnosis changed in icc 8.0:
- + # icc: Command line remark: option '-MP' not supported
- + if (grep 'ignoring option' conftest.err ||
- + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- + am_cv_CC_dependencies_compiler_type=$depmode
- + $as_echo "$as_me:$LINENO: success" >&5
- + break
- + fi
- + fi
- + $as_echo "$as_me:$LINENO: failure, diagnostics are:" >&5
- + sed -e 's/^/| /' < conftest.err >&5
- + done
- +
- + cd ..
- + rm -rf conftest.dir
- +else
- + am_cv_CC_dependencies_compiler_type=none
- +fi
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
- +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
- +if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
- +then as_fn_error $? "no usable dependency style found" "$LINENO" 5
- +else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
- +
- +fi
- +
- +
- +# Check for the 'make' the user wants to use.
- +for ac_prog in make
- +do
- + # Extract the first word of "$ac_prog", so it can be a program name with args.
- +set dummy $ac_prog; ac_word=$2
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- +$as_echo_n "checking for $ac_word... " >&6; }
- +if ${ac_cv_prog_MAKE+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test -n "$MAKE"; then
- + ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
- +else
- +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + for ac_exec_ext in '' $ac_executable_extensions; do
- + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- + ac_cv_prog_MAKE="$ac_prog"
- + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- + break 2
- + fi
- +done
- + done
- +IFS=$as_save_IFS
- +
- +fi
- +fi
- +MAKE=$ac_cv_prog_MAKE
- +if test -n "$MAKE"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5
- +$as_echo "$MAKE" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + test -n "$MAKE" && break
- +done
- +
- +MAKE_IS_GNU=
- +case "`$MAKE --version 2>&1 | sed 1q`" in
- + *GNU*)
- + MAKE_IS_GNU=yes
- + ;;
- +esac
- + if test "$MAKE_IS_GNU" = yes; then
- + GMAKE_TRUE=
- + GMAKE_FALSE='#'
- +else
- + GMAKE_TRUE='#'
- + GMAKE_FALSE=
- +fi
- +
- +
- +ALL_LINGUAS=
- +# If we haven't got the data from the intl directory,
- +# assume NLS is disabled.
- +USE_NLS=no
- +LIBINTL=
- +LIBINTL_DEP=
- +INCINTL=
- +XGETTEXT=
- +GMSGFMT=
- +POSUB=
- +
- +if test -f ../../intl/config.intl; then
- + . ../../intl/config.intl
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
- +$as_echo_n "checking whether NLS is requested... " >&6; }
- +if test x"$USE_NLS" != xyes; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- +$as_echo "yes" >&6; }
- +
- +$as_echo "#define ENABLE_NLS 1" >>confdefs.h
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
- +$as_echo_n "checking for catalogs to be installed... " >&6; }
- + # Look for .po and .gmo files in the source directory.
- + CATALOGS=
- + XLINGUAS=
- + for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
- + # If there aren't any .gmo files the shell will give us the
- + # literal string "../path/to/srcdir/po/*.gmo" which has to be
- + # weeded out.
- + case "$cat" in *\**)
- + continue;;
- + esac
- + # The quadruple backslash is collapsed to a double backslash
- + # by the backticks, then collapsed again by the double quotes,
- + # leaving us with one backslash in the sed expression (right
- + # before the dot that mustn't act as a wildcard).
- + cat=`echo $cat | sed -e "s!$srcdir/po/!!" -e "s!\\\\.po!.gmo!"`
- + lang=`echo $cat | sed -e "s!\\\\.gmo!!"`
- + # The user is allowed to set LINGUAS to a list of languages to
- + # install catalogs for. If it's empty that means "all of them."
- + if test "x$LINGUAS" = x; then
- + CATALOGS="$CATALOGS $cat"
- + XLINGUAS="$XLINGUAS $lang"
- + else
- + case "$LINGUAS" in *$lang*)
- + CATALOGS="$CATALOGS $cat"
- + XLINGUAS="$XLINGUAS $lang"
- + ;;
- + esac
- + fi
- + done
- + LINGUAS="$XLINGUAS"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
- +$as_echo "$LINGUAS" >&6; }
- +
- +
- + DATADIRNAME=share
- +
- + INSTOBJEXT=.mo
- +
- + GENCAT=gencat
- +
- + CATOBJEXT=.gmo
- +
- +fi
- +
- +# Check for common headers.
- +# FIXME: Seems to me this can cause problems for i386-windows hosts.
- +# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
- +for ac_header in stdlib.h string.h strings.h unistd.h time.h
- +do :
- + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
- +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +
- +done
- +
- +for ac_header in sys/time.h sys/times.h sys/resource.h sys/mman.h
- +do :
- + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
- +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +
- +done
- +
- +for ac_header in fcntl.h fpu_control.h
- +do :
- + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
- +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +
- +done
- +
- +for ac_header in dlfcn.h errno.h sys/stat.h
- +do :
- + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
- +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +
- +done
- +
- +for ac_func in getrusage time sigaction __setfpucw
- +do :
- + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
- +if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +done
- +
- +for ac_func in mmap munmap lstat truncate ftruncate posix_fallocate
- +do :
- + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
- +if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- + cat >>confdefs.h <<_ACEOF
- +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
- +_ACEOF
- +
- +fi
- +done
- +
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_dev" "ac_cv_member_struct_stat_st_dev" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_DEV 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_ino" "ac_cv_member_struct_stat_st_ino" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_INO 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_mode" "ac_cv_member_struct_stat_st_mode" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_MODE 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_nlink" "ac_cv_member_struct_stat_st_nlink" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_NLINK 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_uid" "ac_cv_member_struct_stat_st_uid" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_UID 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_gid" "ac_cv_member_struct_stat_st_gid" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_GID 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_RDEV 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_size" "ac_cv_member_struct_stat_st_size" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_SIZE 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_BLOCKS 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_atime" "ac_cv_member_struct_stat_st_atime" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_ATIME 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_MTIME 1
- +_ACEOF
- +
- +
- +fi
- +ac_fn_c_check_member "$LINENO" "struct stat" "st_ctime" "ac_cv_member_struct_stat_st_ctime" "#ifdef HAVE_SYS_TYPES_H
- +#include <sys/types.h>
- +#endif
- +#ifdef HAVE_SYS_STAT_H
- +#include <sys/stat.h>
- +#endif
- +"
- +if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_STRUCT_STAT_ST_CTIME 1
- +_ACEOF
- +
- +
- +fi
- +
- +ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
- +#include <sys/socket.h>
- +
- +"
- +if test "x$ac_cv_type_socklen_t" = xyes; then :
- +
- +cat >>confdefs.h <<_ACEOF
- +#define HAVE_SOCKLEN_T 1
- +_ACEOF
- +
- +
- +fi
- +
- +
- +# Check for socket libraries
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
- +$as_echo_n "checking for bind in -lsocket... " >&6; }
- +if ${ac_cv_lib_socket_bind+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-lsocket $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char bind ();
- +int
- +main ()
- +{
- +return bind ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_socket_bind=yes
- +else
- + ac_cv_lib_socket_bind=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
- +$as_echo "$ac_cv_lib_socket_bind" >&6; }
- +if test "x$ac_cv_lib_socket_bind" = xyes; then :
- + cat >>confdefs.h <<_ACEOF
- +#define HAVE_LIBSOCKET 1
- +_ACEOF
- +
- + LIBS="-lsocket $LIBS"
- +
- +fi
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
- +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
- +if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-lnsl $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char gethostbyname ();
- +int
- +main ()
- +{
- +return gethostbyname ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_nsl_gethostbyname=yes
- +else
- + ac_cv_lib_nsl_gethostbyname=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
- +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
- +if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
- + cat >>confdefs.h <<_ACEOF
- +#define HAVE_LIBNSL 1
- +_ACEOF
- +
- + LIBS="-lnsl $LIBS"
- +
- +fi
- +
- +
- +# BFD conditionally uses zlib, so we must link it in if libbfd does, by
- +# using the same condition.
- +
- + # Use the system's zlib library.
- + zlibdir="-L\$(top_builddir)/../zlib"
- + zlibinc="-I\$(top_srcdir)/../zlib"
- +
- +# Check whether --with-system-zlib was given.
- +if test "${with_system_zlib+set}" = set; then :
- + withval=$with_system_zlib; if test x$with_system_zlib = xyes ; then
- + zlibdir=
- + zlibinc=
- + fi
- +
- +fi
- +
- +
- +
- +
- +
- +# BFD uses libdl when when plugins enabled.
- +
- + maybe_plugins=no
- + for ac_header in dlfcn.h
- +do :
- + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
- +"
- +if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- + cat >>confdefs.h <<_ACEOF
- +#define HAVE_DLFCN_H 1
- +_ACEOF
- + maybe_plugins=yes
- +fi
- +
- +done
- +
- + for ac_header in windows.h
- +do :
- + ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
- +"
- +if test "x$ac_cv_header_windows_h" = xyes; then :
- + cat >>confdefs.h <<_ACEOF
- +#define HAVE_WINDOWS_H 1
- +_ACEOF
- + maybe_plugins=yes
- +fi
- +
- +done
- +
- +
- + # Check whether --enable-plugins was given.
- +if test "${enable_plugins+set}" = set; then :
- + enableval=$enable_plugins; case "${enableval}" in
- + no) plugins=no ;;
- + *) plugins=yes
- + if test "$maybe_plugins" != "yes" ; then
- + as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
- + fi ;;
- + esac
- +else
- + plugins=$maybe_plugins
- +
- +fi
- +
- + if test "$plugins" = "yes"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
- +$as_echo_n "checking for library containing dlsym... " >&6; }
- +if ${ac_cv_search_dlsym+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_func_search_save_LIBS=$LIBS
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char dlsym ();
- +int
- +main ()
- +{
- +return dlsym ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +for ac_lib in '' dl; do
- + if test -z "$ac_lib"; then
- + ac_res="none required"
- + else
- + ac_res=-l$ac_lib
- + LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- + fi
- + if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_search_dlsym=$ac_res
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext
- + if ${ac_cv_search_dlsym+:} false; then :
- + break
- +fi
- +done
- +if ${ac_cv_search_dlsym+:} false; then :
- +
- +else
- + ac_cv_search_dlsym=no
- +fi
- +rm conftest.$ac_ext
- +LIBS=$ac_func_search_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
- +$as_echo "$ac_cv_search_dlsym" >&6; }
- +ac_res=$ac_cv_search_dlsym
- +if test "$ac_res" != no; then :
- + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
- +
- +fi
- +
- + fi
- +
- + if test "$plugins" = yes; then
- + PLUGINS_TRUE=
- + PLUGINS_FALSE='#'
- +else
- + PLUGINS_TRUE='#'
- + PLUGINS_FALSE=
- +fi
- +
- +
- +
- +
- +
- +# Set options
- +enable_dlopen=yes
- +
- +
- +
- +
- + enable_win32_dll=no
- +
- +
- + # Check whether --enable-shared was given.
- +if test "${enable_shared+set}" = set; then :
- + enableval=$enable_shared; p=${PACKAGE-default}
- + case $enableval in
- + yes) enable_shared=yes ;;
- + no) enable_shared=no ;;
- + *)
- + enable_shared=no
- + # Look at the argument we got. We use all the common list separators.
- + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- + for pkg in $enableval; do
- + IFS="$lt_save_ifs"
- + if test "X$pkg" = "X$p"; then
- + enable_shared=yes
- + fi
- + done
- + IFS="$lt_save_ifs"
- + ;;
- + esac
- +else
- + enable_shared=yes
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + # Check whether --enable-static was given.
- +if test "${enable_static+set}" = set; then :
- + enableval=$enable_static; p=${PACKAGE-default}
- + case $enableval in
- + yes) enable_static=yes ;;
- + no) enable_static=no ;;
- + *)
- + enable_static=no
- + # Look at the argument we got. We use all the common list separators.
- + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- + for pkg in $enableval; do
- + IFS="$lt_save_ifs"
- + if test "X$pkg" = "X$p"; then
- + enable_static=yes
- + fi
- + done
- + IFS="$lt_save_ifs"
- + ;;
- + esac
- +else
- + enable_static=yes
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# Check whether --with-pic was given.
- +if test "${with_pic+set}" = set; then :
- + withval=$with_pic; pic_mode="$withval"
- +else
- + pic_mode=default
- +fi
- +
- +
- +test -z "$pic_mode" && pic_mode=default
- +
- +
- +
- +
- +
- +
- +
- + # Check whether --enable-fast-install was given.
- +if test "${enable_fast_install+set}" = set; then :
- + enableval=$enable_fast_install; p=${PACKAGE-default}
- + case $enableval in
- + yes) enable_fast_install=yes ;;
- + no) enable_fast_install=no ;;
- + *)
- + enable_fast_install=no
- + # Look at the argument we got. We use all the common list separators.
- + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- + for pkg in $enableval; do
- + IFS="$lt_save_ifs"
- + if test "X$pkg" = "X$p"; then
- + enable_fast_install=yes
- + fi
- + done
- + IFS="$lt_save_ifs"
- + ;;
- + esac
- +else
- + enable_fast_install=yes
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +# This can be used to rebuild libtool when needed
- +LIBTOOL_DEPS="$ltmain"
- +
- +# Always use our own libtool.
- +LIBTOOL='$(SHELL) $(top_builddir)/libtool'
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +test -z "$LN_S" && LN_S="ln -s"
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +if test -n "${ZSH_VERSION+set}" ; then
- + setopt NO_GLOB_SUBST
- +fi
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
- +$as_echo_n "checking for objdir... " >&6; }
- +if ${lt_cv_objdir+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + rm -f .libs 2>/dev/null
- +mkdir .libs 2>/dev/null
- +if test -d .libs; then
- + lt_cv_objdir=.libs
- +else
- + # MS-DOS does not allow filenames that begin with a dot.
- + lt_cv_objdir=_libs
- +fi
- +rmdir .libs 2>/dev/null
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
- +$as_echo "$lt_cv_objdir" >&6; }
- +objdir=$lt_cv_objdir
- +
- +
- +
- +
- +
- +cat >>confdefs.h <<_ACEOF
- +#define LT_OBJDIR "$lt_cv_objdir/"
- +_ACEOF
- +
- +
- +
- +
- +case $host_os in
- +aix3*)
- + # AIX sometimes has problems with the GCC collect2 program. For some
- + # reason, if we set the COLLECT_NAMES environment variable, the problems
- + # vanish in a puff of smoke.
- + if test "X${COLLECT_NAMES+set}" != Xset; then
- + COLLECT_NAMES=
- + export COLLECT_NAMES
- + fi
- + ;;
- +esac
- +
- +# Global variables:
- +ofile=libtool
- +can_build_shared=yes
- +
- +# All known linkers require a `.a' archive for static linking (except MSVC,
- +# which needs '.lib').
- +libext=a
- +
- +with_gnu_ld="$lt_cv_prog_gnu_ld"
- +
- +old_CC="$CC"
- +old_CFLAGS="$CFLAGS"
- +
- +# Set sane defaults for various variables
- +test -z "$CC" && CC=cc
- +test -z "$LTCC" && LTCC=$CC
- +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
- +test -z "$LD" && LD=ld
- +test -z "$ac_objext" && ac_objext=o
- +
- +for cc_temp in $compiler""; do
- + case $cc_temp in
- + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- + \-*) ;;
- + *) break;;
- + esac
- +done
- +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
- +
- +
- +# Only perform the check for file, if the check method requires it
- +test -z "$MAGIC_CMD" && MAGIC_CMD=file
- +case $deplibs_check_method in
- +file_magic*)
- + if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
- +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
- +if ${lt_cv_path_MAGIC_CMD+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + case $MAGIC_CMD in
- +[\\/*] | ?:[\\/]*)
- + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- + ;;
- +*)
- + lt_save_MAGIC_CMD="$MAGIC_CMD"
- + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- + for ac_dir in $ac_dummy; do
- + IFS="$lt_save_ifs"
- + test -z "$ac_dir" && ac_dir=.
- + if test -f $ac_dir/${ac_tool_prefix}file; then
- + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- + if test -n "$file_magic_test_file"; then
- + case $deplibs_check_method in
- + "file_magic "*)
- + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- + MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- + $EGREP "$file_magic_regex" > /dev/null; then
- + :
- + else
- + cat <<_LT_EOF 1>&2
- +
- +*** Warning: the command libtool uses to detect shared libraries,
- +*** $file_magic_cmd, produces output that libtool cannot recognize.
- +*** The result is that libtool may fail to recognize shared libraries
- +*** as such. This will affect the creation of libtool libraries that
- +*** depend on shared libraries, but programs linked with such libtool
- +*** libraries will work regardless of this problem. Nevertheless, you
- +*** may want to report the problem to your system manager and/or to
- +*** bug-libtool@gnu.org
- +
- +_LT_EOF
- + fi ;;
- + esac
- + fi
- + break
- + fi
- + done
- + IFS="$lt_save_ifs"
- + MAGIC_CMD="$lt_save_MAGIC_CMD"
- + ;;
- +esac
- +fi
- +
- +MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- +if test -n "$MAGIC_CMD"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
- +$as_echo "$MAGIC_CMD" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- +
- +
- +
- +if test -z "$lt_cv_path_MAGIC_CMD"; then
- + if test -n "$ac_tool_prefix"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
- +$as_echo_n "checking for file... " >&6; }
- +if ${lt_cv_path_MAGIC_CMD+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + case $MAGIC_CMD in
- +[\\/*] | ?:[\\/]*)
- + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- + ;;
- +*)
- + lt_save_MAGIC_CMD="$MAGIC_CMD"
- + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- + for ac_dir in $ac_dummy; do
- + IFS="$lt_save_ifs"
- + test -z "$ac_dir" && ac_dir=.
- + if test -f $ac_dir/file; then
- + lt_cv_path_MAGIC_CMD="$ac_dir/file"
- + if test -n "$file_magic_test_file"; then
- + case $deplibs_check_method in
- + "file_magic "*)
- + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- + MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- + $EGREP "$file_magic_regex" > /dev/null; then
- + :
- + else
- + cat <<_LT_EOF 1>&2
- +
- +*** Warning: the command libtool uses to detect shared libraries,
- +*** $file_magic_cmd, produces output that libtool cannot recognize.
- +*** The result is that libtool may fail to recognize shared libraries
- +*** as such. This will affect the creation of libtool libraries that
- +*** depend on shared libraries, but programs linked with such libtool
- +*** libraries will work regardless of this problem. Nevertheless, you
- +*** may want to report the problem to your system manager and/or to
- +*** bug-libtool@gnu.org
- +
- +_LT_EOF
- + fi ;;
- + esac
- + fi
- + break
- + fi
- + done
- + IFS="$lt_save_ifs"
- + MAGIC_CMD="$lt_save_MAGIC_CMD"
- + ;;
- +esac
- +fi
- +
- +MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- +if test -n "$MAGIC_CMD"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
- +$as_echo "$MAGIC_CMD" >&6; }
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- +fi
- +
- +
- + else
- + MAGIC_CMD=:
- + fi
- +fi
- +
- + fi
- + ;;
- +esac
- +
- +# Use C for the default configuration in the libtool script
- +
- +lt_save_CC="$CC"
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- +
- +# Source file extension for C test sources.
- +ac_ext=c
- +
- +# Object file extension for compiled C test sources.
- +objext=o
- +objext=$objext
- +
- +# Code to be used in simple compile tests
- +lt_simple_compile_test_code="int some_variable = 0;"
- +
- +# Code to be used in simple link tests
- +lt_simple_link_test_code='int main(){return(0);}'
- +
- +
- +
- +
- +
- +
- +
- +# If no C compiler was specified, use CC.
- +LTCC=${LTCC-"$CC"}
- +
- +# If no C compiler flags were specified, use CFLAGS.
- +LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
- +
- +# Allow CC to be a program name with arguments.
- +compiler=$CC
- +
- +# Save the default compiler, since it gets overwritten when the other
- +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
- +compiler_DEFAULT=$CC
- +
- +# save warnings/boilerplate of simple test code
- +ac_outfile=conftest.$ac_objext
- +echo "$lt_simple_compile_test_code" >conftest.$ac_ext
- +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
- +_lt_compiler_boilerplate=`cat conftest.err`
- +$RM conftest*
- +
- +ac_outfile=conftest.$ac_objext
- +echo "$lt_simple_link_test_code" >conftest.$ac_ext
- +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
- +_lt_linker_boilerplate=`cat conftest.err`
- +$RM -r conftest*
- +
- +
- +## CAVEAT EMPTOR:
- +## There is no encapsulation within the following macros, do not change
- +## the running order or otherwise move them around unless you know exactly
- +## what you are doing...
- +if test -n "$compiler"; then
- +
- +lt_prog_compiler_no_builtin_flag=
- +
- +if test "$GCC" = yes; then
- + case $cc_basename in
- + nvcc*)
- + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- + *)
- + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- + esac
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
- +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
- +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_prog_compiler_rtti_exceptions=no
- + ac_outfile=conftest.$ac_objext
- + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- + lt_compiler_flag="-fno-rtti -fno-exceptions"
- + # Insert the option either (1) after the last *FLAGS variable, or
- + # (2) before a word containing "conftest.", or (3) at the end.
- + # Note that $ac_compile itself does not contain backslashes and begins
- + # with a dollar sign (not a hyphen), so the echo should work correctly.
- + # The option is referenced via a variable to avoid confusing sed.
- + lt_compile=`echo "$ac_compile" | $SED \
- + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- + -e 's:$: $lt_compiler_flag:'`
- + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- + (eval "$lt_compile" 2>conftest.err)
- + ac_status=$?
- + cat conftest.err >&5
- + echo "$as_me:$LINENO: \$? = $ac_status" >&5
- + if (exit $ac_status) && test -s "$ac_outfile"; then
- + # The compiler can only warn and ignore the option if not recognized
- + # So say no if there are warnings other than the usual output.
- + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- + lt_cv_prog_compiler_rtti_exceptions=yes
- + fi
- + fi
- + $RM conftest*
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
- +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
- +
- +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
- +else
- + :
- +fi
- +
- +fi
- +
- +
- +
- +
- +
- +
- + lt_prog_compiler_wl=
- +lt_prog_compiler_pic=
- +lt_prog_compiler_static=
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
- +$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
- +
- + if test "$GCC" = yes; then
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_static='-static'
- +
- + case $host_os in
- + aix*)
- + # All AIX code is PIC.
- + if test "$host_cpu" = ia64; then
- + # AIX 5 now supports IA64 processor
- + lt_prog_compiler_static='-Bstatic'
- + fi
- + lt_prog_compiler_pic='-fPIC'
- + ;;
- +
- + amigaos*)
- + case $host_cpu in
- + powerpc)
- + # see comment about AmigaOS4 .so support
- + lt_prog_compiler_pic='-fPIC'
- + ;;
- + m68k)
- + # FIXME: we need at least 68020 code to build shared libraries, but
- + # adding the `-m68020' flag to GCC prevents building anything better,
- + # like `-m68040'.
- + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- + ;;
- + esac
- + ;;
- +
- + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- + # PIC is the default for these OSes.
- + ;;
- +
- + mingw* | cygwin* | pw32* | os2* | cegcc*)
- + # This hack is so that the source file can tell whether it is being
- + # built for inclusion in a dll (and should export symbols for example).
- + # Although the cygwin gcc ignores -fPIC, still need this for old-style
- + # (--disable-auto-import) libraries
- + lt_prog_compiler_pic='-DDLL_EXPORT'
- + ;;
- +
- + darwin* | rhapsody*)
- + # PIC is the default on this platform
- + # Common symbols not allowed in MH_DYLIB files
- + lt_prog_compiler_pic='-fno-common'
- + ;;
- +
- + haiku*)
- + # PIC is the default for Haiku.
- + # The "-static" flag exists, but is broken.
- + lt_prog_compiler_static=
- + ;;
- +
- + hpux*)
- + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- + # sets the default TLS model and affects inlining.
- + case $host_cpu in
- + hppa*64*)
- + # +Z the default
- + ;;
- + *)
- + lt_prog_compiler_pic='-fPIC'
- + ;;
- + esac
- + ;;
- +
- + interix[3-9]*)
- + # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- + # Instead, we relocate shared libraries at runtime.
- + ;;
- +
- + msdosdjgpp*)
- + # Just because we use GCC doesn't mean we suddenly get shared libraries
- + # on systems that don't support them.
- + lt_prog_compiler_can_build_shared=no
- + enable_shared=no
- + ;;
- +
- + *nto* | *qnx*)
- + # QNX uses GNU C++, but need to define -shared option too, otherwise
- + # it will coredump.
- + lt_prog_compiler_pic='-fPIC -shared'
- + ;;
- +
- + sysv4*MP*)
- + if test -d /usr/nec; then
- + lt_prog_compiler_pic=-Kconform_pic
- + fi
- + ;;
- +
- + *)
- + lt_prog_compiler_pic='-fPIC'
- + ;;
- + esac
- +
- + case $cc_basename in
- + nvcc*) # Cuda Compiler Driver 2.2
- + lt_prog_compiler_wl='-Xlinker '
- + lt_prog_compiler_pic='-Xcompiler -fPIC'
- + ;;
- + esac
- + else
- + # PORTME Check for flag to pass linker flags through the system compiler.
- + case $host_os in
- + aix*)
- + lt_prog_compiler_wl='-Wl,'
- + if test "$host_cpu" = ia64; then
- + # AIX 5 now supports IA64 processor
- + lt_prog_compiler_static='-Bstatic'
- + else
- + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- + fi
- + ;;
- +
- + mingw* | cygwin* | pw32* | os2* | cegcc*)
- + # This hack is so that the source file can tell whether it is being
- + # built for inclusion in a dll (and should export symbols for example).
- + lt_prog_compiler_pic='-DDLL_EXPORT'
- + ;;
- +
- + hpux9* | hpux10* | hpux11*)
- + lt_prog_compiler_wl='-Wl,'
- + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- + # not for PA HP-UX.
- + case $host_cpu in
- + hppa*64*|ia64*)
- + # +Z the default
- + ;;
- + *)
- + lt_prog_compiler_pic='+Z'
- + ;;
- + esac
- + # Is there a better lt_prog_compiler_static that works with the bundled CC?
- + lt_prog_compiler_static='${wl}-a ${wl}archive'
- + ;;
- +
- + irix5* | irix6* | nonstopux*)
- + lt_prog_compiler_wl='-Wl,'
- + # PIC (with -KPIC) is the default.
- + lt_prog_compiler_static='-non_shared'
- + ;;
- +
- + linux* | k*bsd*-gnu | kopensolaris*-gnu)
- + case $cc_basename in
- + # old Intel for x86_64 which still supported -KPIC.
- + ecc*)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-static'
- + ;;
- + # icc used to be incompatible with GCC.
- + # ICC 10 doesn't accept -KPIC any more.
- + icc* | ifort*)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='-fPIC'
- + lt_prog_compiler_static='-static'
- + ;;
- + # Lahey Fortran 8.1.
- + lf95*)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='--shared'
- + lt_prog_compiler_static='--static'
- + ;;
- + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- + # Portland Group compilers (*not* the Pentium gcc compiler,
- + # which looks to be a dead project)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='-fpic'
- + lt_prog_compiler_static='-Bstatic'
- + ;;
- + ccc*)
- + lt_prog_compiler_wl='-Wl,'
- + # All Alpha code is PIC.
- + lt_prog_compiler_static='-non_shared'
- + ;;
- + xl* | bgxl* | bgf* | mpixl*)
- + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='-qpic'
- + lt_prog_compiler_static='-qstaticlink'
- + ;;
- + *)
- + case `$CC -V 2>&1 | sed 5q` in
- + *Sun\ F* | *Sun*Fortran*)
- + # Sun Fortran 8.3 passes all unrecognized flags to the linker
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-Bstatic'
- + lt_prog_compiler_wl=''
- + ;;
- + *Sun\ C*)
- + # Sun C 5.9
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-Bstatic'
- + lt_prog_compiler_wl='-Wl,'
- + ;;
- + esac
- + ;;
- + esac
- + ;;
- +
- + newsos6)
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-Bstatic'
- + ;;
- +
- + *nto* | *qnx*)
- + # QNX uses GNU C++, but need to define -shared option too, otherwise
- + # it will coredump.
- + lt_prog_compiler_pic='-fPIC -shared'
- + ;;
- +
- + osf3* | osf4* | osf5*)
- + lt_prog_compiler_wl='-Wl,'
- + # All OSF/1 code is PIC.
- + lt_prog_compiler_static='-non_shared'
- + ;;
- +
- + rdos*)
- + lt_prog_compiler_static='-non_shared'
- + ;;
- +
- + solaris*)
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-Bstatic'
- + case $cc_basename in
- + f77* | f90* | f95*)
- + lt_prog_compiler_wl='-Qoption ld ';;
- + *)
- + lt_prog_compiler_wl='-Wl,';;
- + esac
- + ;;
- +
- + sunos4*)
- + lt_prog_compiler_wl='-Qoption ld '
- + lt_prog_compiler_pic='-PIC'
- + lt_prog_compiler_static='-Bstatic'
- + ;;
- +
- + sysv4 | sysv4.2uw2* | sysv4.3*)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-Bstatic'
- + ;;
- +
- + sysv4*MP*)
- + if test -d /usr/nec ;then
- + lt_prog_compiler_pic='-Kconform_pic'
- + lt_prog_compiler_static='-Bstatic'
- + fi
- + ;;
- +
- + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_pic='-KPIC'
- + lt_prog_compiler_static='-Bstatic'
- + ;;
- +
- + unicos*)
- + lt_prog_compiler_wl='-Wl,'
- + lt_prog_compiler_can_build_shared=no
- + ;;
- +
- + uts4*)
- + lt_prog_compiler_pic='-pic'
- + lt_prog_compiler_static='-Bstatic'
- + ;;
- +
- + *)
- + lt_prog_compiler_can_build_shared=no
- + ;;
- + esac
- + fi
- +
- +case $host_os in
- + # For platforms which do not support PIC, -DPIC is meaningless:
- + *djgpp*)
- + lt_prog_compiler_pic=
- + ;;
- + *)
- + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- + ;;
- +esac
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
- +$as_echo "$lt_prog_compiler_pic" >&6; }
- +
- +
- +
- +
- +
- +
- +#
- +# Check to make sure the PIC flag actually works.
- +#
- +if test -n "$lt_prog_compiler_pic"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
- +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
- +if ${lt_cv_prog_compiler_pic_works+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_prog_compiler_pic_works=no
- + ac_outfile=conftest.$ac_objext
- + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- + lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- + # Insert the option either (1) after the last *FLAGS variable, or
- + # (2) before a word containing "conftest.", or (3) at the end.
- + # Note that $ac_compile itself does not contain backslashes and begins
- + # with a dollar sign (not a hyphen), so the echo should work correctly.
- + # The option is referenced via a variable to avoid confusing sed.
- + lt_compile=`echo "$ac_compile" | $SED \
- + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- + -e 's:$: $lt_compiler_flag:'`
- + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- + (eval "$lt_compile" 2>conftest.err)
- + ac_status=$?
- + cat conftest.err >&5
- + echo "$as_me:$LINENO: \$? = $ac_status" >&5
- + if (exit $ac_status) && test -s "$ac_outfile"; then
- + # The compiler can only warn and ignore the option if not recognized
- + # So say no if there are warnings other than the usual output.
- + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- + lt_cv_prog_compiler_pic_works=yes
- + fi
- + fi
- + $RM conftest*
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
- +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
- +
- +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- + case $lt_prog_compiler_pic in
- + "" | " "*) ;;
- + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- + esac
- +else
- + lt_prog_compiler_pic=
- + lt_prog_compiler_can_build_shared=no
- +fi
- +
- +fi
- +
- +
- +
- +
- +
- +
- +#
- +# Check to make sure the static flag actually works.
- +#
- +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
- +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
- +if ${lt_cv_prog_compiler_static_works+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_prog_compiler_static_works=no
- + save_LDFLAGS="$LDFLAGS"
- + LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- + echo "$lt_simple_link_test_code" > conftest.$ac_ext
- + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- + # The linker can only warn and ignore the option if not recognized
- + # So say no if there are warnings
- + if test -s conftest.err; then
- + # Append any errors to the config.log.
- + cat conftest.err 1>&5
- + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- + if diff conftest.exp conftest.er2 >/dev/null; then
- + lt_cv_prog_compiler_static_works=yes
- + fi
- + else
- + lt_cv_prog_compiler_static_works=yes
- + fi
- + fi
- + $RM -r conftest*
- + LDFLAGS="$save_LDFLAGS"
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
- +$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
- +
- +if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- + :
- +else
- + lt_prog_compiler_static=
- +fi
- +
- +
- +
- +
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
- +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
- +if ${lt_cv_prog_compiler_c_o+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_prog_compiler_c_o=no
- + $RM -r conftest 2>/dev/null
- + mkdir conftest
- + cd conftest
- + mkdir out
- + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- +
- + lt_compiler_flag="-o out/conftest2.$ac_objext"
- + # Insert the option either (1) after the last *FLAGS variable, or
- + # (2) before a word containing "conftest.", or (3) at the end.
- + # Note that $ac_compile itself does not contain backslashes and begins
- + # with a dollar sign (not a hyphen), so the echo should work correctly.
- + lt_compile=`echo "$ac_compile" | $SED \
- + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- + -e 's:$: $lt_compiler_flag:'`
- + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- + (eval "$lt_compile" 2>out/conftest.err)
- + ac_status=$?
- + cat out/conftest.err >&5
- + echo "$as_me:$LINENO: \$? = $ac_status" >&5
- + if (exit $ac_status) && test -s out/conftest2.$ac_objext
- + then
- + # The compiler can only warn and ignore the option if not recognized
- + # So say no if there are warnings
- + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- + lt_cv_prog_compiler_c_o=yes
- + fi
- + fi
- + chmod u+w . 2>&5
- + $RM conftest*
- + # SGI C++ compiler will create directory out/ii_files/ for
- + # template instantiation
- + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- + $RM out/* && rmdir out
- + cd ..
- + $RM -r conftest
- + $RM conftest*
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
- +$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
- +
- +
- +
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
- +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
- +if ${lt_cv_prog_compiler_c_o+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_prog_compiler_c_o=no
- + $RM -r conftest 2>/dev/null
- + mkdir conftest
- + cd conftest
- + mkdir out
- + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- +
- + lt_compiler_flag="-o out/conftest2.$ac_objext"
- + # Insert the option either (1) after the last *FLAGS variable, or
- + # (2) before a word containing "conftest.", or (3) at the end.
- + # Note that $ac_compile itself does not contain backslashes and begins
- + # with a dollar sign (not a hyphen), so the echo should work correctly.
- + lt_compile=`echo "$ac_compile" | $SED \
- + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- + -e 's:$: $lt_compiler_flag:'`
- + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- + (eval "$lt_compile" 2>out/conftest.err)
- + ac_status=$?
- + cat out/conftest.err >&5
- + echo "$as_me:$LINENO: \$? = $ac_status" >&5
- + if (exit $ac_status) && test -s out/conftest2.$ac_objext
- + then
- + # The compiler can only warn and ignore the option if not recognized
- + # So say no if there are warnings
- + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- + lt_cv_prog_compiler_c_o=yes
- + fi
- + fi
- + chmod u+w . 2>&5
- + $RM conftest*
- + # SGI C++ compiler will create directory out/ii_files/ for
- + # template instantiation
- + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- + $RM out/* && rmdir out
- + cd ..
- + $RM -r conftest
- + $RM conftest*
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
- +$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
- +
- +
- +
- +
- +hard_links="nottested"
- +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- + # do not overwrite the value of need_locks provided by the user
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
- +$as_echo_n "checking if we can lock with hard links... " >&6; }
- + hard_links=yes
- + $RM conftest*
- + ln conftest.a conftest.b 2>/dev/null && hard_links=no
- + touch conftest.a
- + ln conftest.a conftest.b 2>&5 || hard_links=no
- + ln conftest.a conftest.b 2>/dev/null && hard_links=no
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
- +$as_echo "$hard_links" >&6; }
- + if test "$hard_links" = no; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
- +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- + need_locks=warn
- + fi
- +else
- + need_locks=no
- +fi
- +
- +
- +
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
- +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
- +
- + runpath_var=
- + allow_undefined_flag=
- + always_export_symbols=no
- + archive_cmds=
- + archive_expsym_cmds=
- + compiler_needs_object=no
- + enable_shared_with_static_runtimes=no
- + export_dynamic_flag_spec=
- + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- + hardcode_automatic=no
- + hardcode_direct=no
- + hardcode_direct_absolute=no
- + hardcode_libdir_flag_spec=
- + hardcode_libdir_flag_spec_ld=
- + hardcode_libdir_separator=
- + hardcode_minus_L=no
- + hardcode_shlibpath_var=unsupported
- + inherit_rpath=no
- + link_all_deplibs=unknown
- + module_cmds=
- + module_expsym_cmds=
- + old_archive_from_new_cmds=
- + old_archive_from_expsyms_cmds=
- + thread_safe_flag_spec=
- + whole_archive_flag_spec=
- + # include_expsyms should be a list of space-separated symbols to be *always*
- + # included in the symbol list
- + include_expsyms=
- + # exclude_expsyms can be an extended regexp of symbols to exclude
- + # it will be wrapped by ` (' and `)$', so one must not match beginning or
- + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- + # as well as any symbol that contains `d'.
- + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- + # platforms (ab)use it in PIC code, but their linkers get confused if
- + # the symbol is explicitly referenced. Since portable code cannot
- + # rely on this symbol name, it's probably fine to never include it in
- + # preloaded symbol tables.
- + # Exclude shared library initialization/finalization symbols.
- + extract_expsyms_cmds=
- +
- + case $host_os in
- + cygwin* | mingw* | pw32* | cegcc*)
- + # FIXME: the MSVC++ port hasn't been tested in a loooong time
- + # When not using gcc, we currently assume that we are using
- + # Microsoft Visual C++.
- + if test "$GCC" != yes; then
- + with_gnu_ld=no
- + fi
- + ;;
- + interix*)
- + # we just hope/assume this is gcc and not c89 (= MSVC++)
- + with_gnu_ld=yes
- + ;;
- + openbsd*)
- + with_gnu_ld=no
- + ;;
- + esac
- +
- + ld_shlibs=yes
- +
- + # On some targets, GNU ld is compatible enough with the native linker
- + # that we're better off using the native interface for both.
- + lt_use_gnu_ld_interface=no
- + if test "$with_gnu_ld" = yes; then
- + case $host_os in
- + aix*)
- + # The AIX port of GNU ld has always aspired to compatibility
- + # with the native linker. However, as the warning in the GNU ld
- + # block says, versions before 2.19.5* couldn't really create working
- + # shared libraries, regardless of the interface used.
- + case `$LD -v 2>&1` in
- + *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- + *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- + *)
- + lt_use_gnu_ld_interface=yes
- + ;;
- + esac
- + ;;
- + *)
- + lt_use_gnu_ld_interface=yes
- + ;;
- + esac
- + fi
- +
- + if test "$lt_use_gnu_ld_interface" = yes; then
- + # If archive_cmds runs LD, not CC, wlarc should be empty
- + wlarc='${wl}'
- +
- + # Set some defaults for GNU ld with shared library support. These
- + # are reset later if shared libraries are not supported. Putting them
- + # here allows them to be overridden if necessary.
- + runpath_var=LD_RUN_PATH
- + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- + export_dynamic_flag_spec='${wl}--export-dynamic'
- + # ancient GNU ld didn't support --whole-archive et. al.
- + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- + else
- + whole_archive_flag_spec=
- + fi
- + supports_anon_versioning=no
- + case `$LD -v 2>&1` in
- + *GNU\ gold*) supports_anon_versioning=yes ;;
- + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- + *\ 2.11.*) ;; # other 2.11 versions
- + *) supports_anon_versioning=yes ;;
- + esac
- +
- + # See if GNU ld supports shared libraries.
- + case $host_os in
- + aix[3-9]*)
- + # On AIX/PPC, the GNU linker is very broken
- + if test "$host_cpu" != ia64; then
- + ld_shlibs=no
- + cat <<_LT_EOF 1>&2
- +
- +*** Warning: the GNU linker, at least up to release 2.19, is reported
- +*** to be unable to reliably create shared libraries on AIX.
- +*** Therefore, libtool is disabling shared libraries support. If you
- +*** really care for shared libraries, you may want to install binutils
- +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
- +*** You will then need to restart the configuration process.
- +
- +_LT_EOF
- + fi
- + ;;
- +
- + amigaos*)
- + case $host_cpu in
- + powerpc)
- + # see comment about AmigaOS4 .so support
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + archive_expsym_cmds=''
- + ;;
- + m68k)
- + 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)'
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_minus_L=yes
- + ;;
- + esac
- + ;;
- +
- + beos*)
- + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- + allow_undefined_flag=unsupported
- + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- + # support --undefined. This deserves some investigation. FIXME
- + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + else
- + ld_shlibs=no
- + fi
- + ;;
- +
- + cygwin* | mingw* | pw32* | cegcc*)
- + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- + # as there is no search path for DLLs.
- + hardcode_libdir_flag_spec='-L$libdir'
- + export_dynamic_flag_spec='${wl}--export-all-symbols'
- + allow_undefined_flag=unsupported
- + always_export_symbols=no
- + enable_shared_with_static_runtimes=yes
- + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- +
- + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- + # If the export-symbols file already is a .def file (1st line
- + # is EXPORTS), use it as is; otherwise, prepend...
- + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- + cp $export_symbols $output_objdir/$soname.def;
- + else
- + echo EXPORTS > $output_objdir/$soname.def;
- + cat $export_symbols >> $output_objdir/$soname.def;
- + fi~
- + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- + else
- + ld_shlibs=no
- + fi
- + ;;
- +
- + haiku*)
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + link_all_deplibs=yes
- + ;;
- +
- + interix[3-9]*)
- + hardcode_direct=no
- + hardcode_shlibpath_var=no
- + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- + export_dynamic_flag_spec='${wl}-E'
- + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- + # Instead, shared libraries are loaded at an image base (0x10000000 by
- + # default) and relocated if they conflict, which is a slow very memory
- + # consuming and fragmenting process. To avoid this, we pick a random,
- + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- + # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- + 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'
- + ;;
- +
- + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- + tmp_diet=no
- + if test "$host_os" = linux-dietlibc; then
- + case $cc_basename in
- + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- + esac
- + fi
- + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- + && test "$tmp_diet" = no
- + then
- + tmp_addflag=' $pic_flag'
- + tmp_sharedflag='-shared'
- + case $cc_basename,$host_cpu in
- + pgcc*) # Portland Group C compiler
- + 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'
- + tmp_addflag=' $pic_flag'
- + ;;
- + pgf77* | pgf90* | pgf95* | pgfortran*)
- + # Portland Group f77 and f90 compilers
- + 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'
- + tmp_addflag=' $pic_flag -Mnomain' ;;
- + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- + tmp_addflag=' -i_dynamic' ;;
- + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- + tmp_addflag=' -i_dynamic -nofor_main' ;;
- + ifc* | ifort*) # Intel Fortran compiler
- + tmp_addflag=' -nofor_main' ;;
- + lf95*) # Lahey Fortran 8.1
- + whole_archive_flag_spec=
- + tmp_sharedflag='--shared' ;;
- + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- + tmp_sharedflag='-qmkshrobj'
- + tmp_addflag= ;;
- + nvcc*) # Cuda Compiler Driver 2.2
- + 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'
- + compiler_needs_object=yes
- + ;;
- + esac
- + case `$CC -V 2>&1 | sed 5q` in
- + *Sun\ C*) # Sun C 5.9
- + 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'
- + compiler_needs_object=yes
- + tmp_sharedflag='-G' ;;
- + *Sun\ F*) # Sun Fortran 8.3
- + tmp_sharedflag='-G' ;;
- + esac
- + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- +
- + if test "x$supports_anon_versioning" = xyes; then
- + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- + echo "local: *; };" >> $output_objdir/$libname.ver~
- + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- + fi
- +
- + case $cc_basename in
- + xlf* | bgf* | bgxlf* | mpixlf*)
- + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- + hardcode_libdir_flag_spec=
- + hardcode_libdir_flag_spec_ld='-rpath $libdir'
- + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
- + if test "x$supports_anon_versioning" = xyes; then
- + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- + echo "local: *; };" >> $output_objdir/$libname.ver~
- + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- + fi
- + ;;
- + esac
- + else
- + ld_shlibs=no
- + fi
- + ;;
- +
- + netbsd*)
- + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- + wlarc=
- + else
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- + fi
- + ;;
- +
- + solaris*)
- + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- + ld_shlibs=no
- + cat <<_LT_EOF 1>&2
- +
- +*** Warning: The releases 2.8.* of the GNU linker cannot reliably
- +*** create shared libraries on Solaris systems. Therefore, libtool
- +*** is disabling shared libraries support. We urge you to upgrade GNU
- +*** binutils to release 2.9.1 or newer. Another option is to modify
- +*** your PATH or compiler configuration so that the native linker is
- +*** used, and then restart.
- +
- +_LT_EOF
- + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- + else
- + ld_shlibs=no
- + fi
- + ;;
- +
- + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- + case `$LD -v 2>&1` in
- + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- + ld_shlibs=no
- + cat <<_LT_EOF 1>&2
- +
- +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
- +*** reliably create shared libraries on SCO systems. Therefore, libtool
- +*** is disabling shared libraries support. We urge you to upgrade GNU
- +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
- +*** your PATH or compiler configuration so that the native linker is
- +*** used, and then restart.
- +
- +_LT_EOF
- + ;;
- + *)
- + # For security reasons, it is highly recommended that you always
- + # use absolute paths for naming shared libraries, and exclude the
- + # DT_RUNPATH tag from executables and libraries. But doing so
- + # requires that you compile everything twice, which is a pain.
- + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- + else
- + ld_shlibs=no
- + fi
- + ;;
- + esac
- + ;;
- +
- + sunos4*)
- + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- + wlarc=
- + hardcode_direct=yes
- + hardcode_shlibpath_var=no
- + ;;
- +
- + *)
- + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- + else
- + ld_shlibs=no
- + fi
- + ;;
- + esac
- +
- + if test "$ld_shlibs" = no; then
- + runpath_var=
- + hardcode_libdir_flag_spec=
- + export_dynamic_flag_spec=
- + whole_archive_flag_spec=
- + fi
- + else
- + # PORTME fill in a description of your system's linker (not GNU ld)
- + case $host_os in
- + aix3*)
- + allow_undefined_flag=unsupported
- + always_export_symbols=yes
- + 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'
- + # Note: this linker hardcodes the directories in LIBPATH if there
- + # are no directories specified by -L.
- + hardcode_minus_L=yes
- + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- + # Neither direct hardcoding nor static linking is supported with a
- + # broken collect2.
- + hardcode_direct=unsupported
- + fi
- + ;;
- +
- + aix[4-9]*)
- + if test "$host_cpu" = ia64; then
- + # On IA64, the linker does run time linking by default, so we don't
- + # have to do anything special.
- + aix_use_runtimelinking=no
- + exp_sym_flag='-Bexport'
- + no_entry_flag=""
- + else
- + # If we're using GNU nm, then we don't want the "-C" option.
- + # -C means demangle to AIX nm, but means don't demangle with GNU nm
- + # Also, AIX nm treats weak defined symbols like other global
- + # defined symbols, whereas GNU nm marks them as "W".
- + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- + else
- + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- + fi
- + aix_use_runtimelinking=no
- +
- + # Test if we are trying to use run time linking or normal
- + # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- + # need to do runtime linking.
- + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- + for ld_flag in $LDFLAGS; do
- + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- + aix_use_runtimelinking=yes
- + break
- + fi
- + done
- + ;;
- + esac
- +
- + exp_sym_flag='-bexport'
- + no_entry_flag='-bnoentry'
- + fi
- +
- + # When large executables or shared objects are built, AIX ld can
- + # have problems creating the table of contents. If linking a library
- + # or program results in "error TOC overflow" add -mminimal-toc to
- + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- +
- + archive_cmds=''
- + hardcode_direct=yes
- + hardcode_direct_absolute=yes
- + hardcode_libdir_separator=':'
- + link_all_deplibs=yes
- + file_list_spec='${wl}-f,'
- +
- + if test "$GCC" = yes; then
- + case $host_os in aix4.[012]|aix4.[012].*)
- + # We only want to do this on AIX 4.2 and lower, the check
- + # below for broken collect2 doesn't work under 4.3+
- + collect2name=`${CC} -print-prog-name=collect2`
- + if test -f "$collect2name" &&
- + strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- + then
- + # We have reworked collect2
- + :
- + else
- + # We have old collect2
- + hardcode_direct=unsupported
- + # It fails to find uninstalled libraries when the uninstalled
- + # path is not listed in the libpath. Setting hardcode_minus_L
- + # to unsupported forces relinking
- + hardcode_minus_L=yes
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_libdir_separator=
- + fi
- + ;;
- + esac
- + shared_flag='-shared'
- + if test "$aix_use_runtimelinking" = yes; then
- + shared_flag="$shared_flag "'${wl}-G'
- + fi
- + else
- + # not using gcc
- + if test "$host_cpu" = ia64; then
- + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- + # chokes on -Wl,-G. The following line is correct:
- + shared_flag='-G'
- + else
- + if test "$aix_use_runtimelinking" = yes; then
- + shared_flag='${wl}-G'
- + else
- + shared_flag='${wl}-bM:SRE'
- + fi
- + fi
- + fi
- +
- + export_dynamic_flag_spec='${wl}-bexpall'
- + # It seems that -bexpall does not export symbols beginning with
- + # underscore (_), so it is better to generate a list of symbols to export.
- + always_export_symbols=yes
- + if test "$aix_use_runtimelinking" = yes; then
- + # Warning - without using the other runtime loading flags (-brtl),
- + # -berok will link without error, but may produce a broken library.
- + allow_undefined_flag='-berok'
- + # Determine the default libpath from the value encoded in an
- + # empty executable.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- +
- +lt_aix_libpath_sed='
- + /Import File Strings/,/^$/ {
- + /^0/ {
- + s/^0 *\(.*\)$/\1/
- + p
- + }
- + }'
- +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- +# Check for a 64-bit object if we didn't find anything.
- +if test -z "$aix_libpath"; then
- + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- +fi
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- +
- + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- + else
- + if test "$host_cpu" = ia64; then
- + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- + allow_undefined_flag="-z nodefs"
- + 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"
- + else
- + # Determine the default libpath from the value encoded in an
- + # empty executable.
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- +
- +lt_aix_libpath_sed='
- + /Import File Strings/,/^$/ {
- + /^0/ {
- + s/^0 *\(.*\)$/\1/
- + p
- + }
- + }'
- +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- +# Check for a 64-bit object if we didn't find anything.
- +if test -z "$aix_libpath"; then
- + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- +fi
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- +
- + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- + # Warning - without using the other run time loading flags,
- + # -berok will link without error, but may produce a broken library.
- + no_undefined_flag=' ${wl}-bernotok'
- + allow_undefined_flag=' ${wl}-berok'
- + if test "$with_gnu_ld" = yes; then
- + # We only use this code for GNU lds that support --whole-archive.
- + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- + else
- + # Exported symbols can be pulled into shared objects from archives
- + whole_archive_flag_spec='$convenience'
- + fi
- + archive_cmds_need_lc=yes
- + # This is similar to how AIX traditionally builds its shared libraries.
- + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- + fi
- + fi
- + ;;
- +
- + amigaos*)
- + case $host_cpu in
- + powerpc)
- + # see comment about AmigaOS4 .so support
- + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- + archive_expsym_cmds=''
- + ;;
- + m68k)
- + 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)'
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_minus_L=yes
- + ;;
- + esac
- + ;;
- +
- + bsdi[45]*)
- + export_dynamic_flag_spec=-rdynamic
- + ;;
- +
- + cygwin* | mingw* | pw32* | cegcc*)
- + # When not using gcc, we currently assume that we are using
- + # Microsoft Visual C++.
- + # hardcode_libdir_flag_spec is actually meaningless, as there is
- + # no search path for DLLs.
- + hardcode_libdir_flag_spec=' '
- + allow_undefined_flag=unsupported
- + # Tell ltmain to make .lib files, not .a files.
- + libext=lib
- + # Tell ltmain to make .dll files, not .so files.
- + shrext_cmds=".dll"
- + # FIXME: Setting linknames here is a bad hack.
- + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- + # The linker will automatically build a .lib file if we build a DLL.
- + old_archive_from_new_cmds='true'
- + # FIXME: Should let the user specify the lib program.
- + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- + fix_srcfile_path='`cygpath -w "$srcfile"`'
- + enable_shared_with_static_runtimes=yes
- + ;;
- +
- + darwin* | rhapsody*)
- +
- +
- + archive_cmds_need_lc=no
- + hardcode_direct=no
- + hardcode_automatic=yes
- + hardcode_shlibpath_var=unsupported
- + if test "$lt_cv_ld_force_load" = "yes"; then
- + 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\"`'
- + else
- + whole_archive_flag_spec=''
- + fi
- + link_all_deplibs=yes
- + allow_undefined_flag="$_lt_dar_allow_undefined"
- + case $cc_basename in
- + ifort*) _lt_dar_can_shared=yes ;;
- + *) _lt_dar_can_shared=$GCC ;;
- + esac
- + if test "$_lt_dar_can_shared" = "yes"; then
- + output_verbose_link_cmd=func_echo_all
- + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- + 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}"
- + 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}"
- +
- + else
- + ld_shlibs=no
- + fi
- +
- + ;;
- +
- + dgux*)
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_shlibpath_var=no
- + ;;
- +
- + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- + # support. Future versions do this automatically, but an explicit c++rt0.o
- + # does not break anything, and helps significantly (at the cost of a little
- + # extra space).
- + freebsd2.2*)
- + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- + hardcode_libdir_flag_spec='-R$libdir'
- + hardcode_direct=yes
- + hardcode_shlibpath_var=no
- + ;;
- +
- + # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- + freebsd2.*)
- + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_direct=yes
- + hardcode_minus_L=yes
- + hardcode_shlibpath_var=no
- + ;;
- +
- + # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- + freebsd* | dragonfly*)
- + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- + hardcode_libdir_flag_spec='-R$libdir'
- + hardcode_direct=yes
- + hardcode_shlibpath_var=no
- + ;;
- +
- + hpux9*)
- + if test "$GCC" = yes; then
- + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- + else
- + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- + fi
- + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- + hardcode_libdir_separator=:
- + hardcode_direct=yes
- +
- + # hardcode_minus_L: Not really in the search PATH,
- + # but as the default location of the library.
- + hardcode_minus_L=yes
- + export_dynamic_flag_spec='${wl}-E'
- + ;;
- +
- + hpux10*)
- + if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- + else
- + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- + fi
- + if test "$with_gnu_ld" = no; then
- + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- + hardcode_libdir_flag_spec_ld='+b $libdir'
- + hardcode_libdir_separator=:
- + hardcode_direct=yes
- + hardcode_direct_absolute=yes
- + export_dynamic_flag_spec='${wl}-E'
- + # hardcode_minus_L: Not really in the search PATH,
- + # but as the default location of the library.
- + hardcode_minus_L=yes
- + fi
- + ;;
- +
- + hpux11*)
- + if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- + case $host_cpu in
- + hppa*64*)
- + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- + ;;
- + ia64*)
- + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- + ;;
- + *)
- + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- + ;;
- + esac
- + else
- + case $host_cpu in
- + hppa*64*)
- + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- + ;;
- + ia64*)
- + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- + ;;
- + *)
- +
- + # Older versions of the 11.00 compiler do not understand -b yet
- + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
- +$as_echo_n "checking if $CC understands -b... " >&6; }
- +if ${lt_cv_prog_compiler__b+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_prog_compiler__b=no
- + save_LDFLAGS="$LDFLAGS"
- + LDFLAGS="$LDFLAGS -b"
- + echo "$lt_simple_link_test_code" > conftest.$ac_ext
- + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- + # The linker can only warn and ignore the option if not recognized
- + # So say no if there are warnings
- + if test -s conftest.err; then
- + # Append any errors to the config.log.
- + cat conftest.err 1>&5
- + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- + if diff conftest.exp conftest.er2 >/dev/null; then
- + lt_cv_prog_compiler__b=yes
- + fi
- + else
- + lt_cv_prog_compiler__b=yes
- + fi
- + fi
- + $RM -r conftest*
- + LDFLAGS="$save_LDFLAGS"
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
- +$as_echo "$lt_cv_prog_compiler__b" >&6; }
- +
- +if test x"$lt_cv_prog_compiler__b" = xyes; then
- + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- +else
- + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- +fi
- +
- + ;;
- + esac
- + fi
- + if test "$with_gnu_ld" = no; then
- + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- + hardcode_libdir_separator=:
- +
- + case $host_cpu in
- + hppa*64*|ia64*)
- + hardcode_direct=no
- + hardcode_shlibpath_var=no
- + ;;
- + *)
- + hardcode_direct=yes
- + hardcode_direct_absolute=yes
- + export_dynamic_flag_spec='${wl}-E'
- +
- + # hardcode_minus_L: Not really in the search PATH,
- + # but as the default location of the library.
- + hardcode_minus_L=yes
- + ;;
- + esac
- + fi
- + ;;
- +
- + irix5* | irix6* | nonstopux*)
- + if test "$GCC" = yes; then
- + archive_cmds='$CC -shared $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'
- + # Try to use the -exported_symbol ld option, if it does not
- + # work, assume that -exports_file does not work either and
- + # implicitly export all symbols.
- + save_LDFLAGS="$LDFLAGS"
- + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +int foo(void) {}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + archive_expsym_cmds='$CC -shared $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'
- +
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- + LDFLAGS="$save_LDFLAGS"
- + else
- + 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'
- + 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'
- + fi
- + archive_cmds_need_lc='no'
- + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- + hardcode_libdir_separator=:
- + inherit_rpath=yes
- + link_all_deplibs=yes
- + ;;
- +
- + netbsd*)
- + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- + else
- + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- + fi
- + hardcode_libdir_flag_spec='-R$libdir'
- + hardcode_direct=yes
- + hardcode_shlibpath_var=no
- + ;;
- +
- + newsos6)
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_direct=yes
- + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- + hardcode_libdir_separator=:
- + hardcode_shlibpath_var=no
- + ;;
- +
- + *nto* | *qnx*)
- + ;;
- +
- + openbsd*)
- + if test -f /usr/libexec/ld.so; then
- + hardcode_direct=yes
- + hardcode_shlibpath_var=no
- + hardcode_direct_absolute=yes
- + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- + export_dynamic_flag_spec='${wl}-E'
- + else
- + case $host_os in
- + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_libdir_flag_spec='-R$libdir'
- + ;;
- + *)
- + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- + hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- + ;;
- + esac
- + fi
- + else
- + ld_shlibs=no
- + fi
- + ;;
- +
- + os2*)
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_minus_L=yes
- + allow_undefined_flag=unsupported
- + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- + ;;
- +
- + osf3*)
- + if test "$GCC" = yes; then
- + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- + 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'
- + else
- + allow_undefined_flag=' -expect_unresolved \*'
- + 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'
- + fi
- + archive_cmds_need_lc='no'
- + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- + hardcode_libdir_separator=:
- + ;;
- +
- + osf4* | osf5*) # as osf3* with the addition of -msym flag
- + if test "$GCC" = yes; then
- + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- + archive_cmds='$CC -shared${allow_undefined_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'
- + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- + else
- + allow_undefined_flag=' -expect_unresolved \*'
- + 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'
- + 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~
- + $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'
- +
- + # Both c and cxx compiler support -rpath directly
- + hardcode_libdir_flag_spec='-rpath $libdir'
- + fi
- + archive_cmds_need_lc='no'
- + hardcode_libdir_separator=:
- + ;;
- +
- + solaris*)
- + no_undefined_flag=' -z defs'
- + if test "$GCC" = yes; then
- + wlarc='${wl}'
- + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- + else
- + case `$CC -V 2>&1` in
- + *"Compilers 5.0"*)
- + wlarc=''
- + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- + ;;
- + *)
- + wlarc='${wl}'
- + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- + ;;
- + esac
- + fi
- + hardcode_libdir_flag_spec='-R$libdir'
- + hardcode_shlibpath_var=no
- + case $host_os in
- + solaris2.[0-5] | solaris2.[0-5].*) ;;
- + *)
- + # The compiler driver will combine and reorder linker options,
- + # but understands `-z linker_flag'. GCC discards it without `$wl',
- + # but is careful enough not to reorder.
- + # Supported since Solaris 2.6 (maybe 2.5.1?)
- + if test "$GCC" = yes; then
- + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- + else
- + whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- + fi
- + ;;
- + esac
- + link_all_deplibs=yes
- + ;;
- +
- + sunos4*)
- + if test "x$host_vendor" = xsequent; then
- + # Use $CC to link under sequent, because it throws in some extra .o
- + # files that make .init and .fini sections work.
- + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- + else
- + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- + fi
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_direct=yes
- + hardcode_minus_L=yes
- + hardcode_shlibpath_var=no
- + ;;
- +
- + sysv4)
- + case $host_vendor in
- + sni)
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_direct=yes # is this really true???
- + ;;
- + siemens)
- + ## LD is ld it makes a PLAMLIB
- + ## CC just makes a GrossModule.
- + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- + reload_cmds='$CC -r -o $output$reload_objs'
- + hardcode_direct=no
- + ;;
- + motorola)
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- + ;;
- + esac
- + runpath_var='LD_RUN_PATH'
- + hardcode_shlibpath_var=no
- + ;;
- +
- + sysv4.3*)
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_shlibpath_var=no
- + export_dynamic_flag_spec='-Bexport'
- + ;;
- +
- + sysv4*MP*)
- + if test -d /usr/nec; then
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_shlibpath_var=no
- + runpath_var=LD_RUN_PATH
- + hardcode_runpath_var=yes
- + ld_shlibs=yes
- + fi
- + ;;
- +
- + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- + no_undefined_flag='${wl}-z,text'
- + archive_cmds_need_lc=no
- + hardcode_shlibpath_var=no
- + runpath_var='LD_RUN_PATH'
- +
- + if test "$GCC" = yes; then
- + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + else
- + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + fi
- + ;;
- +
- + sysv5* | sco3.2v5* | sco5v6*)
- + # Note: We can NOT use -z defs as we might desire, because we do not
- + # link with -lc, and that would cause any symbols used from libc to
- + # always be unresolved, which means just about no library would
- + # ever link correctly. If we're not using GNU ld we use -z text
- + # though, which does catch some bad symbols but isn't as heavy-handed
- + # as -z defs.
- + no_undefined_flag='${wl}-z,text'
- + allow_undefined_flag='${wl}-z,nodefs'
- + archive_cmds_need_lc=no
- + hardcode_shlibpath_var=no
- + hardcode_libdir_flag_spec='${wl}-R,$libdir'
- + hardcode_libdir_separator=':'
- + link_all_deplibs=yes
- + export_dynamic_flag_spec='${wl}-Bexport'
- + runpath_var='LD_RUN_PATH'
- +
- + if test "$GCC" = yes; then
- + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + else
- + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- + fi
- + ;;
- +
- + uts4*)
- + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_shlibpath_var=no
- + ;;
- +
- + *)
- + ld_shlibs=no
- + ;;
- + esac
- +
- + if test x$host_vendor = xsni; then
- + case $host in
- + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- + export_dynamic_flag_spec='${wl}-Blargedynsym'
- + ;;
- + esac
- + fi
- + fi
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
- +$as_echo "$ld_shlibs" >&6; }
- +test "$ld_shlibs" = no && can_build_shared=no
- +
- +with_gnu_ld=$with_gnu_ld
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +#
- +# Do we need to explicitly link libc?
- +#
- +case "x$archive_cmds_need_lc" in
- +x|xyes)
- + # Assume -lc should be added
- + archive_cmds_need_lc=yes
- +
- + if test "$enable_shared" = yes && test "$GCC" = yes; then
- + case $archive_cmds in
- + *'~'*)
- + # FIXME: we may have to deal with multi-command sequences.
- + ;;
- + '$CC '*)
- + # Test whether the compiler implicitly links with -lc since on some
- + # systems, -lgcc has to come before -lc. If gcc already passes -lc
- + # to ld, don't add -lc before -lgcc.
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
- +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
- +if ${lt_cv_archive_cmds_need_lc+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + $RM conftest*
- + echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- +
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- + (eval $ac_compile) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } 2>conftest.err; then
- + soname=conftest
- + lib=conftest
- + libobjs=conftest.$ac_objext
- + deplibs=
- + wl=$lt_prog_compiler_wl
- + pic_flag=$lt_prog_compiler_pic
- + compiler_flags=-v
- + linker_flags=-v
- + verstring=
- + output_objdir=.
- + libname=conftest
- + lt_save_allow_undefined_flag=$allow_undefined_flag
- + allow_undefined_flag=
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; }
- + then
- + lt_cv_archive_cmds_need_lc=no
- + else
- + lt_cv_archive_cmds_need_lc=yes
- + fi
- + allow_undefined_flag=$lt_save_allow_undefined_flag
- + else
- + cat conftest.err 1>&5
- + fi
- + $RM conftest*
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
- +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- + ;;
- + esac
- + fi
- + ;;
- +esac
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
- +$as_echo_n "checking dynamic linker characteristics... " >&6; }
- +
- +if test "$GCC" = yes; then
- + case $host_os in
- + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- + *) lt_awk_arg="/^libraries:/" ;;
- + esac
- + case $host_os in
- + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- + *) lt_sed_strip_eq="s,=/,/,g" ;;
- + esac
- + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- + case $lt_search_path_spec in
- + *\;*)
- + # if the path contains ";" then we assume it to be the separator
- + # otherwise default to the standard path separator (i.e. ":") - it is
- + # assumed that no part of a normal pathname contains ";" but that should
- + # okay in the real world where ";" in dirpaths is itself problematic.
- + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- + ;;
- + *)
- + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- + ;;
- + esac
- + # Ok, now we have the path, separated by spaces, we can step through it
- + # and add multilib dir if necessary.
- + lt_tmp_lt_search_path_spec=
- + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- + for lt_sys_path in $lt_search_path_spec; do
- + if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- + else
- + test -d "$lt_sys_path" && \
- + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- + fi
- + done
- + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
- +BEGIN {RS=" "; FS="/|\n";} {
- + lt_foo="";
- + lt_count=0;
- + for (lt_i = NF; lt_i > 0; lt_i--) {
- + if ($lt_i != "" && $lt_i != ".") {
- + if ($lt_i == "..") {
- + lt_count++;
- + } else {
- + if (lt_count == 0) {
- + lt_foo="/" $lt_i lt_foo;
- + } else {
- + lt_count--;
- + }
- + }
- + }
- + }
- + if (lt_foo != "") { lt_freq[lt_foo]++; }
- + if (lt_freq[lt_foo] == 1) { print lt_foo; }
- +}'`
- + # AWK program above erroneously prepends '/' to C:/dos/paths
- + # for these hosts.
- + case $host_os in
- + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- + $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- + esac
- + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
- +else
- + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
- +fi
- +library_names_spec=
- +libname_spec='lib$name'
- +soname_spec=
- +shrext_cmds=".so"
- +postinstall_cmds=
- +postuninstall_cmds=
- +finish_cmds=
- +finish_eval=
- +shlibpath_var=
- +shlibpath_overrides_runpath=unknown
- +version_type=none
- +dynamic_linker="$host_os ld.so"
- +sys_lib_dlsearch_path_spec="/lib /usr/lib"
- +need_lib_prefix=unknown
- +hardcode_into_libs=no
- +
- +# when you set need_version to no, make sure it does not cause -set_version
- +# flags to be left without arguments
- +need_version=unknown
- +
- +case $host_os in
- +aix3*)
- + version_type=linux
- + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- + shlibpath_var=LIBPATH
- +
- + # AIX 3 has no versioning support, so we append a major version to the name.
- + soname_spec='${libname}${release}${shared_ext}$major'
- + ;;
- +
- +aix[4-9]*)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + hardcode_into_libs=yes
- + if test "$host_cpu" = ia64; then
- + # AIX 5 supports IA64
- + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- + shlibpath_var=LD_LIBRARY_PATH
- + else
- + # With GCC up to 2.95.x, collect2 would create an import file
- + # for dependence libraries. The import file would start with
- + # the line `#! .'. This would cause the generated library to
- + # depend on `.', always an invalid library. This was fixed in
- + # development snapshots of GCC prior to 3.0.
- + case $host_os in
- + aix4 | aix4.[01] | aix4.[01].*)
- + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- + echo ' yes '
- + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- + :
- + else
- + can_build_shared=no
- + fi
- + ;;
- + esac
- + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- + # soname into executable. Probably we can add versioning support to
- + # collect2, so additional links can be useful in future.
- + if test "$aix_use_runtimelinking" = yes; then
- + # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- + # instead of lib<name>.a to let people know that these are not
- + # typical AIX shared libraries.
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + else
- + # We preserve .a as extension for shared libraries through AIX4.2
- + # and later when we are not doing run time linking.
- + library_names_spec='${libname}${release}.a $libname.a'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + fi
- + shlibpath_var=LIBPATH
- + fi
- + ;;
- +
- +amigaos*)
- + case $host_cpu in
- + powerpc)
- + # Since July 2007 AmigaOS4 officially supports .so libraries.
- + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + ;;
- + m68k)
- + library_names_spec='$libname.ixlibrary $libname.a'
- + # Create ${libname}_ixlibrary.a entries in /sys/libs.
- + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $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'
- + ;;
- + esac
- + ;;
- +
- +beos*)
- + library_names_spec='${libname}${shared_ext}'
- + dynamic_linker="$host_os ld.so"
- + shlibpath_var=LIBRARY_PATH
- + ;;
- +
- +bsdi[45]*)
- + version_type=linux
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- + shlibpath_var=LD_LIBRARY_PATH
- + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- + # the default ld.so.conf also contains /usr/contrib/lib and
- + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- + # libtool to hard-code these into programs
- + ;;
- +
- +cygwin* | mingw* | pw32* | cegcc*)
- + version_type=windows
- + shrext_cmds=".dll"
- + need_version=no
- + need_lib_prefix=no
- +
- + case $GCC,$host_os in
- + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
- + library_names_spec='$libname.dll.a'
- + # DLL is installed to $(libdir)/../bin by postinstall_cmds
- + postinstall_cmds='base_file=`basename \${file}`~
- + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- + dldir=$destdir/`dirname \$dlpath`~
- + test -d \$dldir || mkdir -p \$dldir~
- + $install_prog $dir/$dlname \$dldir/$dlname~
- + chmod a+x \$dldir/$dlname~
- + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- + fi'
- + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- + dlpath=$dir/\$dldll~
- + $RM \$dlpath'
- + shlibpath_overrides_runpath=yes
- +
- + case $host_os in
- + cygwin*)
- + # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- +
- + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- + ;;
- + mingw* | cegcc*)
- + # MinGW DLLs use traditional 'lib' prefix
- + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- + ;;
- + pw32*)
- + # pw32 DLLs use 'pw' prefix rather than 'lib'
- + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- + ;;
- + esac
- + ;;
- +
- + *)
- + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- + ;;
- + esac
- + dynamic_linker='Win32 ld.exe'
- + # FIXME: first we should search . and the directory the executable is in
- + shlibpath_var=PATH
- + ;;
- +
- +darwin* | rhapsody*)
- + dynamic_linker="$host_os dyld"
- + version_type=darwin
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- + soname_spec='${libname}${release}${major}$shared_ext'
- + shlibpath_overrides_runpath=yes
- + shlibpath_var=DYLD_LIBRARY_PATH
- + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- +
- + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- + ;;
- +
- +dgux*)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + ;;
- +
- +freebsd* | dragonfly*)
- + # DragonFly does not have aout. When/if they implement a new
- + # versioning mechanism, adjust this.
- + if test -x /usr/bin/objformat; then
- + objformat=`/usr/bin/objformat`
- + else
- + case $host_os in
- + freebsd[23].*) objformat=aout ;;
- + *) objformat=elf ;;
- + esac
- + fi
- + version_type=freebsd-$objformat
- + case $version_type in
- + freebsd-elf*)
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- + need_version=no
- + need_lib_prefix=no
- + ;;
- + freebsd-*)
- + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- + need_version=yes
- + ;;
- + esac
- + shlibpath_var=LD_LIBRARY_PATH
- + case $host_os in
- + freebsd2.*)
- + shlibpath_overrides_runpath=yes
- + ;;
- + freebsd3.[01]* | freebsdelf3.[01]*)
- + shlibpath_overrides_runpath=yes
- + hardcode_into_libs=yes
- + ;;
- + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- + shlibpath_overrides_runpath=no
- + hardcode_into_libs=yes
- + ;;
- + *) # from 4.6 on, and DragonFly
- + shlibpath_overrides_runpath=yes
- + hardcode_into_libs=yes
- + ;;
- + esac
- + ;;
- +
- +gnu*)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + hardcode_into_libs=yes
- + ;;
- +
- +haiku*)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + dynamic_linker="$host_os runtime_loader"
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LIBRARY_PATH
- + shlibpath_overrides_runpath=yes
- + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
- + hardcode_into_libs=yes
- + ;;
- +
- +hpux9* | hpux10* | hpux11*)
- + # Give a soname corresponding to the major version so that dld.sl refuses to
- + # link against other versions.
- + version_type=sunos
- + need_lib_prefix=no
- + need_version=no
- + case $host_cpu in
- + ia64*)
- + shrext_cmds='.so'
- + hardcode_into_libs=yes
- + dynamic_linker="$host_os dld.so"
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + if test "X$HPUX_IA64_MODE" = X32; then
- + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- + else
- + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- + fi
- + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- + ;;
- + hppa*64*)
- + shrext_cmds='.sl'
- + hardcode_into_libs=yes
- + dynamic_linker="$host_os dld.sl"
- + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- + ;;
- + *)
- + shrext_cmds='.sl'
- + dynamic_linker="$host_os dld.sl"
- + shlibpath_var=SHLIB_PATH
- + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + ;;
- + esac
- + # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- + postinstall_cmds='chmod 555 $lib'
- + # or fails outright, so override atomically:
- + install_override_mode=555
- + ;;
- +
- +interix[3-9]*)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=no
- + hardcode_into_libs=yes
- + ;;
- +
- +irix5* | irix6* | nonstopux*)
- + case $host_os in
- + nonstopux*) version_type=nonstopux ;;
- + *)
- + if test "$lt_cv_prog_gnu_ld" = yes; then
- + version_type=linux
- + else
- + version_type=irix
- + fi ;;
- + esac
- + need_lib_prefix=no
- + need_version=no
- + soname_spec='${libname}${release}${shared_ext}$major'
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- + case $host_os in
- + irix5* | nonstopux*)
- + libsuff= shlibsuff=
- + ;;
- + *)
- + case $LD in # libtool.m4 will add one of these switches to LD
- + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- + libsuff= shlibsuff= libmagic=32-bit;;
- + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- + libsuff=32 shlibsuff=N32 libmagic=N32;;
- + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- + libsuff=64 shlibsuff=64 libmagic=64-bit;;
- + *) libsuff= shlibsuff= libmagic=never-match;;
- + esac
- + ;;
- + esac
- + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- + shlibpath_overrides_runpath=no
- + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- + hardcode_into_libs=yes
- + ;;
- +
- +# No shared lib support for Linux oldld, aout, or coff.
- +linux*oldld* | linux*aout* | linux*coff*)
- + dynamic_linker=no
- + ;;
- +
- +# This must be Linux ELF.
- +linux* | k*bsd*-gnu | kopensolaris*-gnu)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=no
- +
- + # Some binutils ld are patched to set DT_RUNPATH
- + if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + lt_cv_shlibpath_overrides_runpath=no
- + save_LDFLAGS=$LDFLAGS
- + save_libdir=$libdir
- + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- + lt_cv_shlibpath_overrides_runpath=yes
- +fi
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- + LDFLAGS=$save_LDFLAGS
- + libdir=$save_libdir
- +
- +fi
- +
- + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
- +
- + # This implies no fast_install, which is unacceptable.
- + # Some rework will be needed to allow for fast_install
- + # before this can be enabled.
- + hardcode_into_libs=yes
- +
- + # Append ld.so.conf contents to the search path
- + if test -f /etc/ld.so.conf; then
- + 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' ' '`
- + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- + fi
- +
- + # We used to test for /lib/ld.so.1 and disable shared libraries on
- + # powerpc, because MkLinux only supported shared libraries with the
- + # GNU dynamic linker. Since this was broken with cross compilers,
- + # most powerpc-linux boxes support dynamic linking these days and
- + # people can always --disable-shared, the test was removed, and we
- + # assume the GNU/Linux dynamic linker is in use.
- + dynamic_linker='GNU/Linux ld.so'
- + ;;
- +
- +netbsd*)
- + version_type=sunos
- + need_lib_prefix=no
- + need_version=no
- + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- + dynamic_linker='NetBSD (a.out) ld.so'
- + else
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + dynamic_linker='NetBSD ld.elf_so'
- + fi
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=yes
- + hardcode_into_libs=yes
- + ;;
- +
- +newsos6)
- + version_type=linux
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=yes
- + ;;
- +
- +*nto* | *qnx*)
- + version_type=qnx
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=no
- + hardcode_into_libs=yes
- + dynamic_linker='ldqnx.so'
- + ;;
- +
- +openbsd*)
- + version_type=sunos
- + sys_lib_dlsearch_path_spec="/usr/lib"
- + need_lib_prefix=no
- + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- + case $host_os in
- + openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- + *) need_version=no ;;
- + esac
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- + shlibpath_var=LD_LIBRARY_PATH
- + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- + case $host_os in
- + openbsd2.[89] | openbsd2.[89].*)
- + shlibpath_overrides_runpath=no
- + ;;
- + *)
- + shlibpath_overrides_runpath=yes
- + ;;
- + esac
- + else
- + shlibpath_overrides_runpath=yes
- + fi
- + ;;
- +
- +os2*)
- + libname_spec='$name'
- + shrext_cmds=".dll"
- + need_lib_prefix=no
- + library_names_spec='$libname${shared_ext} $libname.a'
- + dynamic_linker='OS/2 ld.exe'
- + shlibpath_var=LIBPATH
- + ;;
- +
- +osf3* | osf4* | osf5*)
- + version_type=osf
- + need_lib_prefix=no
- + need_version=no
- + soname_spec='${libname}${release}${shared_ext}$major'
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + shlibpath_var=LD_LIBRARY_PATH
- + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- + ;;
- +
- +rdos*)
- + dynamic_linker=no
- + ;;
- +
- +solaris*)
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=yes
- + hardcode_into_libs=yes
- + # ldd complains unless libraries are executable
- + postinstall_cmds='chmod +x $lib'
- + ;;
- +
- +sunos4*)
- + version_type=sunos
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=yes
- + if test "$with_gnu_ld" = yes; then
- + need_lib_prefix=no
- + fi
- + need_version=yes
- + ;;
- +
- +sysv4 | sysv4.3*)
- + version_type=linux
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + case $host_vendor in
- + sni)
- + shlibpath_overrides_runpath=no
- + need_lib_prefix=no
- + runpath_var=LD_RUN_PATH
- + ;;
- + siemens)
- + need_lib_prefix=no
- + ;;
- + motorola)
- + need_lib_prefix=no
- + need_version=no
- + shlibpath_overrides_runpath=no
- + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- + ;;
- + esac
- + ;;
- +
- +sysv4*MP*)
- + if test -d /usr/nec ;then
- + version_type=linux
- + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- + soname_spec='$libname${shared_ext}.$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + fi
- + ;;
- +
- +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- + version_type=freebsd-elf
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=yes
- + hardcode_into_libs=yes
- + if test "$with_gnu_ld" = yes; then
- + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- + else
- + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- + case $host_os in
- + sco3.2v5*)
- + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- + ;;
- + esac
- + fi
- + sys_lib_dlsearch_path_spec='/usr/lib'
- + ;;
- +
- +tpf*)
- + # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- + version_type=linux
- + need_lib_prefix=no
- + need_version=no
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + shlibpath_var=LD_LIBRARY_PATH
- + shlibpath_overrides_runpath=no
- + hardcode_into_libs=yes
- + ;;
- +
- +uts4*)
- + version_type=linux
- + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- + soname_spec='${libname}${release}${shared_ext}$major'
- + shlibpath_var=LD_LIBRARY_PATH
- + ;;
- +
- +*)
- + dynamic_linker=no
- + ;;
- +esac
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
- +$as_echo "$dynamic_linker" >&6; }
- +test "$dynamic_linker" = no && can_build_shared=no
- +
- +variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
- +if test "$GCC" = yes; then
- + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
- +fi
- +
- +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
- +fi
- +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
- +$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
- +hardcode_action=
- +if test -n "$hardcode_libdir_flag_spec" ||
- + test -n "$runpath_var" ||
- + test "X$hardcode_automatic" = "Xyes" ; then
- +
- + # We can hardcode non-existent directories.
- + if test "$hardcode_direct" != no &&
- + # If the only mechanism to avoid hardcoding is shlibpath_var, we
- + # have to relink, otherwise we might link with an installed library
- + # when we should be linking with a yet-to-be-installed one
- + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- + test "$hardcode_minus_L" != no; then
- + # Linking always hardcodes the temporary library directory.
- + hardcode_action=relink
- + else
- + # We can link without hardcoding, and we can hardcode nonexisting dirs.
- + hardcode_action=immediate
- + fi
- +else
- + # We cannot hardcode anything, or else we can only hardcode existing
- + # directories.
- + hardcode_action=unsupported
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
- +$as_echo "$hardcode_action" >&6; }
- +
- +if test "$hardcode_action" = relink ||
- + test "$inherit_rpath" = yes; then
- + # Fast installation is not supported
- + enable_fast_install=no
- +elif test "$shlibpath_overrides_runpath" = yes ||
- + test "$enable_shared" = no; then
- + # Fast installation is not necessary
- + enable_fast_install=needless
- +fi
- +
- +
- +
- +
- +
- +
- + if test "x$enable_dlopen" != xyes; then
- + enable_dlopen=unknown
- + enable_dlopen_self=unknown
- + enable_dlopen_self_static=unknown
- +else
- + lt_cv_dlopen=no
- + lt_cv_dlopen_libs=
- +
- + case $host_os in
- + beos*)
- + lt_cv_dlopen="load_add_on"
- + lt_cv_dlopen_libs=
- + lt_cv_dlopen_self=yes
- + ;;
- +
- + mingw* | pw32* | cegcc*)
- + lt_cv_dlopen="LoadLibrary"
- + lt_cv_dlopen_libs=
- + ;;
- +
- + cygwin*)
- + lt_cv_dlopen="dlopen"
- + lt_cv_dlopen_libs=
- + ;;
- +
- + darwin*)
- + # if libdl is installed we need to link against it
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
- +$as_echo_n "checking for dlopen in -ldl... " >&6; }
- +if ${ac_cv_lib_dl_dlopen+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-ldl $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char dlopen ();
- +int
- +main ()
- +{
- +return dlopen ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_dl_dlopen=yes
- +else
- + ac_cv_lib_dl_dlopen=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
- +$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
- +if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
- +else
- +
- + lt_cv_dlopen="dyld"
- + lt_cv_dlopen_libs=
- + lt_cv_dlopen_self=yes
- +
- +fi
- +
- + ;;
- +
- + *)
- + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
- +if test "x$ac_cv_func_shl_load" = xyes; then :
- + lt_cv_dlopen="shl_load"
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
- +$as_echo_n "checking for shl_load in -ldld... " >&6; }
- +if ${ac_cv_lib_dld_shl_load+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-ldld $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char shl_load ();
- +int
- +main ()
- +{
- +return shl_load ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_dld_shl_load=yes
- +else
- + ac_cv_lib_dld_shl_load=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
- +$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
- +if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
- +else
- + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
- +if test "x$ac_cv_func_dlopen" = xyes; then :
- + lt_cv_dlopen="dlopen"
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
- +$as_echo_n "checking for dlopen in -ldl... " >&6; }
- +if ${ac_cv_lib_dl_dlopen+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-ldl $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char dlopen ();
- +int
- +main ()
- +{
- +return dlopen ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_dl_dlopen=yes
- +else
- + ac_cv_lib_dl_dlopen=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
- +$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
- +if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
- +$as_echo_n "checking for dlopen in -lsvld... " >&6; }
- +if ${ac_cv_lib_svld_dlopen+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-lsvld $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char dlopen ();
- +int
- +main ()
- +{
- +return dlopen ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_svld_dlopen=yes
- +else
- + ac_cv_lib_svld_dlopen=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
- +$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
- +if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
- +else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
- +$as_echo_n "checking for dld_link in -ldld... " >&6; }
- +if ${ac_cv_lib_dld_dld_link+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + ac_check_lib_save_LIBS=$LIBS
- +LIBS="-ldld $LIBS"
- +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +/* Override any GCC internal prototype to avoid an error.
- + Use char because int might match the return type of a GCC
- + builtin and then its argument prototype would still apply. */
- +#ifdef __cplusplus
- +extern "C"
- +#endif
- +char dld_link ();
- +int
- +main ()
- +{
- +return dld_link ();
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_link "$LINENO"; then :
- + ac_cv_lib_dld_dld_link=yes
- +else
- + ac_cv_lib_dld_dld_link=no
- +fi
- +rm -f core conftest.err conftest.$ac_objext \
- + conftest$ac_exeext conftest.$ac_ext
- +LIBS=$ac_check_lib_save_LIBS
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
- +$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
- +if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
- +fi
- +
- +
- +fi
- +
- +
- +fi
- +
- +
- +fi
- +
- +
- +fi
- +
- +
- +fi
- +
- + ;;
- + esac
- +
- + if test "x$lt_cv_dlopen" != xno; then
- + enable_dlopen=yes
- + else
- + enable_dlopen=no
- + fi
- +
- + case $lt_cv_dlopen in
- + dlopen)
- + save_CPPFLAGS="$CPPFLAGS"
- + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- +
- + save_LDFLAGS="$LDFLAGS"
- + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- +
- + save_LIBS="$LIBS"
- + LIBS="$lt_cv_dlopen_libs $LIBS"
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
- +$as_echo_n "checking whether a program can dlopen itself... " >&6; }
- +if ${lt_cv_dlopen_self+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test "$cross_compiling" = yes; then :
- + lt_cv_dlopen_self=cross
- +else
- + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- + lt_status=$lt_dlunknown
- + cat > conftest.$ac_ext <<_LT_EOF
- +#line 12899 "configure"
- +#include "confdefs.h"
- +
- +#if HAVE_DLFCN_H
- +#include <dlfcn.h>
- +#endif
- +
- +#include <stdio.h>
- +
- +#ifdef RTLD_GLOBAL
- +# define LT_DLGLOBAL RTLD_GLOBAL
- +#else
- +# ifdef DL_GLOBAL
- +# define LT_DLGLOBAL DL_GLOBAL
- +# else
- +# define LT_DLGLOBAL 0
- +# endif
- +#endif
- +
- +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- + find out it does not work in some platform. */
- +#ifndef LT_DLLAZY_OR_NOW
- +# ifdef RTLD_LAZY
- +# define LT_DLLAZY_OR_NOW RTLD_LAZY
- +# else
- +# ifdef DL_LAZY
- +# define LT_DLLAZY_OR_NOW DL_LAZY
- +# else
- +# ifdef RTLD_NOW
- +# define LT_DLLAZY_OR_NOW RTLD_NOW
- +# else
- +# ifdef DL_NOW
- +# define LT_DLLAZY_OR_NOW DL_NOW
- +# else
- +# define LT_DLLAZY_OR_NOW 0
- +# endif
- +# endif
- +# endif
- +# endif
- +#endif
- +
- +/* When -fvisbility=hidden is used, assume the code has been annotated
- + correspondingly for the symbols needed. */
- +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
- +void fnord () __attribute__((visibility("default")));
- +#endif
- +
- +void fnord () { int i=42; }
- +int main ()
- +{
- + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- + int status = $lt_dlunknown;
- +
- + if (self)
- + {
- + if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- + else
- + {
- + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- + else puts (dlerror ());
- + }
- + /* dlclose (self); */
- + }
- + else
- + puts (dlerror ());
- +
- + return status;
- +}
- +_LT_EOF
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- + (eval $ac_link) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- + (./conftest; exit; ) >&5 2>/dev/null
- + lt_status=$?
- + case x$lt_status in
- + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- + esac
- + else :
- + # compilation failed
- + lt_cv_dlopen_self=no
- + fi
- +fi
- +rm -fr conftest*
- +
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
- +$as_echo "$lt_cv_dlopen_self" >&6; }
- +
- + if test "x$lt_cv_dlopen_self" = xyes; then
- + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
- +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
- +if ${lt_cv_dlopen_self_static+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + if test "$cross_compiling" = yes; then :
- + lt_cv_dlopen_self_static=cross
- +else
- + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- + lt_status=$lt_dlunknown
- + cat > conftest.$ac_ext <<_LT_EOF
- +#line 13005 "configure"
- +#include "confdefs.h"
- +
- +#if HAVE_DLFCN_H
- +#include <dlfcn.h>
- +#endif
- +
- +#include <stdio.h>
- +
- +#ifdef RTLD_GLOBAL
- +# define LT_DLGLOBAL RTLD_GLOBAL
- +#else
- +# ifdef DL_GLOBAL
- +# define LT_DLGLOBAL DL_GLOBAL
- +# else
- +# define LT_DLGLOBAL 0
- +# endif
- +#endif
- +
- +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- + find out it does not work in some platform. */
- +#ifndef LT_DLLAZY_OR_NOW
- +# ifdef RTLD_LAZY
- +# define LT_DLLAZY_OR_NOW RTLD_LAZY
- +# else
- +# ifdef DL_LAZY
- +# define LT_DLLAZY_OR_NOW DL_LAZY
- +# else
- +# ifdef RTLD_NOW
- +# define LT_DLLAZY_OR_NOW RTLD_NOW
- +# else
- +# ifdef DL_NOW
- +# define LT_DLLAZY_OR_NOW DL_NOW
- +# else
- +# define LT_DLLAZY_OR_NOW 0
- +# endif
- +# endif
- +# endif
- +# endif
- +#endif
- +
- +/* When -fvisbility=hidden is used, assume the code has been annotated
- + correspondingly for the symbols needed. */
- +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
- +void fnord () __attribute__((visibility("default")));
- +#endif
- +
- +void fnord () { int i=42; }
- +int main ()
- +{
- + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- + int status = $lt_dlunknown;
- +
- + if (self)
- + {
- + if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- + else
- + {
- + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- + else puts (dlerror ());
- + }
- + /* dlclose (self); */
- + }
- + else
- + puts (dlerror ());
- +
- + return status;
- +}
- +_LT_EOF
- + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- + (eval $ac_link) 2>&5
- + ac_status=$?
- + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- + (./conftest; exit; ) >&5 2>/dev/null
- + lt_status=$?
- + case x$lt_status in
- + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- + esac
- + else :
- + # compilation failed
- + lt_cv_dlopen_self_static=no
- + fi
- +fi
- +rm -fr conftest*
- +
- +
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
- +$as_echo "$lt_cv_dlopen_self_static" >&6; }
- + fi
- +
- + CPPFLAGS="$save_CPPFLAGS"
- + LDFLAGS="$save_LDFLAGS"
- + LIBS="$save_LIBS"
- + ;;
- + esac
- +
- + case $lt_cv_dlopen_self in
- + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- + *) enable_dlopen_self=unknown ;;
- + esac
- +
- + case $lt_cv_dlopen_self_static in
- + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- + *) enable_dlopen_self_static=unknown ;;
- + esac
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +striplib=
- +old_striplib=
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
- +$as_echo_n "checking whether stripping libraries is possible... " >&6; }
- +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- + test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- +$as_echo "yes" >&6; }
- +else
- +# FIXME - insert some real tests, host_os isn't really good enough
- + case $host_os in
- + darwin*)
- + if test -n "$STRIP" ; then
- + striplib="$STRIP -x"
- + old_striplib="$STRIP -S"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- +$as_echo "yes" >&6; }
- + else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- + fi
- + ;;
- + *)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- +$as_echo "no" >&6; }
- + ;;
- + esac
- +fi
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + # Report which library types will actually be built
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
- +$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
- +$as_echo "$can_build_shared" >&6; }
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
- +$as_echo_n "checking whether to build shared libraries... " >&6; }
- + test "$can_build_shared" = "no" && enable_shared=no
- +
- + # On AIX, shared libraries and static libraries use the same namespace, and
- + # are all built from PIC.
- + case $host_os in
- + aix3*)
- + test "$enable_shared" = yes && enable_static=no
- + if test -n "$RANLIB"; then
- + archive_cmds="$archive_cmds~\$RANLIB \$lib"
- + postinstall_cmds='$RANLIB $lib'
- + fi
- + ;;
- +
- + aix[4-9]*)
- + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- + test "$enable_shared" = yes && enable_static=no
- + fi
- + ;;
- + esac
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
- +$as_echo "$enable_shared" >&6; }
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
- +$as_echo_n "checking whether to build static libraries... " >&6; }
- + # Make sure either enable_shared or enable_static is yes.
- + test "$enable_shared" = yes || enable_static=yes
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
- +$as_echo "$enable_static" >&6; }
- +
- +
- +
- +
- +fi
- +ac_ext=c
- +ac_cpp='$CPP $CPPFLAGS'
- +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- +ac_compiler_gnu=$ac_cv_c_compiler_gnu
- +
- +CC="$lt_save_CC"
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + ac_config_commands="$ac_config_commands libtool"
- +
- +
- +
- +
- +# Only expand once:
- +
- +
- +
- +
- +. ${srcdir}/../../bfd/configure.host
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
- +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- + # Check whether --enable-maintainer-mode was given.
- +if test "${enable_maintainer_mode+set}" = set; then :
- + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
- +else
- + USE_MAINTAINER_MODE=no
- +fi
- +
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
- +$as_echo "$USE_MAINTAINER_MODE" >&6; }
- + if test $USE_MAINTAINER_MODE = yes; then
- + MAINTAINER_MODE_TRUE=
- + MAINTAINER_MODE_FALSE='#'
- +else
- + MAINTAINER_MODE_TRUE='#'
- + MAINTAINER_MODE_FALSE=
- +fi
- +
- + MAINT=$MAINTAINER_MODE_TRUE
- +
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim debug setting" >&5
- +$as_echo_n "checking for sim debug setting... " >&6; }
- +sim_debug="0"
- +# Check whether --enable-sim-debug was given.
- +if test "${enable_sim_debug+set}" = set; then :
- + enableval=$enable_sim_debug; case "${enableval}" in
- + yes) sim_debug="7";;
- + no) sim_debug="0";;
- + *) sim_debug="($enableval)";;
- +esac
- +fi
- +if test "$sim_debug" != "0"; then
- +
- +cat >>confdefs.h <<_ACEOF
- +#define DEBUG $sim_debug
- +_ACEOF
- +
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_DEBUG $sim_debug
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_debug" >&5
- +$as_echo "$sim_debug" >&6; }
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim stdio debug behavior" >&5
- +$as_echo_n "checking for sim stdio debug behavior... " >&6; }
- +sim_stdio="0"
- +# Check whether --enable-sim-stdio was given.
- +if test "${enable_sim_stdio+set}" = set; then :
- + enableval=$enable_sim_stdio; case "${enableval}" in
- + yes) sim_stdio="DO_USE_STDIO";;
- + no) sim_stdio="DONT_USE_STDIO";;
- + *) as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
- +esac
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_STDIO $sim_stdio
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_stdio" >&5
- +$as_echo "$sim_stdio" >&6; }
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim trace settings" >&5
- +$as_echo_n "checking for sim trace settings... " >&6; }
- +sim_trace="~TRACE_debug"
- +# Check whether --enable-sim-trace was given.
- +if test "${enable_sim_trace+set}" = set; then :
- + enableval=$enable_sim_trace; case "${enableval}" in
- + yes) sim_trace="-1";;
- + no) sim_trace="0";;
- + [-0-9]*)
- + sim_trace="'(${enableval})'";;
- + [[:lower:]]*)
- + sim_trace=""
- + for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- + if test x"$sim_trace" = x; then
- + sim_trace="(TRACE_$x"
- + else
- + sim_trace="${sim_trace}|TRACE_$x"
- + fi
- + done
- + sim_trace="$sim_trace)" ;;
- +esac
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_TRACE $sim_trace
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_trace" >&5
- +$as_echo "$sim_trace" >&6; }
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim profile settings" >&5
- +$as_echo_n "checking for sim profile settings... " >&6; }
- +profile="1"
- +sim_profile="-1"
- +# Check whether --enable-sim-profile was given.
- +if test "${enable_sim_profile+set}" = set; then :
- + enableval=$enable_sim_profile; case "${enableval}" in
- + yes) profile="1" sim_profile="-1";;
- + no) profile="0" sim_profile="0";;
- + [-0-9]*)
- + profile="(${enableval})" sim_profile="(${enableval})";;
- + [a-z]*)
- + profile="1"
- + sim_profile=""
- + for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- + if test x"$sim_profile" = x; then
- + sim_profile="(PROFILE_$x"
- + else
- + sim_profile="${sim_profile}|PROFILE_$x"
- + fi
- + done
- + sim_profile="$sim_profile)" ;;
- +esac
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PROFILE $profile
- +_ACEOF
- +
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_PROFILE $sim_profile
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_profile" >&5
- +$as_echo "$sim_profile" >&6; }
- +
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable sim asserts" >&5
- +$as_echo_n "checking whether to enable sim asserts... " >&6; }
- +sim_assert="1"
- +# Check whether --enable-sim-assert was given.
- +if test "${enable_sim_assert+set}" = set; then :
- + enableval=$enable_sim_assert; case "${enableval}" in
- + yes) sim_assert="1";;
- + no) sim_assert="0";;
- + *) as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
- +esac
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_ASSERT $sim_assert
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_assert" >&5
- +$as_echo "$sim_assert" >&6; }
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default sim environment setting" >&5
- +$as_echo_n "checking default sim environment setting... " >&6; }
- +sim_environment="ALL_ENVIRONMENT"
- +# Check whether --enable-sim-environment was given.
- +if test "${enable_sim_environment+set}" = set; then :
- + enableval=$enable_sim_environment; case "${enableval}" in
- + all | ALL) sim_environment="ALL_ENVIRONMENT";;
- + user | USER) sim_environment="USER_ENVIRONMENT";;
- + virtual | VIRTUAL) sim_environment="VIRTUAL_ENVIRONMENT";;
- + operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
- + *) as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
- +esac
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_ENVIRONMENT $sim_environment
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_environment" >&5
- +$as_echo "$sim_environment" >&6; }
- +
- +
- +sim_inline="-DDEFAULT_INLINE=0"
- +# Check whether --enable-sim-inline was given.
- +if test "${enable_sim_inline+set}" = set; then :
- + enableval=$enable_sim_inline; sim_inline=""
- +case "$enableval" in
- + no) sim_inline="-DDEFAULT_INLINE=0";;
- + 0) sim_inline="-DDEFAULT_INLINE=0";;
- + yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
- + 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
- + *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- + new_flag=""
- + case "$x" in
- + *_INLINE=*) new_flag="-D$x";;
- + *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
- + *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
- + *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
- + esac
- + if test x"$sim_inline" = x""; then
- + sim_inline="$new_flag"
- + else
- + sim_inline="$sim_inline $new_flag"
- + fi
- + done;;
- +esac
- +if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
- + echo "Setting inline flags = $sim_inline" 6>&1
- +fi
- +fi
- +
- +
- +
- +
- +# Check whether --with-pkgversion was given.
- +if test "${with_pkgversion+set}" = set; then :
- + withval=$with_pkgversion; case "$withval" in
- + yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
- + no) PKGVERSION= ;;
- + *) PKGVERSION="($withval) " ;;
- + esac
- +else
- + PKGVERSION="(SIM) "
- +
- +fi
- +
- +
- +
- +
- +
- +# Check whether --with-bugurl was given.
- +if test "${with_bugurl+set}" = set; then :
- + withval=$with_bugurl; case "$withval" in
- + yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
- + no) BUGURL=
- + ;;
- + *) BUGURL="$withval"
- + ;;
- + esac
- +else
- + BUGURL="http://www.gnu.org/software/gdb/bugs/"
- +
- +fi
- +
- + case ${BUGURL} in
- + "")
- + REPORT_BUGS_TO=
- + REPORT_BUGS_TEXI=
- + ;;
- + *)
- + REPORT_BUGS_TO="<$BUGURL>"
- + REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
- + ;;
- + esac;
- +
- +
- +
- +
- +cat >>confdefs.h <<_ACEOF
- +#define PKGVERSION "$PKGVERSION"
- +_ACEOF
- +
- +
- +cat >>confdefs.h <<_ACEOF
- +#define REPORT_BUGS_TO "$REPORT_BUGS_TO"
- +_ACEOF
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
- +$as_echo_n "checking return type of signal handlers... " >&6; }
- +if ${ac_cv_type_signal+:} false; then :
- + $as_echo_n "(cached) " >&6
- +else
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +#include <sys/types.h>
- +#include <signal.h>
- +
- +int
- +main ()
- +{
- +return *(signal (0, 0)) (0) == 1;
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + ac_cv_type_signal=int
- +else
- + ac_cv_type_signal=void
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- +fi
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
- +$as_echo "$ac_cv_type_signal" >&6; }
- +
- +cat >>confdefs.h <<_ACEOF
- +#define RETSIGTYPE $ac_cv_type_signal
- +_ACEOF
- +
- +
- +
- +
- +
- +
- +
- +
- +wire_endian="LITTLE"
- +default_endian=""
- +# Check whether --enable-sim-endian was given.
- +if test "${enable_sim_endian+set}" = set; then :
- + enableval=$enable_sim_endian; case "${enableval}" in
- + b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_BIG";;
- + l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_LITTLE";;
- + yes) if test x"$wire_endian" != x; then
- + sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
- + else
- + if test x"$default_endian" != x; then
- + sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
- + else
- + echo "No hard-wired endian for target $target" 1>&6
- + sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
- + fi
- + fi;;
- + no) if test x"$default_endian" != x; then
- + sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
- + else
- + if test x"$wire_endian" != x; then
- + sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
- + else
- + echo "No default endian for target $target" 1>&6
- + sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
- + fi
- + fi;;
- + *) as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
- +esac
- +if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
- + echo "Setting endian flags = $sim_endian" 6>&1
- +fi
- +else
- + if test x"$default_endian" != x; then
- + sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
- +else
- + if test x"$wire_endian" != x; then
- + sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
- + else
- + sim_endian=
- + fi
- +fi
- +fi
- +
- +wire_alignment="NONSTRICT_ALIGNMENT"
- +default_alignment=""
- +
- +# Check whether --enable-sim-alignment was given.
- +if test "${enable_sim_alignment+set}" = set; then :
- + enableval=$enable_sim_alignment; case "${enableval}" in
- + strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
- + nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
- + forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
- + yes) if test x"$wire_alignment" != x; then
- + sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
- + else
- + if test x"$default_alignment" != x; then
- + sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
- + else
- + echo "No hard-wired alignment for target $target" 1>&6
- + sim_alignment="-DWITH_ALIGNMENT=0"
- + fi
- + fi;;
- + no) if test x"$default_alignment" != x; then
- + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
- + else
- + if test x"$wire_alignment" != x; then
- + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
- + else
- + echo "No default alignment for target $target" 1>&6
- + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
- + fi
- + fi;;
- + *) as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
- +esac
- +if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
- + echo "Setting alignment flags = $sim_alignment" 6>&1
- +fi
- +else
- + if test x"$default_alignment" != x; then
- + sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
- +else
- + if test x"$wire_alignment" != x; then
- + sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
- + else
- + sim_alignment=
- + fi
- +fi
- +fi
- +
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default sim environment setting" >&5
- +$as_echo_n "checking default sim environment setting... " >&6; }
- +sim_environment="ALL_ENVIRONMENT"
- +# Check whether --enable-sim-environment was given.
- +if test "${enable_sim_environment+set}" = set; then :
- + enableval=$enable_sim_environment; case "${enableval}" in
- + all | ALL) sim_environment="ALL_ENVIRONMENT";;
- + user | USER) sim_environment="USER_ENVIRONMENT";;
- + virtual | VIRTUAL) sim_environment="VIRTUAL_ENVIRONMENT";;
- + operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
- + *) as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
- +esac
- +fi
- +
- +cat >>confdefs.h <<_ACEOF
- +#define WITH_ENVIRONMENT $sim_environment
- +_ACEOF
- +
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_environment" >&5
- +$as_echo "$sim_environment" >&6; }
- +
- +
- +sim_inline="-DDEFAULT_INLINE=0"
- +# Check whether --enable-sim-inline was given.
- +if test "${enable_sim_inline+set}" = set; then :
- + enableval=$enable_sim_inline; sim_inline=""
- +case "$enableval" in
- + no) sim_inline="-DDEFAULT_INLINE=0";;
- + 0) sim_inline="-DDEFAULT_INLINE=0";;
- + yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
- + 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
- + *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- + new_flag=""
- + case "$x" in
- + *_INLINE=*) new_flag="-D$x";;
- + *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
- + *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
- + *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
- + esac
- + if test x"$sim_inline" = x""; then
- + sim_inline="$new_flag"
- + else
- + sim_inline="$sim_inline $new_flag"
- + fi
- + done;;
- +esac
- +if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
- + echo "Setting inline flags = $sim_inline" 6>&1
- +fi
- +fi
- +
- +
- +# Check whether --enable-werror was given.
- +if test "${enable_werror+set}" = set; then :
- + enableval=$enable_werror; case "${enableval}" in
- + yes | y) ERROR_ON_WARNING="yes" ;;
- + no | n) ERROR_ON_WARNING="no" ;;
- + *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
- + esac
- +fi
- +
- +
- +# Enable -Werror by default when using gcc
- +if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
- + ERROR_ON_WARNING=yes
- +fi
- +
- +WERROR_CFLAGS=""
- +if test "${ERROR_ON_WARNING}" = yes ; then
- +# NOTE: Disabled in the sim dir due to most sims generating warnings.
- +# WERROR_CFLAGS="-Werror"
- + true
- +fi
- +
- +build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
- +-Wpointer-sign \
- +-Wno-unused -Wunused-value -Wunused-function \
- +-Wno-switch -Wno-char-subscripts -Wmissing-prototypes
- +-Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type \
- +-Wold-style-declaration -Wold-style-definition"
- +
- +# Enable -Wno-format by default when using gcc on mingw since many
- +# GCC versions complain about %I64.
- +case "${host}" in
- + *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
- + *) build_warnings="$build_warnings -Wformat-nonliteral" ;;
- +esac
- +
- +# Check whether --enable-build-warnings was given.
- +if test "${enable_build_warnings+set}" = set; then :
- + enableval=$enable_build_warnings; case "${enableval}" in
- + yes) ;;
- + no) build_warnings="-w";;
- + ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
- + build_warnings="${build_warnings} ${t}";;
- + *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
- + build_warnings="${t} ${build_warnings}";;
- + *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
- +esac
- +if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
- + echo "Setting compiler warning flags = $build_warnings" 6>&1
- +fi
- +fi
- +# Check whether --enable-sim-build-warnings was given.
- +if test "${enable_sim_build_warnings+set}" = set; then :
- + enableval=$enable_sim_build_warnings; case "${enableval}" in
- + yes) ;;
- + no) build_warnings="-w";;
- + ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
- + build_warnings="${build_warnings} ${t}";;
- + *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
- + build_warnings="${t} ${build_warnings}";;
- + *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
- +esac
- +if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
- + echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
- +fi
- +fi
- +WARN_CFLAGS=""
- +if test "x${build_warnings}" != x -a "x$GCC" = xyes
- +then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler warning flags" >&5
- +$as_echo_n "checking compiler warning flags... " >&6; }
- + # Separate out the -Werror flag as some files just cannot be
- + # compiled with it enabled.
- + for w in ${build_warnings}; do
- + case $w in
- + -Werr*) WERROR_CFLAGS=-Werror ;;
- + *) # Check that GCC accepts it
- + saved_CFLAGS="$CFLAGS"
- + CFLAGS="$CFLAGS $w"
- + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- +/* end confdefs.h. */
- +
- +int
- +main ()
- +{
- +
- + ;
- + return 0;
- +}
- +_ACEOF
- +if ac_fn_c_try_compile "$LINENO"; then :
- + WARN_CFLAGS="${WARN_CFLAGS} $w"
- +fi
- +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- + CFLAGS="$saved_CFLAGS"
- + esac
- + done
- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${WARN_CFLAGS} ${WERROR_CFLAGS}" >&5
- +$as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; }
- +fi
- +
- +
- +# Select the default model for the target.
- +riscv_model=
- +case "${target}" in
- +riscv32*) riscv_model="RV32G" ;;
- +riscv*) riscv_model="RV64G" ;;
- +esac
- +
- +default_sim_default_model="${riscv_model}"
- +# Check whether --enable-sim-default-model was given.
- +if test "${enable_sim_default_model+set}" = set; then :
- + enableval=$enable_sim_default_model; case "${enableval}" in
- + yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
- + *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
- +esac
- +if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
- + echo "Setting default model = $sim_default_model" 6>&1
- +fi
- +else
- + sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"
- +fi
- +
- +
- +
- +# Select the bitsize of the target.
- +riscv_addr_bitsize=
- +case "${target}" in
- +riscv32*) riscv_addr_bitsize=32 ;;
- +riscv*) riscv_addr_bitsize=64 ;;
- +esac
- +wire_word_bitsize="$riscv_addr_bitsize"
- +wire_word_msb=""
- +wire_address_bitsize=""
- +wire_cell_bitsize=""
- +# Check whether --enable-sim-bitsize was given.
- +if test "${enable_sim_bitsize+set}" = set; then :
- + enableval=$enable_sim_bitsize; sim_bitsize=
- +case "${enableval}" in
- + 64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
- + 32,31 | 32,31,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31";;
- + 64,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
- + 32,0 | 64,0,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0";;
- + 32) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
- + sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31"
- + else
- + sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=0"
- + fi ;;
- + 64) if test x"$wire_word_msb" != x -a x"$wire_word_msb" != x0; then
- + sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63"
- + else
- + sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=0"
- + fi ;;
- + *) as_fn_error $? "\"--enable-sim-bitsize was given $enableval. Expected 32 or 64\"" "$LINENO" 5 ;;
- +esac
- +# address bitsize
- +tmp=`echo "${enableval}" | sed -e "s/^[0-9]*,*[0-9]*,*//"`
- +case x"${tmp}" in
- + x ) ;;
- + x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=32" ;;
- + x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_ADDRESS_BITSIZE=64" ;;
- + * ) as_fn_error $? "\"--enable-sim-bitsize was given address size $enableval. Expected 32 or 64\"" "$LINENO" 5 ;;
- +esac
- +# cell bitsize
- +tmp=`echo "${enableval}" | sed -e "s/^[0-9]*,*[0-9*]*,*[0-9]*,*//"`
- +case x"${tmp}" in
- + x ) ;;
- + x32 | x32,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=32" ;;
- + x64 | x64,* ) sim_bitsize="${sim_bitsize} -DWITH_TARGET_CELL_BITSIZE=64" ;;
- + * ) as_fn_error $? "\"--enable-sim-bitsize was given cell size $enableval. Expected 32 or 64\"" "$LINENO" 5 ;;
- +esac
- +if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
- + echo "Setting bitsize flags = $sim_bitsize" 6>&1
- +fi
- +else
- + sim_bitsize=""
- +if test x"$wire_word_bitsize" != x; then
- + sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_BITSIZE=$wire_word_bitsize"
- +fi
- +if test x"$wire_word_msb" != x; then
- + sim_bitsize="$sim_bitsize -DWITH_TARGET_WORD_MSB=$wire_word_msb"
- +fi
- +if test x"$wire_address_bitsize" != x; then
- + sim_bitsize="$sim_bitsize -DWITH_TARGET_ADDRESS_BITSIZE=$wire_address_bitsize"
- +fi
- +if test x"$wire_cell_bitsize" != x; then
- + sim_bitsize="$sim_bitsize -DWITH_TARGET_CELL_BITSIZE=$wire_cell_bitsize"
- +fi
- +fi
- +
- +
- +
- +cgen_breaks=""
- +if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
- +cgen_breaks="break cgen_rtx_error";
- +fi
- +
- +ac_config_files="$ac_config_files Makefile.sim:Makefile.in"
- +
- +ac_config_files="$ac_config_files Make-common.sim:../common/Make-common.in"
- +
- +ac_config_files="$ac_config_files .gdbinit:../common/gdbinit.in"
- +
- +ac_config_commands="$ac_config_commands Makefile"
- +
- +ac_config_commands="$ac_config_commands stamp-h"
- +
- +cat >confcache <<\_ACEOF
- +# This file is a shell script that caches the results of configure
- +# tests run on this system so they can be shared between configure
- +# scripts and configure runs, see configure's option --config-cache.
- +# It is not useful on other systems. If it contains results you don't
- +# want to keep, you may remove or edit it.
- +#
- +# config.status only pays attention to the cache file if you give it
- +# the --recheck option to rerun configure.
- +#
- +# `ac_cv_env_foo' variables (set or unset) will be overridden when
- +# loading this file, other *unset* `ac_cv_foo' will be assigned the
- +# following values.
- +
- +_ACEOF
- +
- +# The following way of writing the cache mishandles newlines in values,
- +# but we know of no workaround that is simple, portable, and efficient.
- +# So, we kill variables containing newlines.
- +# Ultrix sh set writes to stderr and can't be redirected directly,
- +# and sets the high bit in the cache file unless we assign to the vars.
- +(
- + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- + eval ac_val=\$$ac_var
- + case $ac_val in #(
- + *${as_nl}*)
- + case $ac_var in #(
- + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
- +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- + esac
- + case $ac_var in #(
- + _ | IFS | as_nl) ;; #(
- + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- + *) { eval $ac_var=; unset $ac_var;} ;;
- + esac ;;
- + esac
- + done
- +
- + (set) 2>&1 |
- + case $as_nl`(ac_space=' '; set) 2>&1` in #(
- + *${as_nl}ac_space=\ *)
- + # `set' does not quote correctly, so add quotes: double-quote
- + # substitution turns \\\\ into \\, and sed turns \\ into \.
- + sed -n \
- + "s/'/'\\\\''/g;
- + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- + ;; #(
- + *)
- + # `set' quotes correctly as required by POSIX, so do not add quotes.
- + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- + ;;
- + esac |
- + sort
- +) |
- + sed '
- + /^ac_cv_env_/b end
- + t clear
- + :clear
- + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- + t end
- + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- + :end' >>confcache
- +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- + if test -w "$cache_file"; then
- + if test "x$cache_file" != "x/dev/null"; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
- +$as_echo "$as_me: updating cache $cache_file" >&6;}
- + if test ! -f "$cache_file" || test -h "$cache_file"; then
- + cat confcache >"$cache_file"
- + else
- + case $cache_file in #(
- + */* | ?:*)
- + mv -f confcache "$cache_file"$$ &&
- + mv -f "$cache_file"$$ "$cache_file" ;; #(
- + *)
- + mv -f confcache "$cache_file" ;;
- + esac
- + fi
- + fi
- + else
- + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
- +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- + fi
- +fi
- +rm -f confcache
- +
- +test "x$prefix" = xNONE && prefix=$ac_default_prefix
- +# Let make expand exec_prefix.
- +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
- +
- +DEFS=-DHAVE_CONFIG_H
- +
- +ac_libobjs=
- +ac_ltlibobjs=
- +U=
- +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- + # 1. Remove the extension, and $U if already installed.
- + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- + ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- + # will be set to the directory where LIBOBJS objects are built.
- + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
- +done
- +LIBOBJS=$ac_libobjs
- +
- +LTLIBOBJS=$ac_ltlibobjs
- +
- +
- +
- +if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
- + as_fn_error $? "conditional \"GMAKE\" was never defined.
- +Usually this means the macro was only invoked conditionally." "$LINENO" 5
- +fi
- +if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
- + as_fn_error $? "conditional \"PLUGINS\" was never defined.
- +Usually this means the macro was only invoked conditionally." "$LINENO" 5
- +fi
- +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
- +Usually this means the macro was only invoked conditionally." "$LINENO" 5
- +fi
- +
- +: "${CONFIG_STATUS=./config.status}"
- +ac_write_fail=0
- +ac_clean_files_save=$ac_clean_files
- +ac_clean_files="$ac_clean_files $CONFIG_STATUS"
- +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
- +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
- +as_write_fail=0
- +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
- +#! $SHELL
- +# Generated by $as_me.
- +# Run this file to recreate the current configuration.
- +# Compiler output produced by configure, useful for debugging
- +# configure, is in config.log if it exists.
- +
- +debug=false
- +ac_cs_recheck=false
- +ac_cs_silent=false
- +
- +SHELL=\${CONFIG_SHELL-$SHELL}
- +export SHELL
- +_ASEOF
- +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
- +## -------------------- ##
- +## M4sh Initialization. ##
- +## -------------------- ##
- +
- +# Be more Bourne compatible
- +DUALCASE=1; export DUALCASE # for MKS sh
- +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- + emulate sh
- + NULLCMD=:
- + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- + # is contrary to our usage. Disable this feature.
- + alias -g '${1+"$@"}'='"$@"'
- + setopt NO_GLOB_SUBST
- +else
- + case `(set -o) 2>/dev/null` in #(
- + *posix*) :
- + set -o posix ;; #(
- + *) :
- + ;;
- +esac
- +fi
- +
- +
- +as_nl='
- +'
- +export as_nl
- +# Printing a long string crashes Solaris 7 /usr/bin/printf.
- +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
- +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
- +# Prefer a ksh shell builtin over an external printf program on Solaris,
- +# but without wasting forks for bash or zsh.
- +if test -z "$BASH_VERSION$ZSH_VERSION" \
- + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- + as_echo='print -r --'
- + as_echo_n='print -rn --'
- +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- + as_echo='printf %s\n'
- + as_echo_n='printf %s'
- +else
- + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- + as_echo_n='/usr/ucb/echo -n'
- + else
- + as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- + as_echo_n_body='eval
- + arg=$1;
- + case $arg in #(
- + *"$as_nl"*)
- + expr "X$arg" : "X\\(.*\\)$as_nl";
- + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- + esac;
- + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- + '
- + export as_echo_n_body
- + as_echo_n='sh -c $as_echo_n_body as_echo'
- + fi
- + export as_echo_body
- + as_echo='sh -c $as_echo_body as_echo'
- +fi
- +
- +# The user is always right.
- +if test "${PATH_SEPARATOR+set}" != set; then
- + PATH_SEPARATOR=:
- + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- + PATH_SEPARATOR=';'
- + }
- +fi
- +
- +
- +# IFS
- +# We need space, tab and new line, in precisely that order. Quoting is
- +# there to prevent editors from complaining about space-tab.
- +# (If _AS_PATH_WALK were called with IFS unset, it would disable word
- +# splitting by setting IFS to empty value.)
- +IFS=" "" $as_nl"
- +
- +# Find who we are. Look in the path if we contain no directory separator.
- +as_myself=
- +case $0 in #((
- + *[\\/]* ) as_myself=$0 ;;
- + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
- +for as_dir in $PATH
- +do
- + IFS=$as_save_IFS
- + test -z "$as_dir" && as_dir=.
- + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- + done
- +IFS=$as_save_IFS
- +
- + ;;
- +esac
- +# We did not find ourselves, most probably we were run as `sh COMMAND'
- +# in which case we are not to be found in the path.
- +if test "x$as_myself" = x; then
- + as_myself=$0
- +fi
- +if test ! -f "$as_myself"; then
- + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- + exit 1
- +fi
- +
- +# Unset variables that we do not need and which cause bugs (e.g. in
- +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
- +# suppresses any "Segmentation fault" message there. '((' could
- +# trigger a bug in pdksh 5.2.14.
- +for as_var in BASH_ENV ENV MAIL MAILPATH
- +do eval test x\${$as_var+set} = xset \
- + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
- +done
- +PS1='$ '
- +PS2='> '
- +PS4='+ '
- +
- +# NLS nuisances.
- +LC_ALL=C
- +export LC_ALL
- +LANGUAGE=C
- +export LANGUAGE
- +
- +# CDPATH.
- +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- +
- +
- +# as_fn_error STATUS ERROR [LINENO LOG_FD]
- +# ----------------------------------------
- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
- +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
- +# script with STATUS, using 1 if that was 0.
- +as_fn_error ()
- +{
- + as_status=$1; test $as_status -eq 0 && as_status=1
- + if test "$4"; then
- + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- + fi
- + $as_echo "$as_me: error: $2" >&2
- + as_fn_exit $as_status
- +} # as_fn_error
- +
- +
- +# as_fn_set_status STATUS
- +# -----------------------
- +# Set $? to STATUS, without forking.
- +as_fn_set_status ()
- +{
- + return $1
- +} # as_fn_set_status
- +
- +# as_fn_exit STATUS
- +# -----------------
- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
- +as_fn_exit ()
- +{
- + set +e
- + as_fn_set_status $1
- + exit $1
- +} # as_fn_exit
- +
- +# as_fn_unset VAR
- +# ---------------
- +# Portably unset VAR.
- +as_fn_unset ()
- +{
- + { eval $1=; unset $1;}
- +}
- +as_unset=as_fn_unset
- +# as_fn_append VAR VALUE
- +# ----------------------
- +# Append the text in VALUE to the end of the definition contained in VAR. Take
- +# advantage of any shell optimizations that allow amortized linear growth over
- +# repeated appends, instead of the typical quadratic growth present in naive
- +# implementations.
- +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- + eval 'as_fn_append ()
- + {
- + eval $1+=\$2
- + }'
- +else
- + as_fn_append ()
- + {
- + eval $1=\$$1\$2
- + }
- +fi # as_fn_append
- +
- +# as_fn_arith ARG...
- +# ------------------
- +# Perform arithmetic evaluation on the ARGs, and store the result in the
- +# global $as_val. Take advantage of shells that can avoid forks. The arguments
- +# must be portable across $(()) and expr.
- +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- + eval 'as_fn_arith ()
- + {
- + as_val=$(( $* ))
- + }'
- +else
- + as_fn_arith ()
- + {
- + as_val=`expr "$@" || test $? -eq 1`
- + }
- +fi # as_fn_arith
- +
- +
- +if expr a : '\(a\)' >/dev/null 2>&1 &&
- + test "X`expr 00001 : '.*\(...\)'`" = X001; then
- + as_expr=expr
- +else
- + as_expr=false
- +fi
- +
- +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- + as_basename=basename
- +else
- + as_basename=false
- +fi
- +
- +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- + as_dirname=dirname
- +else
- + as_dirname=false
- +fi
- +
- +as_me=`$as_basename -- "$0" ||
- +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- + X"$0" : 'X\(//\)$' \| \
- + X"$0" : 'X\(/\)' \| . 2>/dev/null ||
- +$as_echo X/"$0" |
- + sed '/^.*\/\([^/][^/]*\)\/*$/{
- + s//\1/
- + q
- + }
- + /^X\/\(\/\/\)$/{
- + s//\1/
- + q
- + }
- + /^X\/\(\/\).*/{
- + s//\1/
- + q
- + }
- + s/.*/./; q'`
- +
- +# Avoid depending upon Character Ranges.
- +as_cr_letters='abcdefghijklmnopqrstuvwxyz'
- +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- +as_cr_Letters=$as_cr_letters$as_cr_LETTERS
- +as_cr_digits='0123456789'
- +as_cr_alnum=$as_cr_Letters$as_cr_digits
- +
- +ECHO_C= ECHO_N= ECHO_T=
- +case `echo -n x` in #(((((
- +-n*)
- + case `echo 'xy\c'` in
- + *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- + xy) ECHO_C='\c';;
- + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- + ECHO_T=' ';;
- + esac;;
- +*)
- + ECHO_N='-n';;
- +esac
- +
- +rm -f conf$$ conf$$.exe conf$$.file
- +if test -d conf$$.dir; then
- + rm -f conf$$.dir/conf$$.file
- +else
- + rm -f conf$$.dir
- + mkdir conf$$.dir 2>/dev/null
- +fi
- +if (echo >conf$$.file) 2>/dev/null; then
- + if ln -s conf$$.file conf$$ 2>/dev/null; then
- + as_ln_s='ln -s'
- + # ... but there are two gotchas:
- + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- + # In both cases, we have to default to `cp -pR'.
- + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- + as_ln_s='cp -pR'
- + elif ln conf$$.file conf$$ 2>/dev/null; then
- + as_ln_s=ln
- + else
- + as_ln_s='cp -pR'
- + fi
- +else
- + as_ln_s='cp -pR'
- +fi
- +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
- +rmdir conf$$.dir 2>/dev/null
- +
- +
- +# as_fn_mkdir_p
- +# -------------
- +# Create "$as_dir" as a directory, including parents if necessary.
- +as_fn_mkdir_p ()
- +{
- +
- + case $as_dir in #(
- + -*) as_dir=./$as_dir;;
- + esac
- + test -d "$as_dir" || eval $as_mkdir_p || {
- + as_dirs=
- + while :; do
- + case $as_dir in #(
- + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- + *) as_qdir=$as_dir;;
- + esac
- + as_dirs="'$as_qdir' $as_dirs"
- + as_dir=`$as_dirname -- "$as_dir" ||
- +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- + X"$as_dir" : 'X\(//\)[^/]' \| \
- + X"$as_dir" : 'X\(//\)$' \| \
- + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
- +$as_echo X"$as_dir" |
- + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)[^/].*/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\).*/{
- + s//\1/
- + q
- + }
- + s/.*/./; q'`
- + test -d "$as_dir" && break
- + done
- + test -z "$as_dirs" || eval "mkdir $as_dirs"
- + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
- +
- +
- +} # as_fn_mkdir_p
- +if mkdir -p . 2>/dev/null; then
- + as_mkdir_p='mkdir -p "$as_dir"'
- +else
- + test -d ./-p && rmdir ./-p
- + as_mkdir_p=false
- +fi
- +
- +
- +# as_fn_executable_p FILE
- +# -----------------------
- +# Test if FILE is an executable regular file.
- +as_fn_executable_p ()
- +{
- + test -f "$1" && test -x "$1"
- +} # as_fn_executable_p
- +as_test_x='test -x'
- +as_executable_p=as_fn_executable_p
- +
- +# Sed expression to map a string onto a valid CPP name.
- +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
- +
- +# Sed expression to map a string onto a valid variable name.
- +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
- +
- +
- +exec 6>&1
- +## ----------------------------------- ##
- +## Main body of $CONFIG_STATUS script. ##
- +## ----------------------------------- ##
- +_ASEOF
- +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
- +
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +# Save the log message, to keep $0 and so on meaningful, and to
- +# report actual input values of CONFIG_FILES etc. instead of their
- +# values after options handling.
- +ac_log="
- +This file was extended by $as_me, which was
- +generated by GNU Autoconf 2.69. Invocation command line was
- +
- + CONFIG_FILES = $CONFIG_FILES
- + CONFIG_HEADERS = $CONFIG_HEADERS
- + CONFIG_LINKS = $CONFIG_LINKS
- + CONFIG_COMMANDS = $CONFIG_COMMANDS
- + $ $0 $@
- +
- +on `(hostname || uname -n) 2>/dev/null | sed 1q`
- +"
- +
- +_ACEOF
- +
- +case $ac_config_files in *"
- +"*) set x $ac_config_files; shift; ac_config_files=$*;;
- +esac
- +
- +case $ac_config_headers in *"
- +"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
- +esac
- +
- +
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +# Files that config.status was made for.
- +config_files="$ac_config_files"
- +config_headers="$ac_config_headers"
- +config_commands="$ac_config_commands"
- +
- +_ACEOF
- +
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +ac_cs_usage="\
- +\`$as_me' instantiates files and other configuration actions
- +from templates according to the current configuration. Unless the files
- +and actions are specified as TAGs, all are instantiated by default.
- +
- +Usage: $0 [OPTION]... [TAG]...
- +
- + -h, --help print this help, then exit
- + -V, --version print version number and configuration settings, then exit
- + --config print configuration, then exit
- + -q, --quiet, --silent
- + do not print progress messages
- + -d, --debug don't remove temporary files
- + --recheck update $as_me by reconfiguring in the same conditions
- + --file=FILE[:TEMPLATE]
- + instantiate the configuration file FILE
- + --header=FILE[:TEMPLATE]
- + instantiate the configuration header FILE
- +
- +Configuration files:
- +$config_files
- +
- +Configuration headers:
- +$config_headers
- +
- +Configuration commands:
- +$config_commands
- +
- +Report bugs to the package provider."
- +
- +_ACEOF
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
- +ac_cs_version="\\
- +config.status
- +configured by $0, generated by GNU Autoconf 2.69,
- + with options \\"\$ac_cs_config\\"
- +
- +Copyright (C) 2012 Free Software Foundation, Inc.
- +This config.status script is free software; the Free Software Foundation
- +gives unlimited permission to copy, distribute and modify it."
- +
- +ac_pwd='$ac_pwd'
- +srcdir='$srcdir'
- +INSTALL='$INSTALL'
- +AWK='$AWK'
- +test -n "\$AWK" || AWK=awk
- +_ACEOF
- +
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +# The default lists apply if the user does not specify any file.
- +ac_need_defaults=:
- +while test $# != 0
- +do
- + case $1 in
- + --*=?*)
- + ac_option=`expr "X$1" : 'X\([^=]*\)='`
- + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- + ac_shift=:
- + ;;
- + --*=)
- + ac_option=`expr "X$1" : 'X\([^=]*\)='`
- + ac_optarg=
- + ac_shift=:
- + ;;
- + *)
- + ac_option=$1
- + ac_optarg=$2
- + ac_shift=shift
- + ;;
- + esac
- +
- + case $ac_option in
- + # Handling of the options.
- + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- + ac_cs_recheck=: ;;
- + --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- + $as_echo "$ac_cs_version"; exit ;;
- + --config | --confi | --conf | --con | --co | --c )
- + $as_echo "$ac_cs_config"; exit ;;
- + --debug | --debu | --deb | --de | --d | -d )
- + debug=: ;;
- + --file | --fil | --fi | --f )
- + $ac_shift
- + case $ac_optarg in
- + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- + '') as_fn_error $? "missing file argument" ;;
- + esac
- + as_fn_append CONFIG_FILES " '$ac_optarg'"
- + ac_need_defaults=false;;
- + --header | --heade | --head | --hea )
- + $ac_shift
- + case $ac_optarg in
- + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- + esac
- + as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- + ac_need_defaults=false;;
- + --he | --h)
- + # Conflict between --help and --header
- + as_fn_error $? "ambiguous option: \`$1'
- +Try \`$0 --help' for more information.";;
- + --help | --hel | -h )
- + $as_echo "$ac_cs_usage"; exit ;;
- + -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- + | -silent | --silent | --silen | --sile | --sil | --si | --s)
- + ac_cs_silent=: ;;
- +
- + # This is an error.
- + -*) as_fn_error $? "unrecognized option: \`$1'
- +Try \`$0 --help' for more information." ;;
- +
- + *) as_fn_append ac_config_targets " $1"
- + ac_need_defaults=false ;;
- +
- + esac
- + shift
- +done
- +
- +ac_configure_extra_args=
- +
- +if $ac_cs_silent; then
- + exec 6>/dev/null
- + ac_configure_extra_args="$ac_configure_extra_args --silent"
- +fi
- +
- +_ACEOF
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +if \$ac_cs_recheck; then
- + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- + shift
- + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- + CONFIG_SHELL='$SHELL'
- + export CONFIG_SHELL
- + exec "\$@"
- +fi
- +
- +_ACEOF
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +exec 5>>config.log
- +{
- + echo
- + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
- +## Running $as_me. ##
- +_ASBOX
- + $as_echo "$ac_log"
- +} >&5
- +
- +_ACEOF
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +#
- +# INIT-COMMANDS
- +#
- +ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR
- +
- +
- +# The HP-UX ksh and POSIX shell print the target directory to stdout
- +# if CDPATH is set.
- +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- +
- +sed_quote_subst='$sed_quote_subst'
- +double_quote_subst='$double_quote_subst'
- +delay_variable_subst='$delay_variable_subst'
- +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
- +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
- +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
- +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
- +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
- +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
- +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
- +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
- +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
- +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
- +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
- +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
- +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
- +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
- +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
- +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
- +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
- +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
- +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
- +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
- +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
- +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
- +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
- +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
- +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
- +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
- +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
- +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
- +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
- +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
- +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
- +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
- +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
- +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
- +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
- +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
- +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
- +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
- +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
- +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
- +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
- +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
- +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
- +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
- +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
- +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
- +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
- +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
- +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"`'
- +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
- +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
- +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
- +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
- +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
- +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
- +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
- +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
- +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
- +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
- +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
- +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
- +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
- +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
- +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
- +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
- +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
- +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
- +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
- +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
- +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
- +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
- +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
- +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
- +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
- +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
- +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
- +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
- +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
- +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
- +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
- +hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
- +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
- +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
- +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
- +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
- +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
- +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
- +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
- +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
- +fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
- +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
- +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
- +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
- +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
- +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
- +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
- +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
- +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
- +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
- +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
- +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
- +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
- +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
- +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
- +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
- +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
- +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
- +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
- +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
- +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
- +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
- +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
- +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
- +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
- +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
- +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
- +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
- +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
- +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
- +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
- +
- +LTCC='$LTCC'
- +LTCFLAGS='$LTCFLAGS'
- +compiler='$compiler_DEFAULT'
- +
- +# A function that is used when there is no print builtin or printf.
- +func_fallback_echo ()
- +{
- + eval 'cat <<_LTECHO_EOF
- +\$1
- +_LTECHO_EOF'
- +}
- +
- +# Quote evaled strings.
- +for var in SHELL \
- +ECHO \
- +SED \
- +GREP \
- +EGREP \
- +FGREP \
- +LD \
- +NM \
- +LN_S \
- +lt_SP2NL \
- +lt_NL2SP \
- +reload_flag \
- +OBJDUMP \
- +deplibs_check_method \
- +file_magic_cmd \
- +AR \
- +AR_FLAGS \
- +STRIP \
- +RANLIB \
- +CC \
- +CFLAGS \
- +compiler \
- +lt_cv_sys_global_symbol_pipe \
- +lt_cv_sys_global_symbol_to_cdecl \
- +lt_cv_sys_global_symbol_to_c_name_address \
- +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
- +lt_prog_compiler_no_builtin_flag \
- +lt_prog_compiler_wl \
- +lt_prog_compiler_pic \
- +lt_prog_compiler_static \
- +lt_cv_prog_compiler_c_o \
- +need_locks \
- +DSYMUTIL \
- +NMEDIT \
- +LIPO \
- +OTOOL \
- +OTOOL64 \
- +shrext_cmds \
- +export_dynamic_flag_spec \
- +whole_archive_flag_spec \
- +compiler_needs_object \
- +with_gnu_ld \
- +allow_undefined_flag \
- +no_undefined_flag \
- +hardcode_libdir_flag_spec \
- +hardcode_libdir_flag_spec_ld \
- +hardcode_libdir_separator \
- +fix_srcfile_path \
- +exclude_expsyms \
- +include_expsyms \
- +file_list_spec \
- +variables_saved_for_relink \
- +libname_spec \
- +library_names_spec \
- +soname_spec \
- +install_override_mode \
- +finish_eval \
- +old_striplib \
- +striplib; do
- + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- + *[\\\\\\\`\\"\\\$]*)
- + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- + ;;
- + *)
- + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- + ;;
- + esac
- +done
- +
- +# Double-quote double-evaled strings.
- +for var in reload_cmds \
- +old_postinstall_cmds \
- +old_postuninstall_cmds \
- +old_archive_cmds \
- +extract_expsyms_cmds \
- +old_archive_from_new_cmds \
- +old_archive_from_expsyms_cmds \
- +archive_cmds \
- +archive_expsym_cmds \
- +module_cmds \
- +module_expsym_cmds \
- +export_symbols_cmds \
- +prelink_cmds \
- +postinstall_cmds \
- +postuninstall_cmds \
- +finish_cmds \
- +sys_lib_search_path_spec \
- +sys_lib_dlsearch_path_spec; do
- + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- + *[\\\\\\\`\\"\\\$]*)
- + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- + ;;
- + *)
- + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- + ;;
- + esac
- +done
- +
- +ac_aux_dir='$ac_aux_dir'
- +xsi_shell='$xsi_shell'
- +lt_shell_append='$lt_shell_append'
- +
- +# See if we are running on zsh, and set the options which allow our
- +# commands through without removal of \ escapes INIT.
- +if test -n "\${ZSH_VERSION+set}" ; then
- + setopt NO_GLOB_SUBST
- +fi
- +
- +
- + PACKAGE='$PACKAGE'
- + VERSION='$VERSION'
- + TIMESTAMP='$TIMESTAMP'
- + RM='$RM'
- + ofile='$ofile'
- +
- +
- +
- +
- +_ACEOF
- +
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +
- +# Handling of arguments.
- +for ac_config_target in $ac_config_targets
- +do
- + case $ac_config_target in
- + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
- + "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
- + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- + "Makefile.sim") CONFIG_FILES="$CONFIG_FILES Makefile.sim:Makefile.in" ;;
- + "Make-common.sim") CONFIG_FILES="$CONFIG_FILES Make-common.sim:../common/Make-common.in" ;;
- + ".gdbinit") CONFIG_FILES="$CONFIG_FILES .gdbinit:../common/gdbinit.in" ;;
- + "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
- + "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
- +
- + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- + esac
- +done
- +
- +
- +# If the user did not use the arguments to specify the items to instantiate,
- +# then the envvar interface is used. Set only those that are not.
- +# We use the long form for the default assignment because of an extremely
- +# bizarre bug on SunOS 4.1.3.
- +if $ac_need_defaults; then
- + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
- +fi
- +
- +# Have a temporary directory for convenience. Make it in the build tree
- +# simply because there is no reason against having it here, and in addition,
- +# creating and moving files from /tmp can sometimes cause problems.
- +# Hook for its removal unless debugging.
- +# Note that there is a small window in which the directory will not be cleaned:
- +# after its creation but before its name has been assigned to `$tmp'.
- +$debug ||
- +{
- + tmp= ac_tmp=
- + trap 'exit_status=$?
- + : "${ac_tmp:=$tmp}"
- + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
- +' 0
- + trap 'as_fn_exit 1' 1 2 13 15
- +}
- +# Create a (secure) tmp directory for tmp files.
- +
- +{
- + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- + test -d "$tmp"
- +} ||
- +{
- + tmp=./conf$$-$RANDOM
- + (umask 077 && mkdir "$tmp")
- +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
- +ac_tmp=$tmp
- +
- +# Set up the scripts for CONFIG_FILES section.
- +# No need to generate them if there are no CONFIG_FILES.
- +# This happens for instance with `./config.status config.h'.
- +if test -n "$CONFIG_FILES"; then
- +
- +
- +ac_cr=`echo X | tr X '\015'`
- +# On cygwin, bash can eat \r inside `` if the user requested igncr.
- +# But we know of no other shell where ac_cr would be empty at this
- +# point, so we can use a bashism as a fallback.
- +if test "x$ac_cr" = x; then
- + eval ac_cr=\$\'\\r\'
- +fi
- +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
- +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- + ac_cs_awk_cr='\\r'
- +else
- + ac_cs_awk_cr=$ac_cr
- +fi
- +
- +echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
- +_ACEOF
- +
- +
- +{
- + echo "cat >conf$$subs.awk <<_ACEOF" &&
- + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- + echo "_ACEOF"
- +} >conf$$subs.sh ||
- + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
- +ac_delim='%!_!# '
- +for ac_last_try in false false false false false :; do
- + . ./conf$$subs.sh ||
- + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- +
- + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- + if test $ac_delim_n = $ac_delim_num; then
- + break
- + elif $ac_last_try; then
- + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- + else
- + ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- + fi
- +done
- +rm -f conf$$subs.sh
- +
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
- +_ACEOF
- +sed -n '
- +h
- +s/^/S["/; s/!.*/"]=/
- +p
- +g
- +s/^[^!]*!//
- +:repl
- +t repl
- +s/'"$ac_delim"'$//
- +t delim
- +:nl
- +h
- +s/\(.\{148\}\)..*/\1/
- +t more1
- +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
- +p
- +n
- +b repl
- +:more1
- +s/["\\]/\\&/g; s/^/"/; s/$/"\\/
- +p
- +g
- +s/.\{148\}//
- +t nl
- +:delim
- +h
- +s/\(.\{148\}\)..*/\1/
- +t more2
- +s/["\\]/\\&/g; s/^/"/; s/$/"/
- +p
- +b
- +:more2
- +s/["\\]/\\&/g; s/^/"/; s/$/"\\/
- +p
- +g
- +s/.\{148\}//
- +t delim
- +' <conf$$subs.awk | sed '
- +/^[^""]/{
- + N
- + s/\n//
- +}
- +' >>$CONFIG_STATUS || ac_write_fail=1
- +rm -f conf$$subs.awk
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +_ACAWK
- +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- + for (key in S) S_is_set[key] = 1
- + FS = ""
- +
- +}
- +{
- + line = $ 0
- + nfields = split(line, field, "@")
- + substed = 0
- + len = length(field[1])
- + for (i = 2; i < nfields; i++) {
- + key = field[i]
- + keylen = length(key)
- + if (S_is_set[key]) {
- + value = S[key]
- + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- + len += length(value) + length(field[++i])
- + substed = 1
- + } else
- + len += 1 + keylen
- + }
- +
- + print line
- +}
- +
- +_ACAWK
- +_ACEOF
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
- +else
- + cat
- +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
- +_ACEOF
- +
- +# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
- +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
- +# trailing colons and then remove the whole line if VPATH becomes empty
- +# (actually we leave an empty line to preserve line numbers).
- +if test "x$srcdir" = x.; then
- + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
- +h
- +s///
- +s/^/:/
- +s/[ ]*$/:/
- +s/:\$(srcdir):/:/g
- +s/:\${srcdir}:/:/g
- +s/:@srcdir@:/:/g
- +s/^:*//
- +s/:*$//
- +x
- +s/\(=[ ]*\).*/\1/
- +G
- +s/\n//
- +s/^[^=]*=[ ]*$//
- +}'
- +fi
- +
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +fi # test -n "$CONFIG_FILES"
- +
- +# Set up the scripts for CONFIG_HEADERS section.
- +# No need to generate them if there are no CONFIG_HEADERS.
- +# This happens for instance with `./config.status Makefile'.
- +if test -n "$CONFIG_HEADERS"; then
- +cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
- +BEGIN {
- +_ACEOF
- +
- +# Transform confdefs.h into an awk script `defines.awk', embedded as
- +# here-document in config.status, that substitutes the proper values into
- +# config.h.in to produce config.h.
- +
- +# Create a delimiter string that does not exist in confdefs.h, to ease
- +# handling of long lines.
- +ac_delim='%!_!# '
- +for ac_last_try in false false :; do
- + ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- + if test -z "$ac_tt"; then
- + break
- + elif $ac_last_try; then
- + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- + else
- + ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- + fi
- +done
- +
- +# For the awk script, D is an array of macro values keyed by name,
- +# likewise P contains macro parameters if any. Preserve backslash
- +# newline sequences.
- +
- +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
- +sed -n '
- +s/.\{148\}/&'"$ac_delim"'/g
- +t rset
- +:rset
- +s/^[ ]*#[ ]*define[ ][ ]*/ /
- +t def
- +d
- +:def
- +s/\\$//
- +t bsnl
- +s/["\\]/\\&/g
- +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
- +D["\1"]=" \3"/p
- +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
- +d
- +:bsnl
- +s/["\\]/\\&/g
- +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
- +D["\1"]=" \3\\\\\\n"\\/p
- +t cont
- +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
- +t cont
- +d
- +:cont
- +n
- +s/.\{148\}/&'"$ac_delim"'/g
- +t clear
- +:clear
- +s/\\$//
- +t bsnlc
- +s/["\\]/\\&/g; s/^/"/; s/$/"/p
- +d
- +:bsnlc
- +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
- +b cont
- +' <confdefs.h | sed '
- +s/'"$ac_delim"'/"\\\
- +"/g' >>$CONFIG_STATUS || ac_write_fail=1
- +
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- + for (key in D) D_is_set[key] = 1
- + FS = ""
- +}
- +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- + line = \$ 0
- + split(line, arg, " ")
- + if (arg[1] == "#") {
- + defundef = arg[2]
- + mac1 = arg[3]
- + } else {
- + defundef = substr(arg[1], 2)
- + mac1 = arg[2]
- + }
- + split(mac1, mac2, "(") #)
- + macro = mac2[1]
- + prefix = substr(line, 1, index(line, defundef) - 1)
- + if (D_is_set[macro]) {
- + # Preserve the white space surrounding the "#".
- + print prefix "define", macro P[macro] D[macro]
- + next
- + } else {
- + # Replace #undef with comments. This is necessary, for example,
- + # in the case of _POSIX_SOURCE, which is predefined and required
- + # on some systems where configure will not decide to define it.
- + if (defundef == "undef") {
- + print "/*", prefix defundef, macro, "*/"
- + next
- + }
- + }
- +}
- +{ print }
- +_ACAWK
- +_ACEOF
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
- +fi # test -n "$CONFIG_HEADERS"
- +
- +
- +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
- +shift
- +for ac_tag
- +do
- + case $ac_tag in
- + :[FHLC]) ac_mode=$ac_tag; continue;;
- + esac
- + case $ac_mode$ac_tag in
- + :[FHL]*:*);;
- + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- + :[FH]-) ac_tag=-:-;;
- + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- + esac
- + ac_save_IFS=$IFS
- + IFS=:
- + set x $ac_tag
- + IFS=$ac_save_IFS
- + shift
- + ac_file=$1
- + shift
- +
- + case $ac_mode in
- + :L) ac_source=$1;;
- + :[FH])
- + ac_file_inputs=
- + for ac_f
- + do
- + case $ac_f in
- + -) ac_f="$ac_tmp/stdin";;
- + *) # Look for the file first in the build tree, then in the source tree
- + # (if the path is not absolute). The absolute path cannot be DOS-style,
- + # because $ac_f cannot contain `:'.
- + test -f "$ac_f" ||
- + case $ac_f in
- + [\\/$]*) false;;
- + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- + esac ||
- + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- + esac
- + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- + as_fn_append ac_file_inputs " '$ac_f'"
- + done
- +
- + # Let's still pretend it is `configure' which instantiates (i.e., don't
- + # use $as_me), people would be surprised to read:
- + # /* config.h. Generated by config.status. */
- + configure_input='Generated from '`
- + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- + `' by configure.'
- + if test x"$ac_file" != x-; then
- + configure_input="$ac_file. $configure_input"
- + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
- +$as_echo "$as_me: creating $ac_file" >&6;}
- + fi
- + # Neutralize special characters interpreted by sed in replacement strings.
- + case $configure_input in #(
- + *\&* | *\|* | *\\* )
- + ac_sed_conf_input=`$as_echo "$configure_input" |
- + sed 's/[\\\\&|]/\\\\&/g'`;; #(
- + *) ac_sed_conf_input=$configure_input;;
- + esac
- +
- + case $ac_tag in
- + *:-:* | *:-) cat >"$ac_tmp/stdin" \
- + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- + esac
- + ;;
- + esac
- +
- + ac_dir=`$as_dirname -- "$ac_file" ||
- +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- + X"$ac_file" : 'X\(//\)[^/]' \| \
- + X"$ac_file" : 'X\(//\)$' \| \
- + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
- +$as_echo X"$ac_file" |
- + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)[^/].*/{
- + s//\1/
- + q
- + }
- + /^X\(\/\/\)$/{
- + s//\1/
- + q
- + }
- + /^X\(\/\).*/{
- + s//\1/
- + q
- + }
- + s/.*/./; q'`
- + as_dir="$ac_dir"; as_fn_mkdir_p
- + ac_builddir=.
- +
- +case "$ac_dir" in
- +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
- +*)
- + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- + # A ".." for each directory in $ac_dir_suffix.
- + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- + case $ac_top_builddir_sub in
- + "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- + esac ;;
- +esac
- +ac_abs_top_builddir=$ac_pwd
- +ac_abs_builddir=$ac_pwd$ac_dir_suffix
- +# for backward compatibility:
- +ac_top_builddir=$ac_top_build_prefix
- +
- +case $srcdir in
- + .) # We are building in place.
- + ac_srcdir=.
- + ac_top_srcdir=$ac_top_builddir_sub
- + ac_abs_top_srcdir=$ac_pwd ;;
- + [\\/]* | ?:[\\/]* ) # Absolute name.
- + ac_srcdir=$srcdir$ac_dir_suffix;
- + ac_top_srcdir=$srcdir
- + ac_abs_top_srcdir=$srcdir ;;
- + *) # Relative name.
- + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- + ac_top_srcdir=$ac_top_build_prefix$srcdir
- + ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
- +esac
- +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
- +
- +
- + case $ac_mode in
- + :F)
- + #
- + # CONFIG_FILE
- + #
- +
- + case $INSTALL in
- + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- + esac
- +_ACEOF
- +
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +# If the template does not know about datarootdir, expand it.
- +# FIXME: This hack should be removed a few years after 2.60.
- +ac_datarootdir_hack=; ac_datarootdir_seen=
- +ac_sed_dataroot='
- +/datarootdir/ {
- + p
- + q
- +}
- +/@datadir@/p
- +/@docdir@/p
- +/@infodir@/p
- +/@localedir@/p
- +/@mandir@/p'
- +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
- +*datarootdir*) ac_datarootdir_seen=yes;;
- +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
- +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
- +_ACEOF
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- + ac_datarootdir_hack='
- + s&@datadir@&$datadir&g
- + s&@docdir@&$docdir&g
- + s&@infodir@&$infodir&g
- + s&@localedir@&$localedir&g
- + s&@mandir@&$mandir&g
- + s&\\\${datarootdir}&$datarootdir&g' ;;
- +esac
- +_ACEOF
- +
- +# Neutralize VPATH when `$srcdir' = `.'.
- +# Shell code in configure.ac might set extrasub.
- +# FIXME: do we really want to maintain this feature?
- +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- +ac_sed_extra="$ac_vpsub
- +$extrasub
- +_ACEOF
- +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- +:t
- +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
- +s|@configure_input@|$ac_sed_conf_input|;t t
- +s&@top_builddir@&$ac_top_builddir_sub&;t t
- +s&@top_build_prefix@&$ac_top_build_prefix&;t t
- +s&@srcdir@&$ac_srcdir&;t t
- +s&@abs_srcdir@&$ac_abs_srcdir&;t t
- +s&@top_srcdir@&$ac_top_srcdir&;t t
- +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
- +s&@builddir@&$ac_builddir&;t t
- +s&@abs_builddir@&$ac_abs_builddir&;t t
- +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
- +s&@INSTALL@&$ac_INSTALL&;t t
- +$ac_datarootdir_hack
- +"
- +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- +
- +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- + "$ac_tmp/out"`; test -z "$ac_out"; } &&
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
- +which seems to be undefined. Please make sure it is defined" >&5
- +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
- +which seems to be undefined. Please make sure it is defined" >&2;}
- +
- + rm -f "$ac_tmp/stdin"
- + case $ac_file in
- + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- + esac \
- + || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- + ;;
- + :H)
- + #
- + # CONFIG_HEADER
- + #
- + if test x"$ac_file" != x-; then
- + {
- + $as_echo "/* $configure_input */" \
- + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- + } >"$ac_tmp/config.h" \
- + || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
- +$as_echo "$as_me: $ac_file is unchanged" >&6;}
- + else
- + rm -f "$ac_file"
- + mv "$ac_tmp/config.h" "$ac_file" \
- + || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- + fi
- + else
- + $as_echo "/* $configure_input */" \
- + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- + || as_fn_error $? "could not create -" "$LINENO" 5
- + fi
- + ;;
- +
- + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
- +$as_echo "$as_me: executing $ac_file commands" >&6;}
- + ;;
- + esac
- +
- +
- + case $ac_file$ac_mode in
- + "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
- + "libtool":C)
- +
- + # See if we are running on zsh, and set the options which allow our
- + # commands through without removal of \ escapes.
- + if test -n "${ZSH_VERSION+set}" ; then
- + setopt NO_GLOB_SUBST
- + fi
- +
- + cfgfile="${ofile}T"
- + trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- + $RM "$cfgfile"
- +
- + cat <<_LT_EOF >> "$cfgfile"
- +#! $SHELL
- +
- +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
- +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
- +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
- +# NOTE: Changes made to this file will be lost: look at ltmain.sh.
- +#
- +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
- +# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- +# Written by Gordon Matzigkeit, 1996
- +#
- +# This file is part of GNU Libtool.
- +#
- +# GNU Libtool is free software; you can redistribute it and/or
- +# modify it under the terms of the GNU General Public License as
- +# published by the Free Software Foundation; either version 2 of
- +# the License, or (at your option) any later version.
- +#
- +# As a special exception to the GNU General Public License,
- +# if you distribute this file as part of a program or library that
- +# is built using GNU Libtool, you may include this file under the
- +# same distribution terms that you use for the rest of that program.
- +#
- +# GNU Libtool is distributed in the hope that it will be useful,
- +# but WITHOUT ANY WARRANTY; without even the implied warranty of
- +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- +# GNU General Public License for more details.
- +#
- +# You should have received a copy of the GNU General Public License
- +# along with GNU Libtool; see the file COPYING. If not, a copy
- +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
- +# obtained by writing to the Free Software Foundation, Inc.,
- +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- +
- +
- +# The names of the tagged configurations supported by this script.
- +available_tags=""
- +
- +# ### BEGIN LIBTOOL CONFIG
- +
- +# Which release of libtool.m4 was used?
- +macro_version=$macro_version
- +macro_revision=$macro_revision
- +
- +# Whether or not to build shared libraries.
- +build_libtool_libs=$enable_shared
- +
- +# Whether or not to build static libraries.
- +build_old_libs=$enable_static
- +
- +# What type of objects to build.
- +pic_mode=$pic_mode
- +
- +# Whether or not to optimize for fast installation.
- +fast_install=$enable_fast_install
- +
- +# Shell to use when invoking shell scripts.
- +SHELL=$lt_SHELL
- +
- +# An echo program that protects backslashes.
- +ECHO=$lt_ECHO
- +
- +# The host system.
- +host_alias=$host_alias
- +host=$host
- +host_os=$host_os
- +
- +# The build system.
- +build_alias=$build_alias
- +build=$build
- +build_os=$build_os
- +
- +# A sed program that does not truncate output.
- +SED=$lt_SED
- +
- +# Sed that helps us avoid accidentally triggering echo(1) options like -n.
- +Xsed="\$SED -e 1s/^X//"
- +
- +# A grep program that handles long lines.
- +GREP=$lt_GREP
- +
- +# An ERE matcher.
- +EGREP=$lt_EGREP
- +
- +# A literal string matcher.
- +FGREP=$lt_FGREP
- +
- +# A BSD- or MS-compatible name lister.
- +NM=$lt_NM
- +
- +# Whether we need soft or hard links.
- +LN_S=$lt_LN_S
- +
- +# What is the maximum length of a command?
- +max_cmd_len=$max_cmd_len
- +
- +# Object file suffix (normally "o").
- +objext=$ac_objext
- +
- +# Executable file suffix (normally "").
- +exeext=$exeext
- +
- +# whether the shell understands "unset".
- +lt_unset=$lt_unset
- +
- +# turn spaces into newlines.
- +SP2NL=$lt_lt_SP2NL
- +
- +# turn newlines into spaces.
- +NL2SP=$lt_lt_NL2SP
- +
- +# An object symbol dumper.
- +OBJDUMP=$lt_OBJDUMP
- +
- +# Method to check whether dependent libraries are shared objects.
- +deplibs_check_method=$lt_deplibs_check_method
- +
- +# Command to use when deplibs_check_method == "file_magic".
- +file_magic_cmd=$lt_file_magic_cmd
- +
- +# The archiver.
- +AR=$lt_AR
- +AR_FLAGS=$lt_AR_FLAGS
- +
- +# A symbol stripping program.
- +STRIP=$lt_STRIP
- +
- +# Commands used to install an old-style archive.
- +RANLIB=$lt_RANLIB
- +old_postinstall_cmds=$lt_old_postinstall_cmds
- +old_postuninstall_cmds=$lt_old_postuninstall_cmds
- +
- +# Whether to use a lock for old archive extraction.
- +lock_old_archive_extraction=$lock_old_archive_extraction
- +
- +# A C compiler.
- +LTCC=$lt_CC
- +
- +# LTCC compiler flags.
- +LTCFLAGS=$lt_CFLAGS
- +
- +# Take the output of nm and produce a listing of raw symbols and C names.
- +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
- +
- +# Transform the output of nm in a proper C declaration.
- +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
- +
- +# Transform the output of nm in a C name address pair.
- +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
- +
- +# Transform the output of nm in a C name address pair when lib prefix is needed.
- +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
- +
- +# The name of the directory that contains temporary libtool files.
- +objdir=$objdir
- +
- +# Used to examine libraries when file_magic_cmd begins with "file".
- +MAGIC_CMD=$MAGIC_CMD
- +
- +# Must we lock files when doing compilation?
- +need_locks=$lt_need_locks
- +
- +# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
- +DSYMUTIL=$lt_DSYMUTIL
- +
- +# Tool to change global to local symbols on Mac OS X.
- +NMEDIT=$lt_NMEDIT
- +
- +# Tool to manipulate fat objects and archives on Mac OS X.
- +LIPO=$lt_LIPO
- +
- +# ldd/readelf like tool for Mach-O binaries on Mac OS X.
- +OTOOL=$lt_OTOOL
- +
- +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
- +OTOOL64=$lt_OTOOL64
- +
- +# Old archive suffix (normally "a").
- +libext=$libext
- +
- +# Shared library suffix (normally ".so").
- +shrext_cmds=$lt_shrext_cmds
- +
- +# The commands to extract the exported symbol list from a shared archive.
- +extract_expsyms_cmds=$lt_extract_expsyms_cmds
- +
- +# Variables whose values should be saved in libtool wrapper scripts and
- +# restored at link time.
- +variables_saved_for_relink=$lt_variables_saved_for_relink
- +
- +# Do we need the "lib" prefix for modules?
- +need_lib_prefix=$need_lib_prefix
- +
- +# Do we need a version for libraries?
- +need_version=$need_version
- +
- +# Library versioning type.
- +version_type=$version_type
- +
- +# Shared library runtime path variable.
- +runpath_var=$runpath_var
- +
- +# Shared library path variable.
- +shlibpath_var=$shlibpath_var
- +
- +# Is shlibpath searched before the hard-coded library search path?
- +shlibpath_overrides_runpath=$shlibpath_overrides_runpath
- +
- +# Format of library name prefix.
- +libname_spec=$lt_libname_spec
- +
- +# List of archive names. First name is the real one, the rest are links.
- +# The last name is the one that the linker finds with -lNAME
- +library_names_spec=$lt_library_names_spec
- +
- +# The coded name of the library, if different from the real name.
- +soname_spec=$lt_soname_spec
- +
- +# Permission mode override for installation of shared libraries.
- +install_override_mode=$lt_install_override_mode
- +
- +# Command to use after installation of a shared archive.
- +postinstall_cmds=$lt_postinstall_cmds
- +
- +# Command to use after uninstallation of a shared archive.
- +postuninstall_cmds=$lt_postuninstall_cmds
- +
- +# Commands used to finish a libtool library installation in a directory.
- +finish_cmds=$lt_finish_cmds
- +
- +# As "finish_cmds", except a single script fragment to be evaled but
- +# not shown.
- +finish_eval=$lt_finish_eval
- +
- +# Whether we should hardcode library paths into libraries.
- +hardcode_into_libs=$hardcode_into_libs
- +
- +# Compile-time system search path for libraries.
- +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
- +
- +# Run-time system search path for libraries.
- +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
- +
- +# Whether dlopen is supported.
- +dlopen_support=$enable_dlopen
- +
- +# Whether dlopen of programs is supported.
- +dlopen_self=$enable_dlopen_self
- +
- +# Whether dlopen of statically linked programs is supported.
- +dlopen_self_static=$enable_dlopen_self_static
- +
- +# Commands to strip libraries.
- +old_striplib=$lt_old_striplib
- +striplib=$lt_striplib
- +
- +
- +# The linker used to build libraries.
- +LD=$lt_LD
- +
- +# How to create reloadable object files.
- +reload_flag=$lt_reload_flag
- +reload_cmds=$lt_reload_cmds
- +
- +# Commands used to build an old-style archive.
- +old_archive_cmds=$lt_old_archive_cmds
- +
- +# A language specific compiler.
- +CC=$lt_compiler
- +
- +# Is the compiler the GNU compiler?
- +with_gcc=$GCC
- +
- +# Compiler flag to turn off builtin functions.
- +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
- +
- +# How to pass a linker flag through the compiler.
- +wl=$lt_lt_prog_compiler_wl
- +
- +# Additional compiler flags for building library objects.
- +pic_flag=$lt_lt_prog_compiler_pic
- +
- +# Compiler flag to prevent dynamic linking.
- +link_static_flag=$lt_lt_prog_compiler_static
- +
- +# Does compiler simultaneously support -c and -o options?
- +compiler_c_o=$lt_lt_cv_prog_compiler_c_o
- +
- +# Whether or not to add -lc for building shared libraries.
- +build_libtool_need_lc=$archive_cmds_need_lc
- +
- +# Whether or not to disallow shared libs when runtime libs are static.
- +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
- +
- +# Compiler flag to allow reflexive dlopens.
- +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
- +
- +# Compiler flag to generate shared objects directly from archives.
- +whole_archive_flag_spec=$lt_whole_archive_flag_spec
- +
- +# Whether the compiler copes with passing no objects directly.
- +compiler_needs_object=$lt_compiler_needs_object
- +
- +# Create an old-style archive from a shared archive.
- +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
- +
- +# Create a temporary old-style archive to link instead of a shared archive.
- +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
- +
- +# Commands used to build a shared archive.
- +archive_cmds=$lt_archive_cmds
- +archive_expsym_cmds=$lt_archive_expsym_cmds
- +
- +# Commands used to build a loadable module if different from building
- +# a shared archive.
- +module_cmds=$lt_module_cmds
- +module_expsym_cmds=$lt_module_expsym_cmds
- +
- +# Whether we are building with GNU ld or not.
- +with_gnu_ld=$lt_with_gnu_ld
- +
- +# Flag that allows shared libraries with undefined symbols to be built.
- +allow_undefined_flag=$lt_allow_undefined_flag
- +
- +# Flag that enforces no undefined symbols.
- +no_undefined_flag=$lt_no_undefined_flag
- +
- +# Flag to hardcode \$libdir into a binary during linking.
- +# This must work even if \$libdir does not exist
- +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
- +
- +# If ld is used when linking, flag to hardcode \$libdir into a binary
- +# during linking. This must work even if \$libdir does not exist.
- +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
- +
- +# Whether we need a single "-rpath" flag with a separated argument.
- +hardcode_libdir_separator=$lt_hardcode_libdir_separator
- +
- +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
- +# DIR into the resulting binary.
- +hardcode_direct=$hardcode_direct
- +
- +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
- +# DIR into the resulting binary and the resulting library dependency is
- +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
- +# library is relocated.
- +hardcode_direct_absolute=$hardcode_direct_absolute
- +
- +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- +# into the resulting binary.
- +hardcode_minus_L=$hardcode_minus_L
- +
- +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- +# into the resulting binary.
- +hardcode_shlibpath_var=$hardcode_shlibpath_var
- +
- +# Set to "yes" if building a shared library automatically hardcodes DIR
- +# into the library and all subsequent libraries and executables linked
- +# against it.
- +hardcode_automatic=$hardcode_automatic
- +
- +# Set to yes if linker adds runtime paths of dependent libraries
- +# to runtime path list.
- +inherit_rpath=$inherit_rpath
- +
- +# Whether libtool must link a program against all its dependency libraries.
- +link_all_deplibs=$link_all_deplibs
- +
- +# Fix the shell variable \$srcfile for the compiler.
- +fix_srcfile_path=$lt_fix_srcfile_path
- +
- +# Set to "yes" if exported symbols are required.
- +always_export_symbols=$always_export_symbols
- +
- +# The commands to list exported symbols.
- +export_symbols_cmds=$lt_export_symbols_cmds
- +
- +# Symbols that should not be listed in the preloaded symbols.
- +exclude_expsyms=$lt_exclude_expsyms
- +
- +# Symbols that must always be exported.
- +include_expsyms=$lt_include_expsyms
- +
- +# Commands necessary for linking programs (against libraries) with templates.
- +prelink_cmds=$lt_prelink_cmds
- +
- +# Specify filename containing input files.
- +file_list_spec=$lt_file_list_spec
- +
- +# How to hardcode a shared library path into an executable.
- +hardcode_action=$hardcode_action
- +
- +# ### END LIBTOOL CONFIG
- +
- +_LT_EOF
- +
- + case $host_os in
- + aix3*)
- + cat <<\_LT_EOF >> "$cfgfile"
- +# AIX sometimes has problems with the GCC collect2 program. For some
- +# reason, if we set the COLLECT_NAMES environment variable, the problems
- +# vanish in a puff of smoke.
- +if test "X${COLLECT_NAMES+set}" != Xset; then
- + COLLECT_NAMES=
- + export COLLECT_NAMES
- +fi
- +_LT_EOF
- + ;;
- + esac
- +
- +
- +ltmain="$ac_aux_dir/ltmain.sh"
- +
- +
- + # We use sed instead of cat because bash on DJGPP gets confused if
- + # if finds mixed CR/LF and LF-only lines. Since sed operates in
- + # text mode, it properly converts lines to CR/LF. This bash problem
- + # is reportedly fixed, but why not run on old versions too?
- + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
- + || (rm -f "$cfgfile"; exit 1)
- +
- + case $xsi_shell in
- + yes)
- + cat << \_LT_EOF >> "$cfgfile"
- +
- +# func_dirname file append nondir_replacement
- +# Compute the dirname of FILE. If nonempty, add APPEND to the result,
- +# otherwise set result to NONDIR_REPLACEMENT.
- +func_dirname ()
- +{
- + case ${1} in
- + */*) func_dirname_result="${1%/*}${2}" ;;
- + * ) func_dirname_result="${3}" ;;
- + esac
- +}
- +
- +# func_basename file
- +func_basename ()
- +{
- + func_basename_result="${1##*/}"
- +}
- +
- +# func_dirname_and_basename file append nondir_replacement
- +# perform func_basename and func_dirname in a single function
- +# call:
- +# dirname: Compute the dirname of FILE. If nonempty,
- +# add APPEND to the result, otherwise set result
- +# to NONDIR_REPLACEMENT.
- +# value returned in "$func_dirname_result"
- +# basename: Compute filename of FILE.
- +# value retuned in "$func_basename_result"
- +# Implementation must be kept synchronized with func_dirname
- +# and func_basename. For efficiency, we do not delegate to
- +# those functions but instead duplicate the functionality here.
- +func_dirname_and_basename ()
- +{
- + case ${1} in
- + */*) func_dirname_result="${1%/*}${2}" ;;
- + * ) func_dirname_result="${3}" ;;
- + esac
- + func_basename_result="${1##*/}"
- +}
- +
- +# func_stripname prefix suffix name
- +# strip PREFIX and SUFFIX off of NAME.
- +# PREFIX and SUFFIX must not contain globbing or regex special
- +# characters, hashes, percent signs, but SUFFIX may contain a leading
- +# dot (in which case that matches only a dot).
- +func_stripname ()
- +{
- + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- + # positional parameters, so assign one to ordinary parameter first.
- + func_stripname_result=${3}
- + func_stripname_result=${func_stripname_result#"${1}"}
- + func_stripname_result=${func_stripname_result%"${2}"}
- +}
- +
- +# func_opt_split
- +func_opt_split ()
- +{
- + func_opt_split_opt=${1%%=*}
- + func_opt_split_arg=${1#*=}
- +}
- +
- +# func_lo2o object
- +func_lo2o ()
- +{
- + case ${1} in
- + *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- + *) func_lo2o_result=${1} ;;
- + esac
- +}
- +
- +# func_xform libobj-or-source
- +func_xform ()
- +{
- + func_xform_result=${1%.*}.lo
- +}
- +
- +# func_arith arithmetic-term...
- +func_arith ()
- +{
- + func_arith_result=$(( $* ))
- +}
- +
- +# func_len string
- +# STRING may not start with a hyphen.
- +func_len ()
- +{
- + func_len_result=${#1}
- +}
- +
- +_LT_EOF
- + ;;
- + *) # Bourne compatible functions.
- + cat << \_LT_EOF >> "$cfgfile"
- +
- +# func_dirname file append nondir_replacement
- +# Compute the dirname of FILE. If nonempty, add APPEND to the result,
- +# otherwise set result to NONDIR_REPLACEMENT.
- +func_dirname ()
- +{
- + # Extract subdirectory from the argument.
- + func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
- + if test "X$func_dirname_result" = "X${1}"; then
- + func_dirname_result="${3}"
- + else
- + func_dirname_result="$func_dirname_result${2}"
- + fi
- +}
- +
- +# func_basename file
- +func_basename ()
- +{
- + func_basename_result=`$ECHO "${1}" | $SED "$basename"`
- +}
- +
- +
- +# func_stripname prefix suffix name
- +# strip PREFIX and SUFFIX off of NAME.
- +# PREFIX and SUFFIX must not contain globbing or regex special
- +# characters, hashes, percent signs, but SUFFIX may contain a leading
- +# dot (in which case that matches only a dot).
- +# func_strip_suffix prefix name
- +func_stripname ()
- +{
- + case ${2} in
- + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- + esac
- +}
- +
- +# sed scripts:
- +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
- +my_sed_long_arg='1s/^-[^=]*=//'
- +
- +# func_opt_split
- +func_opt_split ()
- +{
- + func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
- + func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
- +}
- +
- +# func_lo2o object
- +func_lo2o ()
- +{
- + func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
- +}
- +
- +# func_xform libobj-or-source
- +func_xform ()
- +{
- + func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
- +}
- +
- +# func_arith arithmetic-term...
- +func_arith ()
- +{
- + func_arith_result=`expr "$@"`
- +}
- +
- +# func_len string
- +# STRING may not start with a hyphen.
- +func_len ()
- +{
- + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
- +}
- +
- +_LT_EOF
- +esac
- +
- +case $lt_shell_append in
- + yes)
- + cat << \_LT_EOF >> "$cfgfile"
- +
- +# func_append var value
- +# Append VALUE to the end of shell variable VAR.
- +func_append ()
- +{
- + eval "$1+=\$2"
- +}
- +_LT_EOF
- + ;;
- + *)
- + cat << \_LT_EOF >> "$cfgfile"
- +
- +# func_append var value
- +# Append VALUE to the end of shell variable VAR.
- +func_append ()
- +{
- + eval "$1=\$$1\$2"
- +}
- +
- +_LT_EOF
- + ;;
- + esac
- +
- +
- + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
- + || (rm -f "$cfgfile"; exit 1)
- +
- + mv -f "$cfgfile" "$ofile" ||
- + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- + chmod +x "$ofile"
- +
- + ;;
- + "Makefile":C) echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
- + rm -f Makesim1.tmp Makesim2.tmp Makefile
- + sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
- + sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
- + sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
- + -e '/^## COMMON_POST_/ r Makesim2.tmp' \
- + <Makefile.sim >Makefile
- + rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
- + ;;
- + "stamp-h":C) echo > stamp-h ;;
- +
- + esac
- +done # for ac_tag
- +
- +
- +as_fn_exit 0
- +_ACEOF
- +ac_clean_files=$ac_clean_files_save
- +
- +test $ac_write_fail = 0 ||
- + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
- +
- +
- +# configure is writing to config.log, and then calls config.status.
- +# config.status does its own redirection, appending to config.log.
- +# Unfortunately, on DOS this fails, as config.log is still kept open
- +# by configure, so config.status won't be able to write to it; its
- +# output is simply discarded. So we exec the FD to /dev/null,
- +# effectively closing config.log, so it can be properly (re)opened and
- +# appended to by config.status. When coming back to configure, we
- +# need to make the FD available again.
- +if test "$no_create" != yes; then
- + ac_cs_success=:
- + ac_config_status_args=
- + test "$silent" = yes &&
- + ac_config_status_args="$ac_config_status_args --quiet"
- + exec 5>/dev/null
- + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- + exec 5>>config.log
- + # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- + # would make configure fail if this is the last instruction.
- + $ac_cs_success || as_fn_exit 1
- +fi
- +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
- +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- +fi
- +
- +
- diff --git a/sim/riscv/configure.ac b/sim/riscv/configure.ac
- new file mode 100644
- index 0000000000..a53e54c19f
- --- /dev/null
- +++ b/sim/riscv/configure.ac
- @@ -0,0 +1,30 @@
- +dnl Process this file with autoconf to produce a configure script.
- +AC_PREREQ(2.64)dnl
- +AC_INIT(Makefile.in)
- +sinclude(../common/acinclude.m4)
- +
- +SIM_AC_COMMON
- +
- +SIM_AC_OPTION_ENDIAN(LITTLE)
- +SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
- +SIM_AC_OPTION_ENVIRONMENT
- +SIM_AC_OPTION_INLINE
- +SIM_AC_OPTION_WARNINGS
- +
- +# Select the default model for the target.
- +riscv_model=
- +case "${target}" in
- +riscv32*) riscv_model="RV32G" ;;
- +riscv*) riscv_model="RV64G" ;;
- +esac
- +SIM_AC_OPTION_DEFAULT_MODEL(${riscv_model})
- +
- +# Select the bitsize of the target.
- +riscv_addr_bitsize=
- +case "${target}" in
- +riscv32*) riscv_addr_bitsize=32 ;;
- +riscv*) riscv_addr_bitsize=64 ;;
- +esac
- +SIM_AC_OPTION_BITSIZE($riscv_addr_bitsize)
- +
- +SIM_AC_OUTPUT
- diff --git a/sim/riscv/interp.c b/sim/riscv/interp.c
- new file mode 100644
- index 0000000000..f28c841cfc
- --- /dev/null
- +++ b/sim/riscv/interp.c
- @@ -0,0 +1,220 @@
- +/* RISC-V simulator.
- +
- + Copyright (C) 2005-2015 Free Software Foundation, Inc.
- + Contributed by Mike Frysinger.
- +
- + This file is part of simulators.
- +
- + This program is free software; you can redistribute it and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 3 of the License, or
- + (at your option) any later version.
- +
- + This program is distributed in the hope that it will be useful,
- + but WITHOUT ANY WARRANTY; without even the implied warranty of
- + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + GNU General Public License for more details.
- +
- + You should have received a copy of the GNU General Public License
- + along with this program. If not, see <http://www.gnu.org/licenses/>. */
- +
- +/* This file contains the main glue logic between the sim core and the target
- + specific simulator. Normally this file will be kept small and the target
- + details will live in other files.
- +
- + For more specific details on these functions, see the gdb/remote-sim.h
- + header file. */
- +
- +#include "config.h"
- +
- +#include "libiberty.h"
- +#include "bfd.h"
- +#include "elf-bfd.h"
- +
- +#include "sim-main.h"
- +#include "sim-options.h"
- +
- +/* This function is the main loop. It should process ticks and decode+execute
- + a single instruction.
- +
- + Usually you do not need to change things here. */
- +
- +void
- +sim_engine_run (SIM_DESC sd,
- + int next_cpu_nr, /* ignore */
- + int nr_cpus, /* ignore */
- + int siggnal) /* ignore */
- +{
- + SIM_CPU *cpu;
- +
- + SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
- +
- + cpu = STATE_CPU (sd, 0);
- +
- + while (1)
- + {
- + step_once (cpu);
- + if (sim_events_tick (sd))
- + sim_events_process (sd);
- + }
- +}
- +
- +/* Initialize the simulator from scratch. This is called once per lifetime of
- + the simulation. Think of it as a processor reset.
- +
- + Usually all cpu-specific setup is handled in the initialize_cpu callback.
- + If you want to do cpu-independent stuff, then it should go at the end (see
- + where memory is initialized). */
- +
- +static void
- +free_state (SIM_DESC sd)
- +{
- + if (STATE_MODULES (sd) != NULL)
- + sim_module_uninstall (sd);
- + sim_cpu_free_all (sd);
- + sim_state_free (sd);
- +}
- +
- +SIM_DESC
- +sim_open (SIM_OPEN_KIND kind, host_callback *callback,
- + struct bfd *abfd, char * const *argv)
- +{
- + char c;
- + int i;
- + SIM_DESC sd = sim_state_alloc (kind, callback);
- +
- + /* The cpu data is kept in a separately allocated chunk of memory. */
- + if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK)
- + {
- + free_state (sd);
- + return 0;
- + }
- +
- + if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
- + {
- + free_state (sd);
- + return 0;
- + }
- +
- + /* XXX: Default to the Virtual environment. */
- + if (STATE_ENVIRONMENT (sd) == ALL_ENVIRONMENT)
- + STATE_ENVIRONMENT (sd) = VIRTUAL_ENVIRONMENT;
- +
- + /* getopt will print the error message so we just have to exit if this fails.
- + FIXME: Hmmm... in the case of gdb we need getopt to call
- + print_filtered. */
- + if (sim_parse_args (sd, argv) != SIM_RC_OK)
- + {
- + free_state (sd);
- + return 0;
- + }
- +
- + /* Check for/establish the a reference program image. */
- + if (sim_analyze_program (sd,
- + (STATE_PROG_ARGV (sd) != NULL
- + ? *STATE_PROG_ARGV (sd)
- + : NULL), abfd) != SIM_RC_OK)
- + {
- + free_state (sd);
- + return 0;
- + }
- +
- + /* Establish any remaining configuration options. */
- + if (sim_config (sd) != SIM_RC_OK)
- + {
- + free_state (sd);
- + return 0;
- + }
- +
- + if (sim_post_argv_init (sd) != SIM_RC_OK)
- + {
- + free_state (sd);
- + return 0;
- + }
- +
- + /* CPU specific initialization. */
- + for (i = 0; i < MAX_NR_PROCESSORS; ++i)
- + {
- + SIM_CPU *cpu = STATE_CPU (sd, i);
- +
- + initialize_cpu (sd, cpu, i);
- + }
- +
- + /* Allocate external memory if none specified by user.
- + Use address 4 here in case the user wanted address 0 unmapped. */
- + if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0)
- + sim_do_commandf (sd, "memory-size %#x", DEFAULT_MEM_SIZE);
- +
- + return sd;
- +}
- +
- +static bfd_vma
- +riscv_get_symbol (SIM_DESC sd, const char *sym)
- +{
- + long symcount = STATE_PROG_SYMS_COUNT (sd);
- + asymbol **symtab = STATE_PROG_SYMS (sd);
- + int i;
- +
- + for (i = 0;i < symcount; ++i)
- + {
- + if (strcmp (sym, bfd_asymbol_name (symtab[i])) == 0)
- + {
- + bfd_vma sa;
- + sa = bfd_asymbol_value (symtab[i]);
- + return sa;
- + }
- + }
- +
- + /* Symbol not found. */
- + return 0;
- +}
- +
- +/* Prepare to run a program that has already been loaded into memory.
- +
- + Usually you do not need to change things here. */
- +
- +SIM_RC
- +sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
- + char * const *argv, char * const *env)
- +{
- + SIM_CPU *cpu = STATE_CPU (sd, 0);
- + sim_cia addr;
- + Elf_Internal_Phdr *phdr;
- + int i, phnum;
- +
- + /* Set the PC. */
- + if (abfd != NULL)
- + addr = bfd_get_start_address (abfd);
- + else
- + addr = 0;
- + sim_pc_set (cpu, addr);
- + phdr = elf_tdata (abfd)->phdr;
- + phnum = elf_elfheader (abfd)->e_phnum;
- +
- + /* Try to find _end symbol, and set it to the end of brk. */
- + trace_load_symbols (sd);
- + cpu->endbrk = riscv_get_symbol (sd, "_end");
- +
- + /* If not found, set end of brk to end of all section. */
- + if (cpu->endbrk == 0)
- + {
- + for (i = 0; i < phnum; i++)
- + {
- + if (phdr[i].p_paddr + phdr[i].p_memsz > cpu->endbrk)
- + cpu->endbrk = phdr[i].p_paddr + phdr[i].p_memsz;
- + }
- + }
- +
- + /* Standalone mode (i.e. `run`) will take care of the argv for us in
- + sim_open() -> sim_parse_args(). But in debug mode (i.e. 'target sim'
- + with `gdb`), we need to handle it. */
- + if (STATE_OPEN_KIND (sd) == SIM_OPEN_DEBUG)
- + {
- + freeargv (STATE_PROG_ARGV (sd));
- + STATE_PROG_ARGV (sd) = dupargv (argv);
- + }
- +
- + initialize_env (sd, (void *)argv, (void *)env);
- +
- + return SIM_RC_OK;
- +}
- diff --git a/sim/riscv/machs.c b/sim/riscv/machs.c
- new file mode 100644
- index 0000000000..78ed28d1f0
- --- /dev/null
- +++ b/sim/riscv/machs.c
- @@ -0,0 +1,125 @@
- +/* RISC-V simulator.
- +
- + Copyright (C) 2005-2015 Free Software Foundation, Inc.
- + Contributed by Mike Frysinger.
- +
- + This file is part of simulators.
- +
- + This program is free software; you can redistribute it and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 3 of the License, or
- + (at your option) any later version.
- +
- + This program is distributed in the hope that it will be useful,
- + but WITHOUT ANY WARRANTY; without even the implied warranty of
- + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + GNU General Public License for more details.
- +
- + You should have received a copy of the GNU General Public License
- + along with this program. If not, see <http://www.gnu.org/licenses/>. */
- +
- +#include "config.h"
- +
- +#include "sim-main.h"
- +
- +static void
- +riscv_model_init (SIM_CPU *cpu)
- +{
- +}
- +
- +static void
- +riscv_init_cpu (SIM_CPU *cpu)
- +{
- +}
- +
- +static void
- +riscv_prepare_run (SIM_CPU *cpu)
- +{
- +}
- +
- +static const SIM_MACH_IMP_PROPERTIES riscv_imp_properties =
- +{
- + sizeof (SIM_CPU),
- + 0,
- +};
- +
- +#if WITH_TARGET_WORD_BITSIZE >= 32
- +
- +static const SIM_MACH rv32i_mach;
- +
- +static const SIM_MODEL rv32_models[] =
- +{
- +#define M(ext) { "RV32"#ext, &rv32i_mach, MODEL_RV32##ext, NULL, riscv_model_init },
- +#include "model_list.def"
- +#undef M
- + { 0, NULL, 0, NULL, NULL, }
- +};
- +
- +static const SIM_MACH rv32i_mach =
- +{
- + "rv32i", "riscv:rv32", MACH_RV32I,
- + 32, 32, &rv32_models[0], &riscv_imp_properties,
- + riscv_init_cpu,
- + riscv_prepare_run
- +};
- +
- +#endif
- +
- +#if WITH_TARGET_WORD_BITSIZE >= 64
- +
- +static const SIM_MACH rv64i_mach;
- +
- +static const SIM_MODEL rv64_models[] =
- +{
- +#define M(ext) { "RV64"#ext, &rv64i_mach, MODEL_RV64##ext, NULL, riscv_model_init },
- +#include "model_list.def"
- +#undef M
- + { 0, NULL, 0, NULL, NULL, }
- +};
- +
- +static const SIM_MACH rv64i_mach =
- +{
- + "rv64i", "riscv:rv64", MACH_RV64I,
- + 64, 64, &rv64_models[0], &riscv_imp_properties,
- + riscv_init_cpu,
- + riscv_prepare_run
- +};
- +
- +#endif
- +
- +#if WITH_TARGET_WORD_BITSIZE >= 128
- +
- +static const SIM_MACH rv128i_mach;
- +
- +static const SIM_MODEL rv128_models[] =
- +{
- +#define M(ext) { "RV128"#ext, &rv128i_mach, MODEL_RV128##ext, NULL, riscv_model_init },
- +#include "model_list.def"
- +#undef M
- + { 0, NULL, 0, NULL, NULL, }
- +};
- +
- +static const SIM_MACH rv128i_mach =
- +{
- + "rv128i", "riscv:rv128", MACH_RV128I,
- + 128, 128, &rv128_models[0], &riscv_imp_properties,
- + riscv_init_cpu,
- + riscv_prepare_run
- +};
- +
- +#endif
- +
- +/* Order matters here. */
- +const SIM_MACH *sim_machs[] =
- +{
- +#if WITH_TARGET_WORD_BITSIZE >= 128
- + &rv128i_mach,
- +#endif
- +#if WITH_TARGET_WORD_BITSIZE >= 64
- + &rv64i_mach,
- +#endif
- +#if WITH_TARGET_WORD_BITSIZE >= 32
- + &rv32i_mach,
- +#endif
- + NULL
- +};
- diff --git a/sim/riscv/machs.h b/sim/riscv/machs.h
- new file mode 100644
- index 0000000000..6c8cd43e93
- --- /dev/null
- +++ b/sim/riscv/machs.h
- @@ -0,0 +1,45 @@
- +/* RISC-V simulator.
- +
- + Copyright (C) 2005-2014 Free Software Foundation, Inc.
- + Contributed by Mike Frysinger.
- +
- + This file is part of simulators.
- +
- + This program is free software; you can redistribute it and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 3 of the License, or
- + (at your option) any later version.
- +
- + This program is distributed in the hope that it will be useful,
- + but WITHOUT ANY WARRANTY; without even the implied warranty of
- + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + GNU General Public License for more details.
- +
- + You should have received a copy of the GNU General Public License
- + along with this program. If not, see <http://www.gnu.org/licenses/>. */
- +
- +#ifndef RISCV_SIM_MACHS_H
- +#define RISCV_SIM_MACHS_H
- +
- +typedef enum model_type {
- +#define M(ext) MODEL_RV32##ext,
- +#include "model_list.def"
- +#undef M
- +#define M(ext) MODEL_RV64##ext,
- +#include "model_list.def"
- +#undef M
- +#define M(ext) MODEL_RV128##ext,
- +#include "model_list.def"
- +#undef M
- + MODEL_MAX
- +} MODEL_TYPE;
- +
- +typedef enum mach_attr {
- + MACH_BASE,
- + MACH_RV32I,
- + MACH_RV64I,
- + MACH_RV128I,
- + MACH_MAX
- +} MACH_ATTR;
- +
- +#endif
- diff --git a/sim/riscv/model_list.def b/sim/riscv/model_list.def
- new file mode 100644
- index 0000000000..5efd85ab28
- --- /dev/null
- +++ b/sim/riscv/model_list.def
- @@ -0,0 +1,9 @@
- +M(G)
- +M(I)
- +M(IM)
- +M(IMA)
- +M(IA)
- +M(E)
- +M(EM)
- +M(EMA)
- +M(EA)
- diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c
- new file mode 100644
- index 0000000000..d773a35cb5
- --- /dev/null
- +++ b/sim/riscv/sim-main.c
- @@ -0,0 +1,2468 @@
- +/* RISC-V simulator.
- +
- + Copyright (C) 2005-2014 Free Software Foundation, Inc.
- + Contributed by Mike Frysinger.
- +
- + This file is part of simulators.
- +
- + This program is free software; you can redistribute it and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 3 of the License, or
- + (at your option) any later version.
- +
- + This program is distributed in the hope that it will be useful,
- + but WITHOUT ANY WARRANTY; without even the implied warranty of
- + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + GNU General Public License for more details.
- +
- + You should have received a copy of the GNU General Public License
- + along with this program. If not, see <http://www.gnu.org/licenses/>. */
- +
- +/* This file contains the main simulator decoding logic. i.e. everything that
- + is architecture specific. */
- +
- +#include "config.h"
- +
- +#include <inttypes.h>
- +#include <time.h>
- +#include <ctype.h>
- +#include <unistd.h>
- +#include <sys/time.h>
- +
- +#include "sim-main.h"
- +#include "sim-fpu.h"
- +#include "sim-syscall.h"
- +
- +#include "opcode/riscv.h"
- +
- +#include "gdb/sim-riscv.h"
- +
- +#include "targ-vals.h"
- +
- +
- +#define TRACE_REG(cpu, reg) TRACE_REGISTER (cpu, "wrote %s = %#" PRIxTW, riscv_gpr_names_abi[reg], cpu->regs[reg])
- +
- +static const struct riscv_opcode *riscv_hash[OP_MASK_OP + 1];
- +#define OP_HASH_IDX(i) ((i) & (riscv_insn_length (i) == 2 ? 0x3 : 0x7f))
- +
- +#define RISCV_ASSERT_RV32(cpu, fmt, args...) \
- + do { \
- + if (RISCV_XLEN (cpu) != 32) \
- + { \
- + SIM_DESC sd = CPU_STATE (cpu); \
- + TRACE_INSN (cpu, "RV32I-only " fmt, ## args); \
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL); \
- + } \
- + } while (0)
- +
- +#define RISCV_ASSERT_RV64(cpu, fmt, args...) \
- + do { \
- + if (RISCV_XLEN (cpu) != 64) \
- + { \
- + SIM_DESC sd = CPU_STATE (cpu); \
- + TRACE_INSN (cpu, "RV64I-only " fmt, ## args); \
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL); \
- + } \
- + } while (0)
- +
- +static INLINE void
- +store_rd (SIM_CPU *cpu, int rd, unsigned_word val)
- +{
- + if (rd)
- + {
- + cpu->regs[rd] = val;
- + TRACE_REG (cpu, rd);
- + }
- +}
- +
- +static INLINE void
- +store_frd (SIM_CPU *cpu, int rd, unsigned_word val)
- +{
- + cpu->fpregs[rd].w[0] = val;
- +}
- +
- +static inline void
- +store_frd64 (SIM_CPU *cpu, int rd, uint64_t val)
- +{
- + cpu->fpregs[rd].v[0] = val;
- +}
- +
- +static INLINE unsigned_word
- +fetch_csr (SIM_CPU *cpu, const char *name, int csr, unsigned_word *reg)
- +{
- + /* Handle pseudo registers. */
- + switch (csr)
- + {
- + /* Allow certain registers only in respective modes. */
- + case CSR_CYCLEH:
- + case CSR_INSTRETH:
- + case CSR_TIMEH:
- + RISCV_ASSERT_RV32 (cpu, "CSR: %s", name);
- + break;
- + }
- +
- + return *reg;
- +}
- +
- +static INLINE void
- +store_csr (SIM_CPU *cpu, const char *name, int csr, unsigned_word *reg,
- + unsigned_word val)
- +{
- + switch (csr)
- + {
- + /* These are pseudo registers that modify sub-fields of fcsr. */
- + case CSR_FRM:
- + val &= 0x7;
- + *reg = val;
- + cpu->csr.fcsr = (cpu->csr.fcsr & ~0xe0) | (val << 5);
- + break;
- + case CSR_FFLAGS:
- + val &= 0x1f;
- + *reg = val;
- + cpu->csr.fcsr = (cpu->csr.fcsr & ~0x1f) | val;
- + break;
- + /* Keep the sub-fields in sync. */
- + case CSR_FCSR:
- + *reg = val;
- + cpu->csr.frm = (val >> 5) & 0x7;
- + cpu->csr.fflags = val & 0x1f;
- + break;
- +
- + /* Allow certain registers only in respective modes. */
- + case CSR_CYCLEH:
- + case CSR_INSTRETH:
- + case CSR_TIMEH:
- + RISCV_ASSERT_RV32 (cpu, "CSR: %s", name);
- +
- + /* All the rest are immutable. */
- + default:
- + val = *reg;
- + break;
- + }
- +
- + TRACE_REGISTER (cpu, "wrote CSR %s = %#" PRIxTW, name, val);
- +}
- +
- +static inline unsigned_word
- +ashiftrt (unsigned_word val, unsigned_word shift)
- +{
- + unsigned32 sign = (val & 0x80000000) ? ~(0xfffffffful >> shift) : 0;
- + return (val >> shift) | sign;
- +}
- +
- +static inline unsigned_word
- +ashiftrt64 (unsigned_word val, unsigned_word shift)
- +{
- + unsigned64 sign = (val & 0x8000000000000000ull) ? ~(0xffffffffffffffffull >> shift) : 0;
- + return (val >> shift) | sign;
- +}
- +
- +static sim_cia
- +execute_d (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + unsigned int mask_arithmetic = MASK_FADD_D;
- + unsigned int mask_mul_add = MASK_FMADD_S;
- + unsigned int mask_convert = MASK_FCVT_S_W;
- +
- + static const int round_modes[] =
- + {
- + sim_fpu_round_near, sim_fpu_round_zero,
- + sim_fpu_round_down, sim_fpu_round_up,
- + sim_fpu_round_default, sim_fpu_round_default,
- + sim_fpu_round_default
- + };
- +
- + int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
- + int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
- + int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
- + int rs3 = (iw >> OP_SH_RS3) & OP_MASK_RS3;
- + const char *frd_name = riscv_fpr_names_abi[rd];
- + const char *frs1_name = riscv_fpr_names_abi[rs1];
- + const char *frs2_name = riscv_fpr_names_abi[rs2];
- + const char *frs3_name = riscv_fpr_names_abi[rs3];
- + const char *rd_name = riscv_gpr_names_abi[rd];
- + const char *rs1_name = riscv_gpr_names_abi[rs1];
- + unsigned_word i_imm = EXTRACT_ITYPE_IMM (iw);
- + unsigned_word s_imm = EXTRACT_STYPE_IMM (iw);
- + uint32_t u32;
- + int32_t i32;
- + uint64_t u64;
- + int64_t i64;
- + sim_cia pc = cpu->pc + 4;
- +
- + /* Rounding mode. */
- + int rm = (iw >> OP_SH_RM) & OP_MASK_RM;
- + int rounding = round_modes[rm];
- +
- + sim_fpu sft, sft2;
- + sim_fpu sfa, sfb, sfc;
- + sim_fpu_64to (&sfa, cpu->fpregs[rs1].v[0]);
- + sim_fpu_64to (&sfb, cpu->fpregs[rs2].v[0]);
- +
- + switch (op->match & mask_mul_add)
- + {
- + case MATCH_FMADD_D:
- + TRACE_INSN (cpu, "fmadd.d %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_64to (&sfc, cpu->fpregs[rs3].v[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_add (&sft, &sfc, &sft2);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FMSUB_D:
- + TRACE_INSN (cpu, "fmsub.d %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_64to (&sfc, cpu->fpregs[rs3].v[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_sub (&sft, &sft2, &sfc);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FNMADD_D:
- + TRACE_INSN (cpu, "fnmadd.d %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_64to (&sfc, cpu->fpregs[rs3].v[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_add (&sft, &sfc, &sft2);
- + sim_fpu_neg (&sft, &sft);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FNMSUB_D:
- + TRACE_INSN (cpu, "fnmsub.d %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_64to (&sfc, cpu->fpregs[rs3].v[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_sub (&sft, &sft2, &sfc);
- + sim_fpu_neg (&sft, &sft);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + }
- +
- + switch (op->match & mask_arithmetic)
- + {
- + case MATCH_FADD_D:
- + TRACE_INSN (cpu, "fadd.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_add (&sft, &sfa, &sfb);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FSUB_D:
- + TRACE_INSN (cpu, "fsub.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_sub (&sft, &sfa, &sfb);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FMUL_D:
- + TRACE_INSN (cpu, "fmul.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_mul (&sft, &sfa, &sfb);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FDIV_D:
- + TRACE_INSN (cpu, "fdiv.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_div (&sft, &sfa, &sfb);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FSQRT_D:
- + TRACE_INSN (cpu, "fsqrt.d %s, %s",
- + frd_name, frs1_name);
- + sim_fpu_sqrt (&sft, &sfa);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + }
- +
- + switch (op->match & mask_convert)
- + {
- + case MATCH_FCVT_W_D:
- + TRACE_INSN (cpu, "fcvt.w.d %s, %s",
- + rd_name, frs1_name);
- + sim_fpu_to32i (&i32, &sfa, rounding);
- + cpu->regs[rd] = i32;
- + goto done;
- + case MATCH_FCVT_WU_D:
- + TRACE_INSN (cpu, "fcvt.wu.d %s, %s",
- + rd_name, frs1_name);
- + sim_fpu_to32u (&u32, &sfa, rounding);
- + i32 = u32;
- + cpu->regs[rd] = i32;
- + goto done;
- + case MATCH_FCVT_D_W:
- + TRACE_INSN (cpu, "fcvt.d.w %s, %s",
- + frd_name, rs1_name);
- + sim_fpu_i32to (&sft, cpu->regs[rs1], rounding);
- + sim_fpu_to64 ((unsigned64 *) (cpu->fpregs + rd), &sft);
- + goto done;
- + case MATCH_FCVT_D_WU:
- + TRACE_INSN (cpu, "fcvt.d.wu %s, %s",
- + frd_name, rs1_name);
- + sim_fpu_u32to (&sft, cpu->regs[rs1], rounding);
- + sim_fpu_to64 ((unsigned64 *) (cpu->fpregs + rd), &sft);
- + goto done;
- + case MATCH_FCVT_S_D:
- + TRACE_INSN (cpu, "fcvt.s.d %s, %s",
- + frd_name, frs1_name);
- + sft = sfa;
- + sim_fpu_round_32 (&sft, sim_fpu_round_near, sim_fpu_denorm_default);
- + sim_fpu_to32 ((unsigned32 *) (cpu -> fpregs + rd), &sft);
- + goto done;
- + case MATCH_FCVT_D_S:
- + TRACE_INSN (cpu, "fcvt.d.s %s, %s",
- + frd_name, frs1_name);
- + sim_fpu_32to (&sft, cpu->fpregs[rs1].w[0]);
- + sim_fpu_to64 (&cpu->fpregs[rd].v[0], &sft);
- + goto done;
- + case MATCH_FCVT_L_D:
- + TRACE_INSN (cpu, "fcvt.l.d %s, %s",
- + rd_name, frs1_name);
- + cpu->regs[rd] = (int64_t) cpu->fpregs[rs1].D[0];
- + goto done;
- + case MATCH_FCVT_LU_D:
- + TRACE_INSN (cpu, "fcvt.lu.d %s, %s",
- + rd_name, frs1_name);
- + cpu->regs[rd] = (uint64_t) cpu->fpregs[rs1].D[0];
- + goto done;
- + case MATCH_FCVT_D_L:
- + TRACE_INSN (cpu, "fcvt.d.l %s, %s",
- + frd_name, rs1_name);
- + cpu->fpregs[rd].D[0] = (double) ((int64_t) cpu->regs[rs1]);
- + goto done;
- + case MATCH_FCVT_D_LU:
- + TRACE_INSN (cpu, "fcvt.d.lu %s, %s",
- + frd_name, rs1_name);
- + cpu->fpregs[rd].D[0] = (double) cpu->regs[rs1];
- + goto done;
- + }
- +
- + switch (op->match)
- + {
- + case MATCH_FLD:
- + TRACE_INSN (cpu, "fld %s, %" PRIiTW "(%s)",
- + frd_name, i_imm, rs1_name);
- + store_frd64 (cpu, rd,
- + sim_core_read_unaligned_8 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm));
- + break;
- + case MATCH_FSD:
- + TRACE_INSN (cpu, "fsd %s, %" PRIiTW "(%s)",
- + frs2_name, s_imm, rs1_name);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1] + s_imm,
- + cpu->fpregs[rs2].v[0]);
- + break;
- + case MATCH_FSGNJ_D:
- + TRACE_INSN (cpu, "fsgnj.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + u32 = cpu->fpregs[rs1].w[1] & 0x7fffffff;
- + u32 |= cpu->fpregs[rs2].w[1] & 0x80000000;
- + cpu->fpregs[rd].w[1] = u32;
- + cpu->fpregs[rd].w[0] = cpu->fpregs[rs1].w[0];
- + break;
- + case MATCH_FSGNJN_D:
- + TRACE_INSN (cpu, "fsgnjn.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + u32 = cpu->fpregs[rs1].w[1] & 0x7fffffff;
- + u32 |= (cpu->fpregs[rs2].w[1] & 0x80000000) ^ 0x80000000;
- + cpu->fpregs[rd].w[1] = u32;
- + cpu->fpregs[rd].w[0] = cpu->fpregs[rs1].w[0];
- + break;
- + case MATCH_FSGNJX_D:
- + TRACE_INSN (cpu, "fsgnjx.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + u32 = cpu->fpregs[rs1].w[1] & 0x7fffffff;
- + u32 |= (cpu->fpregs[rs1].w[1] & 0x80000000) ^ (cpu->fpregs[rs2].w[1] & 0x80000000);
- + cpu->fpregs[rd].w[1] = u32;
- + cpu->fpregs[rd].w[0] = cpu->fpregs[rs1].w[0];
- + break;
- + case MATCH_FMIN_D:
- + TRACE_INSN (cpu, "fmin.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + if (cpu->fpregs[rs1].D[0] < cpu->fpregs[rs2].D[0])
- + cpu->fpregs[rd].D[0] = cpu->fpregs[rs1].D[0];
- + else
- + cpu->fpregs[rd].D[0] = cpu->fpregs[rs2].D[0];
- + break;
- + case MATCH_FMAX_D:
- + TRACE_INSN (cpu, "fmax.d %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + if (cpu->fpregs[rs1].D[0] > cpu->fpregs[rs2].D[0])
- + cpu->fpregs[rd].D[0] = cpu->fpregs[rs1].D[0];
- + else
- + cpu->fpregs[rd].D[0] = cpu->fpregs[rs2].D[0];
- + break;
- + case MATCH_FMV_X_D:
- + TRACE_INSN (cpu, "fmv.x.d %s, %s",
- + rd_name, frs1_name);
- + cpu->regs[rd] = cpu->fpregs[rs1].v[0];
- + break;
- + case MATCH_FMV_D_X:
- + TRACE_INSN (cpu, "fmv.d.x %s, %s",
- + frd_name, frs1_name);
- + cpu->fpregs[rd].v[0] = cpu->regs[rs1];
- + break;
- + case MATCH_FEQ_D:
- + TRACE_INSN (cpu, "feq.d %s, %s, %s",
- + rd_name, frs1_name, frs2_name);
- + cpu->regs[rd] = sim_fpu_is_eq (&sfa, &sfb);
- + break;
- + case MATCH_FLE_D:
- + TRACE_INSN (cpu, "fle.d %s, %s, %s",
- + rd_name, frs1_name, frs2_name);
- + cpu->regs[rd] = sim_fpu_is_le (&sfa, &sfb);
- + break;
- + case MATCH_FLT_D:
- + TRACE_INSN (cpu, "flt.d %s, %s, %s",
- + rd_name, frs1_name, frs2_name);
- + cpu->regs[rd] = sim_fpu_is_lt (&sfa, &sfb);
- + break;
- + case MATCH_FCLASS_D:
- + TRACE_INSN (cpu, "fclass.d %s, %s",
- + rd_name, frs1_name);
- + switch (sim_fpu_is (&sfa))
- + {
- + case SIM_FPU_IS_NINF:
- + cpu->regs[rd] = 1;
- + break;
- + case SIM_FPU_IS_NNUMBER:
- + cpu->regs[rd] = 1 << 1;
- + break;
- + case SIM_FPU_IS_NDENORM:
- + cpu->regs[rd] = 1 << 2;
- + break;
- + case SIM_FPU_IS_NZERO:
- + cpu->regs[rd] = 1 << 3;
- + break;
- + case SIM_FPU_IS_PZERO:
- + cpu->regs[rd] = 1 << 4;
- + break;
- + case SIM_FPU_IS_PDENORM:
- + cpu->regs[rd] = 1 << 5;
- + break;
- + case SIM_FPU_IS_PNUMBER:
- + cpu->regs[rd] = 1 << 6;
- + break;
- + case SIM_FPU_IS_PINF:
- + cpu->regs[rd] = 1 << 7;
- + break;
- + case SIM_FPU_IS_SNAN:
- + cpu->regs[rd] = 1 << 8;
- + break;
- + case SIM_FPU_IS_QNAN:
- + cpu->regs[rd] = 1 << 9;
- + break;
- + }
- + break;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + done:
- + return pc;
- +
- +}
- +
- +static sim_cia
- +execute_f (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + unsigned int mask_arithmetic = MASK_FADD_S;
- + unsigned int mask_mul_add = MASK_FMADD_S;
- + unsigned int mask_convert = MASK_FCVT_S_W;
- +
- + static const int round_modes[] =
- + {
- + sim_fpu_round_near, sim_fpu_round_zero,
- + sim_fpu_round_down, sim_fpu_round_up,
- + sim_fpu_round_default, sim_fpu_round_default,
- + sim_fpu_round_default
- + };
- +
- + int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
- + int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
- + int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
- + int rs3 = (iw >> OP_SH_RS3) & OP_MASK_RS3;
- + const char *frd_name = riscv_fpr_names_abi[rd];
- + const char *frs1_name = riscv_fpr_names_abi[rs1];
- + const char *frs2_name = riscv_fpr_names_abi[rs2];
- + const char *frs3_name = riscv_fpr_names_abi[rs3];
- + const char *rd_name = riscv_gpr_names_abi[rd];
- + const char *rs1_name = riscv_gpr_names_abi[rs1];
- + unsigned_word i_imm = EXTRACT_ITYPE_IMM (iw);
- + unsigned_word s_imm = EXTRACT_STYPE_IMM (iw);
- + uint32_t u32;
- + int32_t i32;
- + int64_t i64;
- + uint64_t u64;
- + sim_cia pc = cpu->pc + 4;
- +
- + /* Rounding mode. */
- + int rm = (iw >> OP_SH_RM) & OP_MASK_RM;
- + int rounding = round_modes[rm];
- +
- + sim_fpu sft, sft2;
- + sim_fpu sfa, sfb, sfc;
- + sim_fpu_32to (&sfa, cpu->fpregs[rs1].w[0]);
- + sim_fpu_32to (&sfb, cpu->fpregs[rs2].w[0]);
- +
- + switch (op->match & mask_mul_add)
- + {
- + case MATCH_FMADD_S:
- + TRACE_INSN (cpu, "fmadd.s %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_32to (&sfc, cpu->fpregs[rs3].w[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_add (&sft, &sfc, &sft2);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FMSUB_S:
- + TRACE_INSN (cpu, "fmsub.s %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_32to (&sfc, cpu->fpregs[rs3].w[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_sub (&sft, &sft2, &sfc);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FNMADD_S:
- + TRACE_INSN (cpu, "fnmadd.s %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_32to (&sfc, cpu->fpregs[rs3].w[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_add (&sft, &sfc, &sft2);
- + sim_fpu_neg (&sft, &sft);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FNMSUB_S:
- + TRACE_INSN (cpu, "fnmsub.s %s, %s, %s, %s",
- + frd_name, frs1_name, frs2_name, frs3_name);
- + sim_fpu_32to (&sfc, cpu->fpregs[rs3].w[0]);
- + sim_fpu_mul (&sft2, &sfa, &sfb);
- + sim_fpu_sub (&sft, &sft2, &sfc);
- + sim_fpu_neg (&sft, &sft);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + }
- +
- + switch (op->match & mask_arithmetic)
- + {
- + case MATCH_FADD_S:
- + TRACE_INSN (cpu, "fadd.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_add (&sft, &sfa, &sfb);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FSUB_S:
- + TRACE_INSN (cpu, "fsub.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_sub (&sft, &sfa, &sfb);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FMUL_S:
- + TRACE_INSN (cpu, "fmul.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_mul (&sft, &sfa, &sfb);
- + sim_fpu_round_64 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FDIV_S:
- + TRACE_INSN (cpu, "fdiv.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_div (&sft, &sfa, &sfb);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + case MATCH_FSQRT_S:
- + TRACE_INSN (cpu, "fsqrt.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + sim_fpu_sqrt (&sft, &sfa);
- + sim_fpu_to32 (&cpu->fpregs[rd].w[0], &sft);
- + goto done;
- + }
- +
- + switch (op->match & mask_convert)
- + {
- + case MATCH_FCVT_W_S:
- + TRACE_INSN (cpu, "fcvt.w.s %s, %s",
- + rd_name, frs1_name);
- + sim_fpu_to32i (&i32, &sfa, rounding);
- + cpu->regs[rd] = i32;
- + goto done;
- + case MATCH_FCVT_WU_S:
- + TRACE_INSN (cpu, "fcvt.wu.s %s, %s",
- + rd_name, frs1_name);
- + sim_fpu_to32u (&u32, &sfa, rounding);
- + i32 = u32;
- + cpu->regs[rd] = i32;
- + goto done;
- + case MATCH_FCVT_S_W:
- + TRACE_INSN (cpu, "fcvt.s.w %s, %s",
- + frd_name, rs1_name);
- + sim_fpu_i32to (&sft, cpu->regs[rs1], rounding);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 ((unsigned32 *) (cpu->fpregs + rd), &sft);
- + goto done;
- + case MATCH_FCVT_S_WU:
- + TRACE_INSN (cpu, "fcvt.s.wu %s, %s",
- + frd_name, rs1_name);
- + sim_fpu_u32to (&sft, cpu->regs[rs1], rounding);
- + sim_fpu_round_32 (&sft, rounding, sim_fpu_denorm_default);
- + sim_fpu_to32 ((unsigned32 *) (cpu->fpregs + rd), &sft);
- + goto done;
- + case MATCH_FCVT_L_S:
- + TRACE_INSN (cpu, "fcvt.l.s %s, %s",
- + rd_name, frs1_name);
- + cpu->regs[rd] = (int64_t) cpu->fpregs[rs1].S[0];
- + goto done;
- + case MATCH_FCVT_LU_S:
- + TRACE_INSN (cpu, "fcvt.lu.s %s, %s",
- + rd_name, frs1_name);
- + cpu->regs[rd] = (uint64_t) cpu->fpregs[rs1].S[0];
- + goto done;
- + case MATCH_FCVT_S_L:
- + TRACE_INSN (cpu, "fcvt.s.l %s, %s",
- + frd_name, rs1_name);
- + cpu->fpregs[rd].S[0] = (float) ((int64_t) cpu->regs[rs1]);
- + goto done;
- + case MATCH_FCVT_S_LU:
- + TRACE_INSN (cpu, "fcvt.s.lu %s, %s",
- + frd_name, rs1_name);
- + cpu->fpregs[rd].S[0] = (float) cpu->regs[rs1];
- + goto done;
- + }
- +
- + switch (op->match)
- + {
- + case MATCH_FLW:
- + TRACE_INSN (cpu, "flw %s, %" PRIiTW "(%s)",
- + frd_name, i_imm, rs1_name);
- + store_frd (cpu, rd, EXTEND32 (
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm)));
- + break;
- + case MATCH_FSW:
- + TRACE_INSN (cpu, "fsw %s, %" PRIiTW "(%s)",
- + frs2_name, s_imm, rs1_name);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1] + s_imm, cpu->fpregs[rs2].w[0]);
- + break;
- + case MATCH_FSGNJ_S:
- + TRACE_INSN (cpu, "fsgnj.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + u32 = cpu->fpregs[rs1].w[0] & 0x7fffffff;
- + u32 |= cpu->fpregs[rs2].w[0] & 0x80000000;
- + cpu->fpregs[rd].w[0] = u32;
- + break;
- + case MATCH_FSGNJN_S:
- + TRACE_INSN (cpu, "fsgnjn.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + u32 = cpu->fpregs[rs1].w[0] & 0x7fffffff;
- + u32 |= (cpu->fpregs[rs2].w[0] & 0x80000000) ^ 0x80000000;
- + cpu->fpregs[rd].w[0] = u32;
- + break;
- + case MATCH_FSGNJX_S:
- + TRACE_INSN (cpu, "fsgnx.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + u32 = cpu->fpregs[rs1].w[0] & 0x7fffffff;
- + u32 |= (cpu->fpregs[rs1].w[0] & 0x80000000) ^ (cpu->fpregs[rs2].w[0] & 0x80000000);
- + cpu->fpregs[rd].w[0] = u32;
- + break;
- + case MATCH_FMIN_S:
- + TRACE_INSN (cpu, "fmin.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + if (cpu->fpregs[rs1].S[0] < cpu->fpregs[rs2].S[0])
- + cpu->fpregs[rd].S[0] = cpu->fpregs[rs1].S[0];
- + else
- + cpu->fpregs[rd].S[0] = cpu->fpregs[rs2].S[0];
- + break;
- + case MATCH_FMAX_S:
- + TRACE_INSN (cpu, "fmax.s %s, %s, %s",
- + frd_name, frs1_name, frs2_name);
- + if (cpu->fpregs[rs1].S[0] > cpu->fpregs[rs2].S[0])
- + cpu->fpregs[rd].S[0] = cpu->fpregs[rs1].S[0];
- + else
- + cpu->fpregs[rd].S[0] = cpu->fpregs[rs2].S[0];
- + break;
- + case MATCH_FMV_X_S:
- + TRACE_INSN (cpu, "fmv.x.s %s, %s",
- + rd_name, frs1_name);
- + cpu->regs[rd] = cpu->fpregs[rs1].W[0];
- + break;
- + case MATCH_FMV_S_X:
- + TRACE_INSN (cpu, "fmv.s.x %s, %s",
- + frd_name, rs1_name);
- + cpu->fpregs[rd].w[0] = cpu->regs[rs1];
- + break;
- + case MATCH_FEQ_S:
- + TRACE_INSN (cpu, "feq.s %s, %s, %s",
- + rd_name, frs1_name, frs2_name);
- + cpu->regs[rd] = sim_fpu_is_eq (&sfa, &sfb);
- + break;
- + case MATCH_FLE_S:
- + TRACE_INSN (cpu, "fle.s %s, %s, %s",
- + rd_name, frs1_name, frs2_name);
- + cpu->regs[rd] = sim_fpu_is_le (&sfa, &sfb);
- + break;
- + case MATCH_FLT_S:
- + TRACE_INSN (cpu, "flt.s %s, %s, %s",
- + rd_name, frs1_name, frs2_name);
- + cpu->regs[rd] = sim_fpu_is_lt (&sfa, &sfb);
- + break;
- + case MATCH_FCLASS_S:
- + TRACE_INSN (cpu, "fclass.s %s, %s",
- + rd_name, frs1_name);
- + switch (sim_fpu_is (&sfa))
- + {
- + case SIM_FPU_IS_NINF:
- + cpu->regs[rd] = 1;
- + break;
- + case SIM_FPU_IS_NNUMBER:
- + cpu->regs[rd] = 1 << 1;
- + break;
- + case SIM_FPU_IS_NDENORM:
- + cpu->regs[rd] = 1 << 2;
- + break;
- + case SIM_FPU_IS_NZERO:
- + cpu->regs[rd] = 1 << 3;
- + break;
- + case SIM_FPU_IS_PZERO:
- + cpu->regs[rd] = 1 << 4;
- + break;
- + case SIM_FPU_IS_PDENORM:
- + cpu->regs[rd] = 1 << 5;
- + break;
- + case SIM_FPU_IS_PNUMBER:
- + cpu->regs[rd] = 1 << 6;
- + break;
- + case SIM_FPU_IS_PINF:
- + cpu->regs[rd] = 1 << 7;
- + break;
- + case SIM_FPU_IS_SNAN:
- + cpu->regs[rd] = 1 << 8;
- + break;
- + case SIM_FPU_IS_QNAN:
- + cpu->regs[rd] = 1 << 9;
- + break;
- + }
- + break;
- + case MATCH_FRCSR:
- + TRACE_INSN (cpu, "frcsr %s",
- + rd_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "fcsr", CSR_FCSR, &cpu->csr.fcsr));
- + break;
- + case MATCH_FSCSR:
- + TRACE_INSN (cpu, "fscsr %s, %sf",
- + rd_name, rs1_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "fcsr", CSR_FCSR, &cpu->csr.fcsr));
- + store_csr (cpu, "fcsr", CSR_FCSR, &cpu->csr.fcsr, cpu->regs[rs1]);
- + break;
- + case MATCH_FRRM:
- + TRACE_INSN (cpu, "frrm %s",
- + rd_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "frm", CSR_FRM, &cpu->csr.frm));
- + break;
- + case MATCH_FSRM:
- + TRACE_INSN (cpu, "fsrm %s, %s",
- + rd_name, rs1_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "frm", CSR_FCSR, &cpu->csr.frm));
- + store_csr (cpu, "frm", CSR_FCSR, &cpu->csr.frm, cpu->regs[rs1]);
- + break;
- + case MATCH_FRFLAGS:
- + TRACE_INSN (cpu, "frflags %s",
- + rd_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "fflags", CSR_FFLAGS, &cpu->csr.fflags));
- + break;
- + case MATCH_FSFLAGS:
- + TRACE_INSN (cpu, "fsflags %s, %s",
- + rd_name, frs1_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "fflags", CSR_FFLAGS, &cpu->csr.fflags));
- + store_csr (cpu, "fflags", CSR_FFLAGS, &cpu->csr.fflags, cpu->regs[rs1]);
- + break;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + done:
- + return pc;
- +}
- +
- +static sim_cia
- +execute_c (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + const int mask_group_op = 0x3;
- + const int mask_mv_jr = 0xf003;
- + const int match_mv_jr = 0x8002;
- + const int mask_ebk_jalr_add = 0xf003;
- + const int match_ebk_jalr_add = 0x9002;
- +
- + int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
- + int crs2 = (iw >> OP_SH_CRS2) & OP_MASK_CRS2;
- + int crs1s = ((iw >> OP_SH_CRS1S) & OP_MASK_CRS1S) | 0x8;
- + int crs2s = ((iw >> OP_SH_CRS2S) & OP_MASK_CRS2S) | 0x8;
- + int ciw_rd = crs2s;
- + unsigned_word rvc_imm = EXTRACT_RVC_IMM (iw);
- + unsigned_word tmp;
- + sim_cia pc = cpu->pc + 2;
- +
- + const char *rd_name = riscv_gpr_names_abi[rd];
- + const char *crs2_name = riscv_gpr_names_abi[crs2];
- + const char *crs1s_name = riscv_gpr_names_abi[crs1s];
- + const char *crs2s_name = riscv_gpr_names_abi[crs2s];
- + const char *ciw_rd_name = crs2s_name;
- +
- + const char *frd_name = riscv_fpr_names_abi[rd];
- + const char *fcrs2_name = riscv_fpr_names_abi[crs2];
- + const char *fcrs1s_name = riscv_fpr_names_abi[crs1s];
- + const char *fcrs2s_name = riscv_fpr_names_abi[crs2s];
- + const char *fciw_rd_name = fcrs2s_name;
- +
- + /* Deal with c.mv, c.jr instructons. */
- + if ((op->match & mask_mv_jr) == match_mv_jr)
- + {
- + if (crs2 != 0)
- + {
- + /* c.mv */
- + TRACE_INSN (cpu, "c.mv %s, %s // %s = %s",
- + rd_name, crs2_name, rd_name, crs2_name);
- + cpu->regs[rd] = cpu->regs[crs2];
- + }
- + else
- + {
- + /* c.jr */
- + TRACE_INSN (cpu, "c.jr %s", rd_name);
- + pc = cpu->regs[rd];
- + }
- + return pc;
- + }
- +
- + /* Deal with c.ebreak, c.jalr, c.add instructions. */
- + if ((op->match & mask_ebk_jalr_add) == match_ebk_jalr_add)
- + {
- + if (iw == MATCH_C_EBREAK)
- + {
- + /* c.ebreak */
- + TRACE_INSN (cpu, "c.break");
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_stopped, SIM_SIGTRAP);
- + }
- + else if (crs2 == 0)
- + {
- + /* c.jalr */
- + TRACE_INSN (cpu, "c.jalr %s", rd_name);
- + pc = cpu->regs[rd];
- + store_rd (cpu, X_RA, cpu->pc + 2);
- + }
- + else
- + {
- + /* c.add */
- + TRACE_INSN (cpu, "c.add %s, %s // %s += %s",
- + rd_name, crs2_name, rd_name, crs2_name);
- + store_rd (cpu, rd, cpu->regs[rd] + cpu->regs[crs2]);
- + }
- + return pc;
- + }
- +
- + switch (op->match & mask_group_op)
- + {
- + case 0:
- + switch (op->match)
- + {
- + case MATCH_C_LW:
- + TRACE_INSN (cpu, "c.lw %s, %" PRIiTW "(%s);"
- + " // %s = *(%s + %" PRIiTW ")",
- + crs2s_name, EXTRACT_RVC_LW_IMM (iw), crs1s_name,
- + crs2s_name, crs1s_name, EXTRACT_RVC_LW_IMM (iw));
- + store_rd (cpu, crs2s, EXTEND32 (
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LW_IMM (iw))));
- + return pc;
- + case MATCH_C_SW:
- + TRACE_INSN (cpu, "c.sw %s, %" PRIiTW "(%s);"
- + " // *(%s + %" PRIiTW ") = %s",
- + crs2s_name, EXTRACT_RVC_LW_IMM (iw), crs1s_name,
- + crs1s_name, EXTRACT_RVC_LW_IMM (iw), crs2s_name);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + (cpu->regs[crs1s]
- + + EXTRACT_RVC_LW_IMM (iw)),
- + cpu->regs[crs2s]);
- + return pc;
- + case MATCH_C_ADDI4SPN:
- + TRACE_INSN (cpu, "c.addi4spn %s, %" PRIiTW
- + " // %s = sp + %" PRIiTW,
- + ciw_rd_name, EXTRACT_RVC_ADDI4SPN_IMM (iw),
- + ciw_rd_name, EXTRACT_RVC_ADDI4SPN_IMM (iw));
- + store_rd (cpu, ciw_rd, cpu->sp + EXTRACT_RVC_ADDI4SPN_IMM (iw));
- + return pc;
- + case MATCH_C_FLD:
- + if (RISCV_XLEN (cpu) <= 64)
- + {
- + TRACE_INSN (cpu, "c.fld %s, %" PRIiTW "(%s);"
- + " // %s = *(%s + %" PRIiTW ")",
- + fcrs2s_name, EXTRACT_RVC_LD_IMM (iw), fcrs1s_name,
- + fcrs2s_name, fcrs1s_name, EXTRACT_RVC_LD_IMM (iw));
- + /* rv32/64, c.fld instruction. */
- + store_frd64 (cpu, crs2s,
- + sim_core_read_unaligned_8 (cpu, cpu->pc, read_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LD_IMM (iw)));
- + return pc;
- + }
- + else
- + {
- + /* rv128, c.lq instruction. */
- + TRACE_INSN (cpu, "UNHANDLED RV128 INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc,
- + sim_signalled, SIM_SIGILL);
- + }
- + case MATCH_C_FLW:
- + /* rv32: c.flw, rv64: c.ld. */
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + TRACE_INSN (cpu, "c.flw %s, %" PRIiTW "(%s);"
- + " // *(%s + %" PRIiTW ") = %s",
- + fcrs2s_name, EXTRACT_RVC_LW_IMM (iw), crs1s_name,
- + crs1s_name, EXTRACT_RVC_LW_IMM (iw), fcrs2s_name);
- + store_frd (cpu, crs2s, EXTEND32 (
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LW_IMM (iw))));
- + }
- + else
- + {
- + TRACE_INSN (cpu, "c.ld %s, %" PRIiTW "(%s);"
- + " // *(%s + %" PRIiTW ") = %s",
- + crs2s_name, EXTRACT_RVC_LD_IMM (iw), crs1s_name,
- + crs1s_name, EXTRACT_RVC_LD_IMM (iw), crs2s_name);
- + store_rd (cpu, crs2s,
- + sim_core_read_unaligned_8 (cpu, cpu->pc, read_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LD_IMM (iw)));
- + }
- + return pc;
- + case MATCH_C_FSD:
- + if (RISCV_XLEN (cpu) <= 64)
- + {
- + /* rv32/64, c.fsd instruction. */
- + TRACE_INSN (cpu, "c.fsd %s, %" PRIiTW "(%s);"
- + " // *(%s + %" PRIiTW ") = %s",
- + fcrs2s_name, EXTRACT_RVC_LD_IMM (iw), crs1s_name,
- + crs1s_name, EXTRACT_RVC_LD_IMM (iw), fcrs2s_name);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LD_IMM (iw),
- + cpu->fpregs[crs2s].v[0]);
- + return pc;
- + }
- + else
- + {
- + /* rv128, c.sq instruction. */
- + TRACE_INSN (cpu, "UNHANDLED RV128 INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc,
- + sim_signalled, SIM_SIGILL);
- + }
- + case MATCH_C_FSW:
- + /* rv32: c.fsw, rv64: c.sd. */
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + TRACE_INSN (cpu, "c.fsw %s, %" PRIiTW "(%s);"
- + " // *(%s + %" PRIiTW ") = %s",
- + fcrs2s_name, EXTRACT_RVC_LW_IMM (iw), crs1s_name,
- + crs1s_name, EXTRACT_RVC_LW_IMM (iw), fcrs2s_name);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LW_IMM (iw),
- + cpu->fpregs[crs2s].w[0]);
- + }
- + else
- + {
- + TRACE_INSN (cpu, "c.sd %s, %" PRIiTW "(%s);"
- + " // *(%s + %" PRIiTW ") = %s",
- + crs2s_name, EXTRACT_RVC_LD_IMM (iw), crs1s_name,
- + crs1s_name, EXTRACT_RVC_LD_IMM (iw), crs2s_name);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->regs[crs1s]
- + + EXTRACT_RVC_LD_IMM (iw),
- + cpu->regs[crs2s]);
- + }
- + return pc;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- + case 1:
- + switch (op->match)
- + {
- + case MATCH_C_ADDI:
- + if (rd != 0)
- + {
- + /* c.addi */
- + TRACE_INSN (cpu, "c.addi %s, %" PRIiTW " // %s += %" PRIiTW,
- + rd_name, rvc_imm, rd_name, rvc_imm);
- + store_rd (cpu, rd, cpu->regs[rd] + rvc_imm);
- + return pc;
- + }
- + else
- + {
- + /* c.nop */
- + TRACE_INSN (cpu, "c.nop");
- + return pc;
- + }
- + case MATCH_C_JAL:
- + /* In rv32 is c.jal, rv64 c.addiw. */
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + TRACE_INSN (cpu, "c.jal %" PRIiTW, EXTRACT_RVC_J_IMM (iw));
- + store_rd (cpu, X_RA, cpu->pc + 2);
- + pc = cpu->pc + EXTRACT_RVC_J_IMM (iw);
- + }
- + else
- + {
- + TRACE_INSN (cpu, "c.addiw %s, %" PRIiTW " // %s += %" PRIiTW,
- + rd_name, rvc_imm, rd_name, rvc_imm);
- + store_rd (cpu, rd, EXTEND32 (cpu->regs[rd] + rvc_imm));
- + }
- + return pc;
- + case MATCH_C_LI:
- + TRACE_INSN (cpu, "c.li %s, %" PRIiTW " // %s = %" PRIiTW,
- + rd_name, rvc_imm, rd_name, rvc_imm);
- + store_rd (cpu, rd, rvc_imm);
- + return pc;
- + case MATCH_C_ADDI16SP:
- + TRACE_INSN (cpu, "c.addi16sp %s, %" PRIiTW,
- + rd_name, rvc_imm);
- + store_rd (cpu, rd, cpu->sp + EXTRACT_RVC_ADDI16SP_IMM (iw));
- + return pc;
- + case MATCH_C_SRLI:
- + /* rv32: c.srli, rv128: c.srli64. */
- + TRACE_INSN (cpu, "c.srli %s, %" PRIiTW,
- + crs1s_name, EXTRACT_RVC_IMM (iw));
- + if (RISCV_XLEN (cpu) == 32 && EXTRACT_RVC_IMM (iw) > 0x1f)
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + store_rd (cpu, crs1s, cpu->regs[crs1s] >> EXTRACT_RVC_IMM (iw));
- + return pc;
- + case MATCH_C_SRAI:
- + /* rv32: c.srli, rv128: c.srli64. */
- + TRACE_INSN (cpu, "c.srai %s, %" PRIiTW,
- + crs1s_name, EXTRACT_RVC_IMM (iw));
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + if (EXTRACT_RVC_IMM (iw) > 0x1f)
- + sim_engine_halt (sd, cpu, NULL, cpu->pc,
- + sim_signalled, SIM_SIGILL);
- + tmp = ashiftrt (cpu->regs[crs1s], EXTRACT_RVC_IMM (iw));
- + }
- + else
- + tmp = ashiftrt64 (cpu->regs[crs1s], EXTRACT_RVC_IMM (iw));
- + store_rd (cpu, crs1s, tmp);
- + return pc;
- + case MATCH_C_ANDI:
- + TRACE_INSN (cpu, "c.andi %s, %" PRIiTW,
- + crs1s_name, EXTRACT_RVC_IMM (iw));
- + store_rd (cpu, crs1s, cpu->regs[crs1s] & EXTRACT_RVC_IMM (iw));
- + return pc;
- + case MATCH_C_SUB:
- + TRACE_INSN (cpu, "c.sub %s, %s",
- + crs1s_name, crs2s_name);
- + store_rd (cpu, crs1s, cpu->regs[crs1s] - cpu->regs[crs2s]);
- + return pc;
- + case MATCH_C_XOR:
- + TRACE_INSN (cpu, "c.xor %s, %s",
- + crs1s_name, crs2s_name);
- + store_rd (cpu, crs1s, cpu->regs[crs1s] ^ cpu->regs[crs2s]);
- + return pc;
- + case MATCH_C_OR:
- + TRACE_INSN (cpu, "c.or %s, %s",
- + crs1s_name, crs2s_name);
- + store_rd (cpu, crs1s, cpu->regs[crs1s] | cpu->regs[crs2s]);
- + return pc;
- + case MATCH_C_AND:
- + TRACE_INSN (cpu, "c.and %s, %s",
- + crs1s_name, crs2s_name);
- + store_rd (cpu, crs1s, cpu->regs[crs1s] & cpu->regs[crs2s]);
- + return pc;
- + case MATCH_C_SUBW:
- + TRACE_INSN (cpu, "c.subw %s, %s",
- + crs1s_name, crs2s_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, crs1s, EXTEND32 (cpu->regs[crs1s] - cpu->regs[crs2s]));
- + return pc;
- + case MATCH_C_ADDW:
- + TRACE_INSN (cpu, "c.addw %s, %s",
- + crs1s_name, crs2s_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, crs1s, EXTEND32 (cpu->regs[crs1s] + cpu->regs[crs2s]));
- + return pc;
- + case MATCH_C_BEQZ:
- + TRACE_INSN (cpu, "c.beqz %s, %" PRIiTW,
- + crs1s_name, cpu->pc + EXTRACT_RVC_B_IMM (iw));
- + if (cpu->regs[crs1s] == 0)
- + pc = cpu->pc + EXTRACT_RVC_B_IMM (iw);
- + return pc;
- + case MATCH_C_BNEZ:
- + TRACE_INSN (cpu, "c.bnez %s, %" PRIiTW,
- + crs1s_name, cpu->pc + EXTRACT_RVC_B_IMM (iw));
- + if (cpu->regs[crs1s] != 0)
- + pc = cpu->pc + EXTRACT_RVC_B_IMM (iw);
- + return pc;
- + case MATCH_C_LUI:
- + TRACE_INSN (cpu, "c.lui %s, %" PRIiTW,
- + rd_name, EXTRACT_RVC_LUI_IMM (iw));
- + store_rd (cpu, rd, EXTRACT_RVC_LUI_IMM (iw));
- + return pc;
- + case MATCH_C_J:
- + TRACE_INSN (cpu, "c.j %" PRIiTW,
- + cpu->pc + EXTRACT_RVC_B_IMM (iw));
- + pc = cpu->pc + EXTRACT_RVC_J_IMM (iw);
- + return pc;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- + case 2:
- + switch (op->match)
- + {
- + case MATCH_C_SLLI:
- + TRACE_INSN (cpu, "c.slli %s, %" PRIiTW,
- + rd_name, rvc_imm);
- + /* rv32: c.slli, rv128: c.slli64. */
- + if (RISCV_XLEN (cpu) == 32 && rvc_imm > 0x1f)
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + store_rd (cpu, rd, cpu->regs[rd] << rvc_imm);
- + return pc;
- + case MATCH_C_LWSP:
- + TRACE_INSN (cpu, "c.lwsp %s, %" PRIiTW "(sp);"
- + " // %s = *(sp + %" PRIiTW ")",
- + rd_name, EXTRACT_RVC_LWSP_IMM (iw),
- + rd_name, EXTRACT_RVC_LWSP_IMM (iw));
- + store_rd (cpu, rd, EXTEND32 (
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->sp
- + + EXTRACT_RVC_LWSP_IMM (iw))));
- + return pc;
- + case MATCH_C_SWSP:
- + TRACE_INSN (cpu, "c.swsp %s, %" PRIiTW "(sp);"
- + " // *(sp + %" PRIiTW ") = %s",
- + rd_name, EXTRACT_RVC_SWSP_IMM (iw),
- + EXTRACT_RVC_SWSP_IMM (iw), rd_name);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + (cpu->sp + EXTRACT_RVC_SWSP_IMM (iw)),
- + cpu->regs[crs2]);
- + return pc;
- + case MATCH_C_ADD:
- + TRACE_INSN (cpu, "c.add %s, %s // %s += %s",
- + rd_name, crs2_name,
- + rd_name, crs2_name);
- + store_rd (cpu, rd, cpu->regs[rd] + cpu->regs[crs2]);
- + return pc;
- + case MATCH_C_FLDSP:
- + /* rv32/64: c.fldsp, rv128: c.flqsp. */
- + if (RISCV_XLEN (cpu) <= 64)
- + {
- + TRACE_INSN (cpu, "c.fldsp %s, %" PRIiTW "(sp);"
- + " // %s = *(sp + %" PRIiTW ")",
- + frd_name, EXTRACT_RVC_LDSP_IMM (iw),
- + frd_name, EXTRACT_RVC_LDSP_IMM (iw));
- + store_frd64 (cpu, rd,
- + sim_core_read_unaligned_8 (cpu, cpu->pc, read_map,
- + cpu->sp
- + + EXTRACT_RVC_LDSP_IMM (iw)));
- + return pc;
- + }
- + else
- + {
- + TRACE_INSN (cpu, "UNHANDLED RV128 INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc,
- + sim_signalled, SIM_SIGILL);
- + }
- + case MATCH_C_FLWSP:
- + /* rv32: c.flwsp, rv64: c.ldsp. */
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + TRACE_INSN (cpu, "c.flwsp %s, %" PRIiTW "(sp);"
- + " // %s = *(sp + %" PRIiTW ")",
- + frd_name, EXTRACT_RVC_LWSP_IMM (iw),
- + frd_name, EXTRACT_RVC_LWSP_IMM (iw));
- + store_frd (cpu, rd, EXTEND32 (
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->sp
- + + EXTRACT_RVC_LWSP_IMM (iw))));
- + }
- + else
- + {
- + TRACE_INSN (cpu, "c.ldsp %s, %" PRIiTW "(sp);"
- + " // %s = *(sp + %" PRIiTW ")",
- + rd_name, EXTRACT_RVC_LDSP_IMM (iw),
- + rd_name, EXTRACT_RVC_LDSP_IMM (iw));
- + store_rd (cpu, rd,
- + sim_core_read_unaligned_8 (cpu, cpu->pc, read_map,
- + cpu->sp
- + + EXTRACT_RVC_LDSP_IMM (iw)));
- + }
- + return pc;
- + case MATCH_C_FSDSP:
- + /* rv32/64: c.fsdsp, rv128: c.fsqsp. */
- + if (RISCV_XLEN (cpu) <= 64)
- + {
- + TRACE_INSN (cpu, "c.fsdsp %s, %" PRIiTW "(sp);"
- + " // *(sp + %" PRIiTW ") = %s",
- + fcrs2_name, EXTRACT_RVC_LDSP_IMM (iw),
- + EXTRACT_RVC_LDSP_IMM (iw), fcrs2_name);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->sp + EXTRACT_RVC_SDSP_IMM (iw),
- + cpu->fpregs[crs2].v[0]);
- + return pc;
- + }
- + else
- + {
- + TRACE_INSN (cpu, "UNHANDLED RV128 INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc,
- + sim_signalled, SIM_SIGILL);
- + }
- + case MATCH_C_FSWSP:
- + /* rv32: c.fswsp, rv64: c.sdsp. */
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + TRACE_INSN (cpu, "c.fswsp %s, %" PRIiTW "(sp);"
- + " // *(sp + %" PRIiTW ") = %s",
- + fcrs2_name, EXTRACT_RVC_SWSP_IMM (iw),
- + EXTRACT_RVC_SWSP_IMM (iw), fcrs2_name);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->sp
- + + EXTRACT_RVC_SWSP_IMM (iw),
- + cpu->fpregs[crs2].w[0]);
- + }
- + else
- + {
- + TRACE_INSN (cpu, "c.sdsp %s, %" PRIiTW "(sp);"
- + " // *(sp + %" PRIiTW ") = %s",
- + crs2_name, EXTRACT_RVC_SDSP_IMM (iw),
- + EXTRACT_RVC_SDSP_IMM (iw), crs2_name);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->sp + EXTRACT_RVC_SDSP_IMM (iw),
- + cpu->regs[crs2]);
- + }
- + return pc;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + return pc;
- +}
- +
- +static sim_cia
- +execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
- + int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
- + int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
- + const char *rd_name = riscv_gpr_names_abi[rd];
- + const char *rs1_name = riscv_gpr_names_abi[rs1];
- + const char *rs2_name = riscv_gpr_names_abi[rs2];
- + unsigned int csr = (iw >> OP_SH_CSR) & OP_MASK_CSR;
- + unsigned_word i_imm = EXTRACT_ITYPE_IMM (iw);
- + unsigned_word u_imm = EXTRACT_UTYPE_IMM ((unsigned64) iw);
- + unsigned_word s_imm = EXTRACT_STYPE_IMM (iw);
- + unsigned_word sb_imm = EXTRACT_SBTYPE_IMM (iw);
- + unsigned_word shamt_imm = ((iw >> OP_SH_SHAMT) & OP_MASK_SHAMT);
- + unsigned_word tmp;
- + sim_cia pc = cpu->pc + 4;
- +
- + TRACE_EXTRACT (cpu, "rd:%-2i:%-4s rs1:%-2i:%-4s %0*"PRIxTW" rs2:%-2i:%-4s %0*"PRIxTW" match:%#x mask:%#x",
- + rd, rd_name,
- + rs1, rs1_name, (int)sizeof (unsigned_word) * 2, cpu->regs[rs1],
- + rs2, rs2_name, (int)sizeof (unsigned_word) * 2, cpu->regs[rs2],
- + (unsigned) op->match, (unsigned) op->mask);
- +
- + switch (op->match)
- + {
- + case MATCH_ADD:
- + TRACE_INSN (cpu, "add %s, %s, %s; // %s = %s + %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd, cpu->regs[rs1] + cpu->regs[rs2]);
- + break;
- + case MATCH_ADDW:
- + TRACE_INSN (cpu, "addw %s, %s, %s; // %s = %s + %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 (cpu->regs[rs1] + cpu->regs[rs2]));
- + break;
- + case MATCH_ADDI:
- + TRACE_INSN (cpu, "addi %s, %s, %#"PRIxTW"; // %s = %s + %#" PRIxTW,
- + rd_name, rs1_name, i_imm, rd_name, rs1_name, i_imm);
- + store_rd (cpu, rd, cpu->regs[rs1] + i_imm);
- + break;
- + case MATCH_ADDIW:
- + TRACE_INSN (cpu, "addiw %s, %s, %#" PRIxTW "; // %s = %s + %#" PRIxTW,
- + rd_name, rs1_name, i_imm, rd_name, rs1_name, i_imm);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 (cpu->regs[rs1] + i_imm));
- + break;
- + case MATCH_AND:
- + TRACE_INSN (cpu, "and %s, %s, %s; // %s = %s & %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd, cpu->regs[rs1] & cpu->regs[rs2]);
- + break;
- + case MATCH_ANDI:
- + TRACE_INSN (cpu, "andi %s, %s, %" PRIiTW "; // %s = %s & %#" PRIxTW,
- + rd_name, rs1_name, i_imm, rd_name, rs1_name, i_imm);
- + store_rd (cpu, rd, cpu->regs[rs1] & i_imm);
- + break;
- + case MATCH_OR:
- + TRACE_INSN (cpu, "or %s, %s, %s; // %s = %s | %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd, cpu->regs[rs1] | cpu->regs[rs2]);
- + break;
- + case MATCH_ORI:
- + TRACE_INSN (cpu, "ori %s, %s, %" PRIiTW "; // %s = %s | %#" PRIxTW,
- + rd_name, rs1_name, i_imm, rd_name, rs1_name, i_imm);
- + store_rd (cpu, rd, cpu->regs[rs1] | i_imm);
- + break;
- + case MATCH_XOR:
- + TRACE_INSN (cpu, "xor %s, %s, %s; // %s = %s ^ %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd, cpu->regs[rs1] ^ cpu->regs[rs2]);
- + break;
- + case MATCH_XORI:
- + TRACE_INSN (cpu, "xori %s, %s, %" PRIiTW "; // %s = %s ^ %#" PRIxTW,
- + rd_name, rs1_name, i_imm, rd_name, rs1_name, i_imm);
- + store_rd (cpu, rd, cpu->regs[rs1] ^ i_imm);
- + break;
- + case MATCH_SUB:
- + TRACE_INSN (cpu, "sub %s, %s, %s; // %s = %s - %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd, cpu->regs[rs1] - cpu->regs[rs2]);
- + break;
- + case MATCH_SUBW:
- + TRACE_INSN (cpu, "subw %s, %s, %s; // %s = %s - %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 (cpu->regs[rs1] - cpu->regs[rs2]));
- + break;
- + case MATCH_LUI:
- + TRACE_INSN (cpu, "lui %s, %#"PRIxTW";", rd_name, u_imm);
- + store_rd (cpu, rd, u_imm);
- + break;
- + case MATCH_SLL:
- + TRACE_INSN (cpu, "sll %s, %s, %s; // %s = %s << %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + u_imm = RISCV_XLEN (cpu) == 32 ? 0x1f : 0x3f;
- + store_rd (cpu, rd, cpu->regs[rs1] << (cpu->regs[rs2] & u_imm));
- + break;
- + case MATCH_SLLW:
- + TRACE_INSN (cpu, "sllw %s, %s, %s; // %s = %s << %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 ((unsigned32)cpu->regs[rs1] << (cpu->regs[rs2] & 0x1f)));
- + break;
- + case MATCH_SLLI:
- + TRACE_INSN (cpu, "slli %s, %s, %" PRIiTW "; // %s = %s << %#" PRIxTW,
- + rd_name, rs1_name, shamt_imm, rd_name, rs1_name, shamt_imm);
- + if (RISCV_XLEN (cpu) == 32 && shamt_imm > 0x1f)
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + store_rd (cpu, rd, cpu->regs[rs1] << shamt_imm);
- + break;
- + case MATCH_SLLIW:
- + TRACE_INSN (cpu, "slliw %s, %s, %" PRIiTW "; // %s = %s << %#" PRIxTW,
- + rd_name, rs1_name, shamt_imm, rd_name, rs1_name, shamt_imm);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 ((unsigned32)cpu->regs[rs1] << shamt_imm));
- + break;
- + case MATCH_SRL:
- + TRACE_INSN (cpu, "srl %s, %s, %s; // %s = %s >> %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + u_imm = RISCV_XLEN (cpu) == 32 ? 0x1f : 0x3f;
- + store_rd (cpu, rd, cpu->regs[rs1] >> (cpu->regs[rs2] & u_imm));
- + break;
- + case MATCH_SRLW:
- + TRACE_INSN (cpu, "srlw %s, %s, %s; // %s = %s >> %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 ((unsigned32)cpu->regs[rs1] >> (cpu->regs[rs2] & 0x1f)));
- + break;
- + case MATCH_SRLI:
- + TRACE_INSN (cpu, "srli %s, %s, %" PRIiTW "; // %s = %s >> %#" PRIxTW,
- + rd_name, rs1_name, shamt_imm, rd_name, rs1_name, shamt_imm);
- + if (RISCV_XLEN (cpu) == 32 && shamt_imm > 0x1f)
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + store_rd (cpu, rd, cpu->regs[rs1] >> shamt_imm);
- + break;
- + case MATCH_SRLIW:
- + TRACE_INSN (cpu, "srliw %s, %s, %" PRIiTW "; // %s = %s >> %#" PRIxTW,
- + rd_name, rs1_name, shamt_imm, rd_name, rs1_name, shamt_imm);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 ((unsigned32)cpu->regs[rs1] >> shamt_imm));
- + break;
- + case MATCH_SRA:
- + TRACE_INSN (cpu, "sra %s, %s, %s; // %s = %s >>> %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (RISCV_XLEN (cpu) == 32)
- + tmp = ashiftrt (cpu->regs[rs1], cpu->regs[rs2] & 0x1f);
- + else
- + tmp = ashiftrt64 (cpu->regs[rs1], cpu->regs[rs2] & 0x3f);
- + store_rd (cpu, rd, tmp);
- + break;
- + case MATCH_SRAW:
- + TRACE_INSN (cpu, "sraw %s, %s, %s; // %s = %s >>> %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 (ashiftrt ((signed32)cpu->regs[rs1], cpu->regs[rs2] & 0x1f)));
- + break;
- + case MATCH_SRAI:
- + TRACE_INSN (cpu, "srai %s, %s, %" PRIiTW "; // %s = %s >>> %#" PRIxTW,
- + rd_name, rs1_name, shamt_imm, rd_name, rs1_name, shamt_imm);
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + if (shamt_imm > 0x1f)
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + tmp = ashiftrt (cpu->regs[rs1], shamt_imm);
- + }
- + else
- + tmp = ashiftrt64 (cpu->regs[rs1], shamt_imm);
- + store_rd (cpu, rd, tmp);
- + break;
- + case MATCH_SRAIW:
- + TRACE_INSN (cpu, "sraiw %s, %s, %" PRIiTW "; // %s = %s >>> %#" PRIxTW,
- + rd_name, rs1_name, shamt_imm, rd_name, rs1_name, shamt_imm);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd,
- + EXTEND32 (ashiftrt ((signed32)cpu->regs[rs1], shamt_imm)));
- + break;
- + case MATCH_SLT:
- + TRACE_INSN (cpu, "slt %s, %s, %s", rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd,
- + !!((signed_word)cpu->regs[rs1] < (signed_word)cpu->regs[rs2]));
- + break;
- + case MATCH_SLTU:
- + TRACE_INSN (cpu, "sltu %s, %s, %s", rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd,
- + !!((unsigned_word)cpu->regs[rs1]
- + < (unsigned_word)cpu->regs[rs2]));
- + break;
- + case MATCH_SLTI:
- + TRACE_INSN (cpu, "slti %s, %s, %" PRIiTW,
- + rd_name, rs1_name, i_imm);
- + store_rd (cpu, rd, !!((signed_word)cpu->regs[rs1] < (signed_word)i_imm));
- + break;
- + case MATCH_SLTIU:
- + TRACE_INSN (cpu, "sltiu %s, %s, %" PRIiTW,
- + rd_name, rs1_name, i_imm);
- + store_rd (cpu, rd,
- + !!((unsigned_word)cpu->regs[rs1] < (unsigned_word)i_imm));
- + break;
- + case MATCH_AUIPC:
- + TRACE_INSN (cpu, "auipc %s, %" PRIiTW "; // %s = pc + %" PRIiTW,
- + rd_name, u_imm, rd_name, u_imm);
- + store_rd (cpu, rd, cpu->pc + u_imm);
- + break;
- + case MATCH_BEQ:
- + TRACE_INSN (cpu, "beq %s, %s, %#" PRIxTW "; // if (%s == %s) goto %#" PRIxTW,
- + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, cpu->pc + sb_imm);
- + if (cpu->regs[rs1] == cpu->regs[rs2])
- + {
- + pc = cpu->pc + sb_imm;
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + }
- + break;
- + case MATCH_BLT:
- + TRACE_INSN (cpu, "blt %s, %s, %#" PRIxTW "; // if (%s < %s) goto %#" PRIxTW,
- + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, cpu->pc + sb_imm);
- + if ((signed_word)cpu->regs[rs1] < (signed_word)cpu->regs[rs2])
- + {
- + pc = cpu->pc + sb_imm;
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + }
- + break;
- + case MATCH_BLTU:
- + TRACE_INSN (cpu, "bltu %s, %s, %#" PRIxTW "; // if (%s < %s) goto %#" PRIxTW,
- + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, cpu->pc + sb_imm);
- + if ((unsigned_word)cpu->regs[rs1] < (unsigned_word)cpu->regs[rs2])
- + {
- + pc = cpu->pc + sb_imm;
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + }
- + break;
- + case MATCH_BGE:
- + TRACE_INSN (cpu, "bge %s, %s, %#" PRIxTW "; // if (%s >= %s) goto %#" PRIxTW,
- + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, cpu->pc + sb_imm);
- + if ((signed_word)cpu->regs[rs1] >= (signed_word)cpu->regs[rs2])
- + {
- + pc = cpu->pc + sb_imm;
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + }
- + break;
- + case MATCH_BGEU:
- + TRACE_INSN (cpu, "bgeu %s, %s, %#" PRIxTW "; // if (%s >= %s) goto %#" PRIxTW,
- + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, cpu->pc + sb_imm);
- + if ((unsigned_word)cpu->regs[rs1] >= (unsigned_word)cpu->regs[rs2])
- + {
- + pc = cpu->pc + sb_imm;
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + }
- + break;
- + case MATCH_BNE:
- + TRACE_INSN (cpu, "bne %s, %s, %#" PRIxTW "; // if (%s != %s) goto %#" PRIxTW,
- + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, cpu->pc + sb_imm);
- + if (cpu->regs[rs1] != cpu->regs[rs2])
- + {
- + pc = cpu->pc + sb_imm;
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + }
- + break;
- + case MATCH_JAL:
- + TRACE_INSN (cpu, "jal %s, %" PRIiTW ";", rd_name, EXTRACT_UJTYPE_IMM (iw));
- + pc = cpu->pc + EXTRACT_UJTYPE_IMM (iw);
- + store_rd (cpu, rd, cpu->pc + 4);
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + break;
- + case MATCH_JALR:
- + TRACE_INSN (cpu, "jalr %s, %s, %" PRIiTW ";", rd_name, rs1_name, i_imm);
- + pc = cpu->regs[rs1] + i_imm;
- + store_rd (cpu, rd, cpu->pc + 4);
- + TRACE_BRANCH (cpu, "to %#" PRIxTW, pc);
- + break;
- +
- + case MATCH_LD:
- + TRACE_INSN (cpu, "ld %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd,
- + sim_core_read_unaligned_8 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm));
- + break;
- + case MATCH_LW:
- + TRACE_INSN (cpu, "lw %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + store_rd (cpu, rd, EXTEND32 (
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm)));
- + break;
- + case MATCH_LWU:
- + TRACE_INSN (cpu, "lwu %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + store_rd (cpu, rd,
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm));
- + break;
- + case MATCH_LH:
- + TRACE_INSN (cpu, "lh %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + store_rd (cpu, rd, EXTEND16 (
- + sim_core_read_unaligned_2 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm)));
- + break;
- + case MATCH_LHU:
- + TRACE_INSN (cpu, "lhu %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + store_rd (cpu, rd,
- + sim_core_read_unaligned_2 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm));
- + break;
- + case MATCH_LB:
- + TRACE_INSN (cpu, "lb %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + store_rd (cpu, rd, EXTEND8 (
- + sim_core_read_unaligned_1 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm)));
- + break;
- + case MATCH_LBU:
- + TRACE_INSN (cpu, "lbu %s, %" PRIiTW "(%s); // ",
- + rd_name, i_imm, rs1_name);
- + store_rd (cpu, rd,
- + sim_core_read_unaligned_1 (cpu, cpu->pc, read_map,
- + cpu->regs[rs1] + i_imm));
- + break;
- + case MATCH_SD:
- + TRACE_INSN (cpu, "sd %s, %" PRIiTW "(%s); // ",
- + rs2_name, s_imm, rs1_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1] + s_imm, cpu->regs[rs2]);
- + break;
- + case MATCH_SW:
- + TRACE_INSN (cpu, "sw %s, %" PRIiTW "(%s); // ",
- + rs2_name, s_imm, rs1_name);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1] + s_imm, cpu->regs[rs2]);
- + break;
- + case MATCH_SH:
- + TRACE_INSN (cpu, "sh %s, %" PRIiTW "(%s); // ",
- + rs2_name, s_imm, rs1_name);
- + sim_core_write_unaligned_2 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1] + s_imm, cpu->regs[rs2]);
- + break;
- + case MATCH_SB:
- + TRACE_INSN (cpu, "sb %s, %" PRIiTW "(%s); // ",
- + rs2_name, s_imm, rs1_name);
- + sim_core_write_unaligned_1 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1] + s_imm, cpu->regs[rs2]);
- + break;
- +
- + case MATCH_CSRRC:
- + TRACE_INSN (cpu, "csrrc");
- + switch (csr)
- + {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case num: \
- + store_rd (cpu, rd, fetch_csr (cpu, #name, num, &cpu->csr.name)); \
- + store_csr (cpu, #name, num, &cpu->csr.name, \
- + cpu->csr.name & !cpu->regs[rs1]); \
- + break;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + }
- + break;
- + case MATCH_CSRRCI:
- + TRACE_INSN (cpu, "csrrci");
- + switch (csr)
- + {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case num: \
- + store_rd (cpu, rd, fetch_csr (cpu, #name, num, &cpu->csr.name)); \
- + store_csr (cpu, #name, num, &cpu->csr.name, \
- + cpu->csr.name & !rs1); \
- + break;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + }
- + break;
- + case MATCH_CSRRS:
- + TRACE_INSN (cpu, "csrrs");
- + switch (csr)
- + {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case num: \
- + store_rd (cpu, rd, fetch_csr (cpu, #name, num, &cpu->csr.name)); \
- + store_csr (cpu, #name, num, &cpu->csr.name, \
- + cpu->csr.name | cpu->regs[rs1]); \
- + break;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + }
- + break;
- + case MATCH_CSRRSI:
- + TRACE_INSN (cpu, "csrrsi");
- + switch (csr)
- + {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case num: \
- + store_rd (cpu, rd, fetch_csr (cpu, #name, num, &cpu->csr.name)); \
- + store_csr (cpu, #name, num, &cpu->csr.name, \
- + cpu->csr.name | rs1); \
- + break;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + }
- + break;
- + case MATCH_CSRRW:
- + TRACE_INSN (cpu, "csrrw");
- + switch (csr)
- + {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case num: \
- + store_rd (cpu, rd, fetch_csr (cpu, #name, num, &cpu->csr.name)); \
- + store_csr (cpu, #name, num, &cpu->csr.name, cpu->regs[rs1]); \
- + break;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + }
- + break;
- + case MATCH_CSRRWI:
- + TRACE_INSN (cpu, "csrrwi");
- + switch (csr)
- + {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case num: \
- + store_rd (cpu, rd, fetch_csr (cpu, #name, num, &cpu->csr.name)); \
- + store_csr (cpu, #name, num, &cpu->csr.name, rs1); \
- + break;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + }
- + break;
- +
- + case MATCH_RDCYCLE:
- + TRACE_INSN (cpu, "rdcycle %s;", rd_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "cycle", CSR_CYCLE, &cpu->csr.cycle));
- + break;
- + case MATCH_RDCYCLEH:
- + TRACE_INSN (cpu, "rdcycleh %s;", rd_name);
- + RISCV_ASSERT_RV32 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, fetch_csr (cpu, "cycleh", CSR_CYCLEH, &cpu->csr.cycleh));
- + break;
- + case MATCH_RDINSTRET:
- + TRACE_INSN (cpu, "rdinstret %s;", rd_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "instret", CSR_INSTRET, &cpu->csr.instret));
- + break;
- + case MATCH_RDINSTRETH:
- + TRACE_INSN (cpu, "rdinstreth %s;", rd_name);
- + RISCV_ASSERT_RV32 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, fetch_csr (cpu, "instreth", CSR_INSTRETH, &cpu->csr.instreth));
- + break;
- + case MATCH_RDTIME:
- + TRACE_INSN (cpu, "rdtime %s;", rd_name);
- + store_rd (cpu, rd, fetch_csr (cpu, "time", CSR_TIME, &cpu->csr.cycle));
- + break;
- + case MATCH_RDTIMEH:
- + TRACE_INSN (cpu, "rdtimeh %s;", rd_name);
- + RISCV_ASSERT_RV32 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, fetch_csr (cpu, "timeh", CSR_TIMEH, &cpu->csr.cycleh));
- + break;
- +
- + case MATCH_FENCE:
- + TRACE_INSN (cpu, "fence;");
- + break;
- + case MATCH_FENCE_I:
- + TRACE_INSN (cpu, "fence.i;");
- + break;
- + case MATCH_SBREAK:
- + TRACE_INSN (cpu, "sbreak;");
- + /* GDB expects us to step over SBREAK. */
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_stopped, SIM_SIGTRAP);
- + break;
- + case MATCH_ECALL:
- + TRACE_INSN (cpu, "ecall;");
- + if (cb_target_to_host_syscall (STATE_CALLBACK (sd), cpu->a7) == -1)
- + {
- + host_callback *cb = STATE_CALLBACK (sd);
- + CB_SYSCALL sc;
- +
- + CB_SYSCALL_INIT (&sc);
- +
- + sc.arg1 = cpu->a0;
- + sc.arg2 = cpu->a1;
- + sc.arg3 = cpu->a2;
- + sc.arg4 = cpu->a3;
- + sc.func = cpu->a7;
- +
- + sc.p1 = (PTR) sd;
- + sc.p2 = (PTR) cpu;
- + sc.read_mem = sim_syscall_read_mem;
- + sc.write_mem = sim_syscall_write_mem;
- +
- + switch (cpu->a7)
- + {
- +#ifndef __MINGW32__
- + case TARGET_SYS_link:
- + {
- + char oldpath[1024], newpath[1024];
- + cb_get_string (cb, &sc, oldpath, sizeof (oldpath), sc.arg1);
- + cb_get_string (cb, &sc, newpath, sizeof (newpath), sc.arg2);
- + cpu->a0 = link (oldpath, newpath);
- + break;
- + }
- +#endif
- + case TARGET_SYS_brk:
- + {
- + /* FIXME: Check the invalid access. */
- + if (cpu->a0 == 0)
- + cpu->a0 = cpu->endbrk;
- + else
- + {
- + if (cpu->a0 >= DEFAULT_MEM_SIZE)
- + cpu->a0 = -1;
- + else
- + cpu->endbrk = cpu->a0;
- + }
- + break;
- + }
- + case TARGET_SYS_gettimeofday:
- + {
- + int rv;
- + struct timeval tv;
- +
- + rv = gettimeofday (&tv, 0);
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->a0, tv.tv_sec);
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->a0 + 4,
- + tv.tv_usec);
- + }
- + else
- + {
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->a0, tv.tv_sec);
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map,
- + cpu->a0 + 8,
- + tv.tv_usec);
- + }
- +
- + cpu->a0 = rv;
- + break;
- + }
- + default:
- + cpu->a0 = sim_syscall (cpu, cpu->a7, cpu->a0,
- + cpu->a1, cpu->a2, cpu->a3);
- + break;
- + }
- + }
- + else
- + cpu->a0 = sim_syscall (cpu, cpu->a7, cpu->a0, cpu->a1, cpu->a2, cpu->a3);
- + break;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + return pc;
- +}
- +
- +static unsigned64
- +mulhu (unsigned64 a, unsigned64 b)
- +{
- + uint64_t t;
- + uint32_t y1, y2, y3;
- + uint64_t a0 = (uint32_t)a, a1 = a >> 32;
- + uint64_t b0 = (uint32_t)b, b1 = b >> 32;
- +
- + t = a1*b0 + ((a0*b0) >> 32);
- + y1 = t;
- + y2 = t >> 32;
- +
- + t = a0*b1 + y1;
- + y1 = t;
- +
- + t = a1*b1 + y2 + (t >> 32);
- + y2 = t;
- + y3 = t >> 32;
- +
- + return ((uint64_t)y3 << 32) | y2;
- +}
- +
- +static unsigned64
- +mulh (signed64 a, signed64 b)
- +{
- + int negate = (a < 0) != (b < 0);
- + uint64_t res = mulhu (a < 0 ? -a : a, b < 0 ? -b : b);
- + return negate ? ~res + (a * b == 0) : res;
- +}
- +
- +static unsigned64
- +mulhsu (signed64 a, unsigned64 b)
- +{
- + int negate = a < 0;
- + uint64_t res = mulhu (a < 0 ? -a : a, b);
- + return negate ? ~res + (a * b == 0) : res;
- +}
- +
- +static sim_cia
- +execute_m (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
- + int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
- + int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
- + const char *rd_name = riscv_gpr_names_abi[rd];
- + const char *rs1_name = riscv_gpr_names_abi[rs1];
- + const char *rs2_name = riscv_gpr_names_abi[rs2];
- + unsigned_word tmp, dividend_max;
- + signed_word dividend32_max;
- + sim_cia pc = cpu->pc + 4;
- +
- + dividend_max = -((unsigned_word)1 << (WITH_TARGET_WORD_BITSIZE - 1));
- + dividend32_max = INT32_MIN;
- +
- + switch (op->match)
- + {
- + case MATCH_DIV:
- + TRACE_INSN (cpu, "div %s, %s, %s; // %s = %s / %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (cpu->regs[rs1] == dividend_max && cpu->regs[rs2] == -1)
- + tmp = dividend_max;
- + else if (cpu->regs[rs2])
- + tmp = (signed_word)cpu->regs[rs1] / (signed_word)cpu->regs[rs2];
- + else
- + tmp = -1;
- + store_rd (cpu, rd, tmp);
- + break;
- + case MATCH_DIVW:
- + TRACE_INSN (cpu, "divw %s, %s, %s; // %s = %s / %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + if (EXTEND32 (cpu->regs[rs1]) == dividend32_max
- + && EXTEND32 (cpu->regs[rs2]) == -1)
- + tmp = 1 << 31;
- + else if (EXTEND32 (cpu->regs[rs2]))
- + tmp = EXTEND32 (cpu->regs[rs1]) / EXTEND32 (cpu->regs[rs2]);
- + else
- + tmp = -1;
- + store_rd (cpu, rd, EXTEND32 (tmp));
- + break;
- + case MATCH_DIVU:
- + TRACE_INSN (cpu, "divu %s, %s, %s; // %s = %s / %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (cpu->regs[rs2])
- + store_rd (cpu, rd, (unsigned_word)cpu->regs[rs1]
- + / (unsigned_word)cpu->regs[rs2]);
- + else
- + store_rd (cpu, rd, -1);
- + break;
- + case MATCH_DIVUW:
- + TRACE_INSN (cpu, "divuw %s, %s, %s; // %s = %s / %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + if ((unsigned32)cpu->regs[rs2])
- + tmp = (unsigned32)cpu->regs[rs1] / (unsigned32)cpu->regs[rs2];
- + else
- + tmp = -1;
- + store_rd (cpu, rd, EXTEND32 (tmp));
- + break;
- + case MATCH_MUL:
- + TRACE_INSN (cpu, "mul %s, %s, %s; // %s = %s * %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + store_rd (cpu, rd, cpu->regs[rs1] * cpu->regs[rs2]);
- + break;
- + case MATCH_MULW:
- + TRACE_INSN (cpu, "mulw %s, %s, %s; // %s = %s * %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + store_rd (cpu, rd, EXTEND32 ((signed32)cpu->regs[rs1]
- + * (signed32)cpu->regs[rs2]));
- + break;
- + case MATCH_MULH:
- + TRACE_INSN (cpu, "mulh %s, %s, %s; // %s = %s * %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (RISCV_XLEN (cpu) == 32)
- + store_rd (cpu, rd, ((signed64)(signed_word)cpu->regs[rs1]
- + * (signed64)(signed_word)cpu->regs[rs2]) >> 32);
- + else
- + store_rd (cpu, rd, mulh (cpu->regs[rs1], cpu->regs[rs2]));
- + break;
- + case MATCH_MULHU:
- + TRACE_INSN (cpu, "mulhu %s, %s, %s; // %s = %s * %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (RISCV_XLEN (cpu) == 32)
- + store_rd (cpu, rd, ((unsigned64)cpu->regs[rs1]
- + * (unsigned64)cpu->regs[rs2]) >> 32);
- + else
- + store_rd (cpu, rd, mulhu (cpu->regs[rs1], cpu->regs[rs2]));
- + break;
- + case MATCH_MULHSU:
- + TRACE_INSN (cpu, "mulhsu %s, %s, %s; // %s = %s * %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (RISCV_XLEN (cpu) == 32)
- + store_rd (cpu, rd, ((signed64)(signed_word)cpu->regs[rs1]
- + * (unsigned64)cpu->regs[rs2]) >> 32);
- + else
- + store_rd (cpu, rd, mulhsu (cpu->regs[rs1], cpu->regs[rs2]));
- + break;
- + case MATCH_REM:
- + TRACE_INSN (cpu, "rem %s, %s, %s; // %s = %s %% %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (cpu->regs[rs1] == dividend_max && cpu->regs[rs2] == -1)
- + tmp = 0;
- + else if (cpu->regs[rs2])
- + tmp = (signed_word)cpu->regs[rs1] % (signed_word)cpu->regs[rs2];
- + else
- + tmp = cpu->regs[rs1];
- + store_rd (cpu, rd, tmp);
- + break;
- + case MATCH_REMW:
- + TRACE_INSN (cpu, "remw %s, %s, %s; // %s = %s %% %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + if (EXTEND32 (cpu->regs[rs1]) == dividend32_max
- + && EXTEND32 (cpu->regs[rs2]) == -1)
- + tmp = 0;
- + else if (EXTEND32 (cpu->regs[rs2]))
- + tmp = EXTEND32 (cpu->regs[rs1]) % EXTEND32 (cpu->regs[rs2]);
- + else
- + tmp = cpu->regs[rs1];
- + store_rd (cpu, rd, EXTEND32 (tmp));
- + break;
- + case MATCH_REMU:
- + TRACE_INSN (cpu, "remu %s, %s, %s; // %s = %s %% %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + if (cpu->regs[rs2])
- + store_rd (cpu, rd, cpu->regs[rs1] % cpu->regs[rs2]);
- + else
- + store_rd (cpu, rd, cpu->regs[rs1]);
- + break;
- + case MATCH_REMUW:
- + TRACE_INSN (cpu, "remuw %s, %s, %s; // %s = %s %% %s",
- + rd_name, rs1_name, rs2_name, rd_name, rs1_name, rs2_name);
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- + if ((unsigned32)cpu->regs[rs2])
- + tmp = (unsigned32)cpu->regs[rs1] % (unsigned32)cpu->regs[rs2];
- + else
- + tmp = cpu->regs[rs1];
- + store_rd (cpu, rd, EXTEND32 (tmp));
- + break;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + return pc;
- +}
- +
- +#define MAX(a, b) ((a) > (b) ? (a) : (b))
- +#define MIN(a, b) ((a) < (b) ? (a) : (b))
- +
- +static sim_cia
- +execute_a (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
- + int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
- + int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
- + const char *rd_name = riscv_gpr_names_abi[rd];
- + const char *rs1_name = riscv_gpr_names_abi[rs1];
- + const char *rs2_name = riscv_gpr_names_abi[rs2];
- + struct atomic_mem_reserved_list *amo_prev, *amo_curr;
- + insn_t aqrl_mask = (OP_MASK_AQ << OP_SH_AQ) | (OP_MASK_RL << OP_SH_RL);
- + unsigned_word tmp;
- + unsigned_word rs2_val = cpu->regs[rs2];
- + sim_cia pc = cpu->pc + 4;
- +
- + /* Handle these two load/store operations specifically. */
- + switch (op->match & ~aqrl_mask)
- + {
- + case MATCH_LR_W:
- + TRACE_INSN (cpu, "%s %s, (%s);", op->name, rd_name, rs1_name);
- + store_rd (cpu, rd,
- + sim_core_read_unaligned_4 (cpu, cpu->pc, read_map, cpu->regs[rs1]));
- +
- + /* Walk the reservation list to find an existing match. */
- + amo_curr = sd->amo_reserved_list;
- + while (amo_curr)
- + {
- + if (amo_curr->addr == cpu->regs[rs1])
- + goto done;
- + amo_curr = amo_curr->next;
- + }
- +
- + /* No reservation exists, so add one. */
- + amo_curr = xmalloc (sizeof (*amo_curr));
- + amo_curr->addr = cpu->regs[rs1];
- + amo_curr->next = sd->amo_reserved_list;
- + sd->amo_reserved_list = amo_curr;
- + goto done;
- + case MATCH_SC_W:
- + TRACE_INSN (cpu, "%s %s, %s, (%s);", op->name, rd_name, rs2_name, rs1_name);
- +
- + /* Walk the reservation list to find a match. */
- + amo_curr = amo_prev = sd->amo_reserved_list;
- + while (amo_curr)
- + {
- + if (amo_curr->addr == cpu->regs[rs1])
- + {
- + /* We found a reservation, so operate it. */
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map,
- + cpu->regs[rs1], cpu->regs[rs2]);
- + store_rd (cpu, rd, 0);
- + if (amo_curr == sd->amo_reserved_list)
- + sd->amo_reserved_list = amo_curr->next;
- + else
- + amo_prev->next = amo_curr->next;
- + free (amo_curr);
- + goto done;
- + }
- + amo_prev = amo_curr;
- + amo_curr = amo_curr->next;
- + }
- +
- + /* If we're still here, then no reservation exists, so mark as failed. */
- + store_rd (cpu, rd, 1);
- + goto done;
- + }
- +
- + /* Handle the rest of the atomic insns with common code paths. */
- + TRACE_INSN (cpu, "%s %s, %s, (%s);",
- + op->name, rd_name, rs2_name, rs1_name);
- + if (op->xlen_requirement == 64)
- + tmp = sim_core_read_unaligned_8 (cpu, cpu->pc, read_map, cpu->regs[rs1]);
- + else
- + tmp = EXTEND32 (sim_core_read_unaligned_4 (cpu, cpu->pc,
- + read_map, cpu->regs[rs1]));
- +
- + store_rd (cpu, rd, tmp);
- +
- + switch (op->match & ~aqrl_mask)
- + {
- + case MATCH_AMOADD_D:
- + case MATCH_AMOADD_W:
- + tmp = tmp + cpu->regs[rs2];
- + break;
- + case MATCH_AMOAND_D:
- + case MATCH_AMOAND_W:
- + tmp = tmp & cpu->regs[rs2];
- + break;
- + case MATCH_AMOMAX_D:
- + case MATCH_AMOMAX_W:
- + tmp = MAX ((signed_word)tmp, (signed_word)cpu->regs[rs2]);
- + break;
- + case MATCH_AMOMAXU_D:
- + case MATCH_AMOMAXU_W:
- + tmp = MAX ((unsigned_word)tmp, (unsigned_word)cpu->regs[rs2]);
- + break;
- + case MATCH_AMOMIN_D:
- + case MATCH_AMOMIN_W:
- + tmp = MIN ((signed_word)tmp, (signed_word)cpu->regs[rs2]);
- + break;
- + case MATCH_AMOMINU_D:
- + case MATCH_AMOMINU_W:
- + tmp = MIN ((unsigned_word)tmp, (unsigned_word)cpu->regs[rs2]);
- + break;
- + case MATCH_AMOOR_D:
- + case MATCH_AMOOR_W:
- + tmp = tmp | cpu->regs[rs2];
- + break;
- + case MATCH_AMOSWAP_D:
- + case MATCH_AMOSWAP_W:
- + tmp = rs2_val;
- + break;
- + case MATCH_AMOXOR_D:
- + case MATCH_AMOXOR_W:
- + tmp = tmp ^ cpu->regs[rs2];
- + break;
- + default:
- + TRACE_INSN (cpu, "UNHANDLED INSN: %s", op->name);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + if (op->xlen_requirement == 64)
- + sim_core_write_unaligned_8 (cpu, cpu->pc, write_map, cpu->regs[rs1], tmp);
- + else
- + sim_core_write_unaligned_4 (cpu, cpu->pc, write_map, cpu->regs[rs1], tmp);
- +
- + done:
- + return pc;
- +}
- +
- +static sim_cia
- +execute_one (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + int index;
- +
- + if (op->xlen_requirement == 32)
- + RISCV_ASSERT_RV32 (cpu, "insn: %s", op->name);
- + else if (op->xlen_requirement == 64)
- + RISCV_ASSERT_RV64 (cpu, "insn: %s", op->name);
- +
- + switch (op->insn_class)
- + {
- + case INSN_CLASS_A:
- + return execute_a (cpu, iw, op);
- + case INSN_CLASS_C:
- + case INSN_CLASS_F_AND_C:
- + case INSN_CLASS_D_AND_C:
- + return execute_c (cpu, iw, op);
- + case INSN_CLASS_D:
- + return execute_d (cpu, iw, op);
- + case INSN_CLASS_F:
- + return execute_f (cpu, iw, op);
- + case INSN_CLASS_I:
- + return execute_i (cpu, iw, op);
- + case INSN_CLASS_M:
- + return execute_m (cpu, iw, op);
- + case_default:
- + default:
- + TRACE_INSN (cpu, "UNHANDLED EXTENSION: %d", op->insn_class);
- + sim_engine_halt (sd, cpu, NULL, cpu->pc, sim_signalled, SIM_SIGILL);
- + }
- +
- + return cpu->pc + riscv_insn_length (iw);
- +}
- +
- +/* Decode & execute a single instruction. */
- +void step_once (SIM_CPU *cpu)
- +{
- + SIM_DESC sd = CPU_STATE (cpu);
- + unsigned_word iw;
- + unsigned int len;
- + sim_cia pc = cpu->pc;
- + const struct riscv_opcode *op;
- + int xlen = RISCV_XLEN (cpu);
- +
- + if (TRACE_ANY_P (cpu))
- + trace_prefix (sd, cpu, NULL_CIA, pc, TRACE_LINENUM_P (cpu),
- + NULL, 0, " "); /* Use a space for gcc warnings. */
- +
- + iw = sim_core_read_aligned_2 (cpu, pc, exec_map, pc);
- +
- + len = riscv_insn_length (iw);
- +
- + if (len == 4)
- + iw |= ((unsigned_word)sim_core_read_aligned_2 (cpu, pc, exec_map, pc + 2) << 16);
- +
- + TRACE_CORE (cpu, "0x%08" PRIxTW, iw);
- +
- + op = riscv_hash[OP_HASH_IDX (iw)];
- + if (!op)
- + sim_engine_halt (sd, cpu, NULL, pc, sim_signalled, SIM_SIGILL);
- +
- + for (; op->name; op++)
- + {
- + /* Does the opcode match? */
- + if (!(op->match_func) (op, iw))
- + continue;
- + /* Is this a pseudo-instruction? */
- + if ((op->pinfo & INSN_ALIAS))
- + continue;
- + /* Is this instruction restricted to a certain value of XLEN? */
- + if (op->xlen_requirement != 0 && op->xlen_requirement != xlen)
- + continue;
- + /* It's a match. */
- + pc = execute_one (cpu, iw, op);
- + break;
- + }
- +
- + /* TODO: Try to use a common counter and only update on demand (reads). */
- + if (RISCV_XLEN (cpu) == 32)
- + {
- + unsigned_word old_cycle = cpu->csr.cycle++;
- +
- + /* Increase cycleh if cycle is overflowed. */
- + if (old_cycle > cpu->csr.cycle)
- + cpu->csr.cycleh++;
- + }
- + else
- + ++cpu->csr.cycle;
- +
- + cpu->csr.instret = cpu->csr.cycle;
- + cpu->csr.instreth = cpu->csr.cycleh;
- +
- + cpu->pc = pc;
- +}
- +
- +/* Return the program counter for this cpu. */
- +static sim_cia
- +pc_get (sim_cpu *cpu)
- +{
- + return cpu->pc;
- +}
- +
- +/* Set the program counter for this cpu to the new pc value. */
- +static void
- +pc_set (sim_cpu *cpu, sim_cia pc)
- +{
- + cpu->pc = pc;
- +}
- +
- +static int
- +reg_fetch (sim_cpu *cpu, int rn, unsigned char *buf, int len)
- +{
- + if (len <= 0 || len > sizeof (unsigned_word))
- + return -1;
- +
- + switch (rn)
- + {
- + case SIM_RISCV_RA_REGNUM ... SIM_RISCV_T6_REGNUM:
- + memcpy (buf, &cpu->regs[rn], len);
- + return len;
- + case SIM_RISCV_FIRST_FP_REGNUM ... SIM_RISCV_LAST_FP_REGNUM:
- + rn -= SIM_RISCV_FIRST_FP_REGNUM;
- + memcpy (buf, &cpu->fpregs[rn], len);
- + return len;
- + case SIM_RISCV_PC_REGNUM:
- + memcpy (buf, &cpu->pc, len);
- + return len;
- +
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case SIM_RISCV_ ## num ## _REGNUM: \
- + memcpy (buf, &cpu->csr.name, len); \
- + return len;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- +
- + default:
- + return -1;
- + }
- +}
- +
- +static int
- +reg_store (sim_cpu *cpu, int rn, unsigned char *buf, int len)
- +{
- + if (len <= 0 || len > sizeof (unsigned_word))
- + return -1;
- +
- + switch (rn)
- + {
- + case SIM_RISCV_ZERO_REGNUM:
- + /* Always return len to avoid warning/error in gdbsim_store_register. */
- + return len;
- + case SIM_RISCV_RA_REGNUM ... SIM_RISCV_T6_REGNUM:
- + memcpy (&cpu->regs[rn], buf, len);
- + return len;
- + case SIM_RISCV_FIRST_FP_REGNUM ... SIM_RISCV_LAST_FP_REGNUM:
- + rn -= SIM_RISCV_FIRST_FP_REGNUM;
- + memcpy (&cpu->fpregs[rn], buf, len);
- + return len;
- + case SIM_RISCV_PC_REGNUM:
- + memcpy (&cpu->pc, buf, len);
- + return len;
- +
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) \
- + case SIM_RISCV_ ## num ## _REGNUM: \
- + memcpy (&cpu->csr.name, buf, len); \
- + return len;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- +
- + default:
- + return -1;
- + }
- +}
- +
- +/* Initialize the state for a single cpu. Usuaully this involves clearing all
- + registers back to their reset state. Should also hook up the fetch/store
- + helper functions too. */
- +void initialize_cpu (SIM_DESC sd, SIM_CPU *cpu, int mhartid)
- +{
- + const char *extensions;
- + int i;
- +
- + memset (cpu->regs, 0, sizeof (cpu->regs));
- +
- + CPU_PC_FETCH (cpu) = pc_get;
- + CPU_PC_STORE (cpu) = pc_set;
- + CPU_REG_FETCH (cpu) = reg_fetch;
- + CPU_REG_STORE (cpu) = reg_store;
- +
- + if (!riscv_hash[0])
- + {
- + const struct riscv_opcode *op;
- +
- + for (op = riscv_opcodes; op->name; op++)
- + if (!riscv_hash[OP_HASH_IDX (op->match)])
- + riscv_hash[OP_HASH_IDX (op->match)] = op;
- + }
- +
- + cpu->csr.misa = 0;
- + /* RV32 sets this field to 0, and we don't really support RV128 yet. */
- + if (RISCV_XLEN (cpu) == 64)
- + cpu->csr.misa |= (unsigned64)2 << 62;
- +
- + /* Skip the leading "rv" prefix and the two numbers. */
- + extensions = MODEL_NAME (CPU_MODEL (cpu)) + 4;
- + for (i = 0; i < 26; ++i)
- + {
- + char ext = 'A' + i;
- +
- + if (ext == 'X')
- + continue;
- + else if (strchr (extensions, ext) != NULL)
- + {
- + if (ext == 'G')
- + cpu->csr.misa |= 0x1129; /* G = IMAFD. */
- + else
- + cpu->csr.misa |= (1 << i);
- + }
- + }
- +
- + cpu->csr.mimpid = 0x8000;
- + cpu->csr.mhartid = mhartid;
- + cpu->csr.cycle = 0;
- + cpu->csr.cycleh = 0;
- + cpu->csr.instret = 0;
- + cpu->csr.instreth = 0;
- +}
- +
- +/* Some utils don't like having a NULL environ. */
- +static const char * const simple_env[] = { "HOME=/", "PATH=/bin", NULL };
- +
- +/* Count the number of arguments in an argv. */
- +static int
- +count_argv (const char * const *argv)
- +{
- + int i;
- +
- + if (!argv)
- + return -1;
- +
- + for (i = 0; argv[i] != NULL; ++i)
- + continue;
- + return i;
- +}
- +
- +void initialize_env (SIM_DESC sd, const char * const *argv,
- + const char * const *env)
- +{
- + SIM_CPU *cpu = STATE_CPU (sd, 0);
- + int i;
- + int argc, argv_flat;
- + int envc, env_flat;
- + address_word sp, sp_flat;
- + unsigned char null[8] = { 0, 0, 0, 0, 0, 0, 0, 0, };
- +
- + /* Figure out how many bytes the argv strings take up. */
- + argc = count_argv (argv);
- + if (argc == -1)
- + argc = 0;
- + argv_flat = argc; /* NUL bytes. */
- + for (i = 0; i < argc; ++i)
- + argv_flat += strlen (argv[i]);
- +
- + /* Figure out how many bytes the environ strings take up. */
- + if (!env)
- + env = simple_env;
- + envc = count_argv (env);
- + env_flat = envc; /* NUL bytes. */
- + for (i = 0; i < envc; ++i)
- + env_flat += strlen (env[i]);
- +
- + /* Make space for the strings themselves. */
- + sp_flat = (DEFAULT_MEM_SIZE - argv_flat - env_flat) & -sizeof (address_word);
- + /* Then the pointers to the strings. */
- + sp = sp_flat - ((argc + 1 + envc + 1) * sizeof (address_word));
- + /* Then the argc. */
- + sp -= sizeof (unsigned_word);
- + /* Synchronize sp alignment with GCC's STACK_BOUNDARY. */
- + sp = ALIGN_16 (sp - 15);
- +
- + /* Set up the regs the libgloss crt0 expects. */
- + cpu->a0 = argc;
- + cpu->sp = sp;
- +
- + /* First push the argc value. */
- + sim_write (sd, sp, (void *)&argc, sizeof (unsigned_word));
- + sp += sizeof (unsigned_word);
- +
- + /* Then the actual argv strings so we know where to point argv[]. */
- + for (i = 0; i < argc; ++i)
- + {
- + unsigned len = strlen (argv[i]) + 1;
- + sim_write (sd, sp_flat, (void *)argv[i], len);
- + sim_write (sd, sp, (void *)&sp_flat, sizeof (address_word));
- + sp_flat += len;
- + sp += sizeof (address_word);
- + }
- + sim_write (sd, sp, null, sizeof (address_word));
- + sp += sizeof (address_word);
- +
- + /* Then the actual env strings so we know where to point env[]. */
- + for (i = 0; i < envc; ++i)
- + {
- + unsigned len = strlen (env[i]) + 1;
- + sim_write (sd, sp_flat, (void *)env[i], len);
- + sim_write (sd, sp, (void *)&sp_flat, sizeof (address_word));
- + sp_flat += len;
- + sp += sizeof (address_word);
- + }
- +}
- diff --git a/sim/riscv/sim-main.h b/sim/riscv/sim-main.h
- new file mode 100644
- index 0000000000..94b3b08047
- --- /dev/null
- +++ b/sim/riscv/sim-main.h
- @@ -0,0 +1,100 @@
- +/* RISC-V simulator.
- +
- + Copyright (C) 2005-2014 Free Software Foundation, Inc.
- + Contributed by Mike Frysinger.
- +
- + This file is part of simulators.
- +
- + This program is free software; you can redistribute it and/or modify
- + it under the terms of the GNU General Public License as published by
- + the Free Software Foundation; either version 3 of the License, or
- + (at your option) any later version.
- +
- + This program is distributed in the hope that it will be useful,
- + but WITHOUT ANY WARRANTY; without even the implied warranty of
- + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + GNU General Public License for more details.
- +
- + You should have received a copy of the GNU General Public License
- + along with this program. If not, see <http://www.gnu.org/licenses/>. */
- +
- +#ifndef SIM_MAIN_H
- +#define SIM_MAIN_H
- +
- +#include "sim-basics.h"
- +#include "machs.h"
- +#include "sim-base.h"
- +
- +typedef union FRegisterValue
- +{
- + uint64_t v[2];
- + uint32_t w[4];
- +
- + int64_t V[2];
- + int32_t W[4];
- +
- + float S[4];
- + double D[2];
- +
- +} FRegister;
- +
- +struct _sim_cpu {
- + union {
- + unsigned_word regs[32];
- + struct {
- + /* These are the ABI names. */
- + unsigned_word zero, ra, sp, gp, tp;
- + unsigned_word t0, t1, t2;
- + unsigned_word s0, s1;
- + unsigned_word a0, a1, a2, a3, a4, a5, a6, a7;
- + unsigned_word s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
- + unsigned_word t3, t4, t5, t6;
- + };
- + };
- + union {
- + FRegister fpregs[32];
- + struct {
- + /* These are the ABI names. */
- + unsigned_word ft0, ft1, ft2, ft3, ft4, ft5, ft6, ft7;
- + unsigned_word fs0, fs1;
- + unsigned_word fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7;
- + unsigned_word fs2, fs3, fs4, fs5, fs6, fs7, fs8, fs9, fs10, fs11;
- + unsigned_word ft8, ft9, ft10, ft11;
- + };
- + };
- + sim_cia pc;
- + sim_cia endbrk;
- +
- + struct {
- +#define DECLARE_CSR(name, num, class, def_ver, abort_ver) unsigned_word name;
- +#include "opcode/riscv-opc.h"
- +#undef DECLARE_CSR
- + } csr;
- +
- + sim_cpu_base base;
- +};
- +
- +struct atomic_mem_reserved_list;
- +struct atomic_mem_reserved_list {
- + struct atomic_mem_reserved_list *next;
- + address_word addr;
- +};
- +
- +struct sim_state {
- + sim_cpu *cpu[MAX_NR_PROCESSORS];
- + struct atomic_mem_reserved_list *amo_reserved_list;
- +
- + /* ... simulator specific members ... */
- + sim_state_base base;
- +};
- +
- +extern void step_once (SIM_CPU *);
- +extern void initialize_cpu (SIM_DESC, SIM_CPU *, int);
- +extern void initialize_env (SIM_DESC, const char * const *argv,
- + const char * const *env);
- +
- +#define DEFAULT_MEM_SIZE (64 * 1024 * 1024)
- +
- +#define RISCV_XLEN(cpu) MACH_WORD_BITSIZE (CPU_MACH (cpu))
- +
- +#endif
- diff --git a/sim/testsuite/configure b/sim/testsuite/configure
- index c3674c2fa0..a52f7c2663 100755
- --- a/sim/testsuite/configure
- +++ b/sim/testsuite/configure
- @@ -619,6 +619,7 @@ infodir
- docdir
- oldincludedir
- includedir
- +runstatedir
- localstatedir
- sharedstatedir
- sysconfdir
- @@ -686,6 +687,7 @@ datadir='${datarootdir}'
- sysconfdir='${prefix}/etc'
- sharedstatedir='${prefix}/com'
- localstatedir='${prefix}/var'
- +runstatedir='${localstatedir}/run'
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
- docdir='${datarootdir}/doc/${PACKAGE}'
- @@ -938,6 +940,15 @@ do
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- + -runstatedir | --runstatedir | --runstatedi | --runstated \
- + | --runstate | --runstat | --runsta | --runst | --runs \
- + | --run | --ru | --r)
- + ac_prev=runstatedir ;;
- + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- + | --run=* | --ru=* | --r=*)
- + runstatedir=$ac_optarg ;;
- +
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- @@ -1075,7 +1086,7 @@ fi
- for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- - libdir localedir mandir
- + libdir localedir mandir runstatedir
- do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- @@ -1228,6 +1239,7 @@ Fine tuning of the installation directories:
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- @@ -1934,6 +1946,9 @@ case "${target}" in
- pru*-*-*)
- sim_arch=pru
- ;;
- + riscv*-*-*)
- + sim_arch=riscv
- + ;;
- rl78-*-*)
- sim_arch=rl78
- ;;
- diff --git a/sim/testsuite/sim/riscv/ChangeLog b/sim/testsuite/sim/riscv/ChangeLog
- new file mode 100644
- index 0000000000..72dd0c36da
- --- /dev/null
- +++ b/sim/testsuite/sim/riscv/ChangeLog
- @@ -0,0 +1,3 @@
- +2015-03-29 Mike Frysinger <vapier@gentoo.org>
- +
- + * allinsn.exp, exit-0.s, exit-7.s, isa.inc, testutils.inc: New files.
- diff --git a/sim/testsuite/sim/riscv/allinsn.exp b/sim/testsuite/sim/riscv/allinsn.exp
- new file mode 100644
- index 0000000000..4ed7cff5d2
- --- /dev/null
- +++ b/sim/testsuite/sim/riscv/allinsn.exp
- @@ -0,0 +1,15 @@
- +# mcore simulator testsuite
- +
- +if [istarget riscv-*] {
- + # all machines
- + set all_machs "riscv"
- +
- + foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.s]] {
- + # If we're only testing specific files and this isn't one of them,
- + # skip it.
- + if ![runtest_file_p $runtests $src] {
- + continue
- + }
- + run_sim_test $src $all_machs
- + }
- +}
- diff --git a/sim/testsuite/sim/riscv/pass.s b/sim/testsuite/sim/riscv/pass.s
- new file mode 100644
- index 0000000000..bd428ca167
- --- /dev/null
- +++ b/sim/testsuite/sim/riscv/pass.s
- @@ -0,0 +1,7 @@
- +# check that the sim doesn't die immediately.
- +# mach: riscv
- +
- +.include "testutils.inc"
- +
- + start
- + pass
- diff --git a/sim/testsuite/sim/riscv/testutils.inc b/sim/testsuite/sim/riscv/testutils.inc
- new file mode 100644
- index 0000000000..bb92ac0f4d
- --- /dev/null
- +++ b/sim/testsuite/sim/riscv/testutils.inc
- @@ -0,0 +1,50 @@
- +# MACRO: exit
- + .macro exit nr
- + li a0, \nr
- + # The exit utility function.
- + li a7, 93;
- + .endm
- +
- +# MACRO: pass
- +# Write 'pass' to stdout and quit
- + .macro pass
- + # syscall write().
- + li a7, 64;
- + # Use stdout.
- + li a0, 1;
- + # Point to the string.
- + lla a1, 1f;
- + # Number of bytes to write.
- + li a2, 5;
- + # Trigger OS trap.
- + ecall;
- + exit 0;
- + .data
- + 1: .asciz "pass\n"
- + .endm
- +
- +# MACRO: fail
- +# Write 'fail' to stdout and quit
- + .macro fail
- + # syscall write();
- + li a7, 64;
- + # Use stdout.
- + li a0, 1;
- + # Point to the string.
- + lla a1, 1f;
- + # Number of bytes to write.
- + li a2, 5;
- + # Trigger OS trap.
- + ecall;
- + exit 0;
- + .data
- + 1: .asciz "fail\n"
- + .endm
- +
- +# MACRO: start
- +# All assembler tests should start with a call to "start"
- + .macro start
- + .text
- +.global _start
- +_start:
- + .endm
- --
- 2.33.0
|