ChangeLog 797 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997
  1. 2017-06-18 Mathieu Lirzin <mthl@gnu.org>
  2. version 1.15.1
  3. * configure.ac (AC_INIT): Bump version number to 1.15.1.
  4. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  5. 2017-06-18 Mathieu Lirzin <mthl@gnu.org>
  6. maint: Update 'git-tag-release' rule
  7. * maintainer/maint.mk (git-tag-release): Use a Git tag message similar
  8. to what the 'do-release-commit-and-tag' script from Gnulib do.
  9. 2017-06-18 Mathieu Lirzin <mthl@gnu.org>
  10. maint: Update files from upstream with 'make fetch'
  11. * lib/config.guess: Update.
  12. * lib/config.sub: Likewise.
  13. * lib/texinfo.tex: Likewise.
  14. 2017-06-18 Mathieu Lirzin <mthl@gnu.org>
  15. maint: Update NEWS
  16. * NEWS: Announce important bug fixes.
  17. 2017-05-20 Mathieu Lirzin <mthl@gnu.org>
  18. bootstrap: Add a rationale for the bootstrap process.
  19. * bootstrap: Explain why we can't simply run 'autoreconf -i'.
  20. 2017-05-20 Mathieu Lirzin <mthl@gnu.org>
  21. bootstrap: Rename 'bootstrap.sh' to 'bootstrap'.
  22. Follow Gnulib's convention of using either "bootstrap" or "autogen.sh"
  23. file names for development bootstrap scripts.
  24. * bootstrap.sh: Rename to ...
  25. * bootstrap: ... this.
  26. * GNUmakefile (bootstrap): Adapt.
  27. * HACKING: Likewise.
  28. * Makefile.am (EXTRA_DIST): Likewise.
  29. * doc/automake.texi (Future of aclocal)
  30. (Error required file ltmain.sh not found): Likewise.
  31. * maintainer/maint.mk (autodiffs, update-copyright): Likewise.
  32. 2017-05-20 Mathieu Lirzin <mthl@gnu.org>
  33. automake: Update 'read_am_file' docstring.
  34. * bin/automake.in (read_am_file): Update docstring which was referring
  35. to a non existent '%contents' variable.
  36. 2017-04-16 Bruno Haible <bruno@clisp.org>
  37. tests: Never invoke gettextize.
  38. This change fixes automake bug#26514.
  39. * t/gettext-macros.sh: Never invoke gettextize.
  40. 2017-04-13 Mathieu Lirzin <mthl@gnu.org>
  41. tests: Update "t/txinfo-no-clutter.sh".
  42. This is workaround to a regression introduced by
  43. 48107579abadbe857c8299c38d2ca0a3f8f354c8. With current
  44. "lib/texinfo.tex", 'texi2dvi' is not able to produce a valid output
  45. for a Texinfo document containing a @synindex command. As a
  46. consequence the test "t/txinfo-no-clutter.sh" was failing.
  47. * t/txinfo-no-clutter.sh: Remove use of @synindex command.
  48. 2017-03-05 Mathieu Lirzin <mthl@gnu.org>
  49. maint: Update "lib/texinfo.tex".
  50. This fixes a regression in 48107579abadbe857c8299c38d2ca0a3f8f354c8
  51. where 'texi2dvi' was not able to produce a valid output for a Texinfo
  52. document without text. As a consequence the test "t/silent-texi.sh"
  53. was failing.
  54. * lib/texinfo.tex: Update to 2017-03-05.09.
  55. 2017-03-02 Mathieu Lirzin <mthl@gnu.org>
  56. maint: Update copyright years to 2017.
  57. This update has been made with 'make update-copyright'.
  58. 2017-03-02 Mathieu Lirzin <mthl@gnu.org>
  59. maint: Update files from upstream with 'make fetch'.
  60. * lib/INSTALL: Update.
  61. * lib/config.guess: Likewise.
  62. * lib/config.sub: Likewise.
  63. * lib/gendocs.sh: Likewise.
  64. * lib/gendocs_template: Likewise.
  65. * lib/gitlog-to-changelog: Likewise.
  66. * lib/gnupload: Likewise.
  67. * lib/texinfo.tex: Likewise.
  68. * lib/update-copyright: Likewise.
  69. 2017-03-02 Mathieu Lirzin <mthl@gnu.org>
  70. maint: Update fetch URLs.
  71. * maintainer/maint.mk (SV_CVS, SV_GIT_AC): Remove.
  72. (SV_GIT_CF, SV_GIT_GL): Use https for Savannah Git repositories.
  73. (FETCHFILES): Use Gnulib repository as the source of "texinfo.tex",
  74. "gendocs.sh", and "gendocs_template" files.
  75. 2017-02-23 Mathieu Lirzin <mthl@gnu.org>
  76. doc: fix typo "requited" => "required"
  77. This change fixes automake bug#25413.
  78. * doc/automake.texi (Serial Test Harness): Fix typo.
  79. 2016-09-09 Jim Meyering <meyering@fb.com>
  80. automake: do not emit rule with two dependents
  81. On a system using our replacement alloca, make would emit
  82. this warning:
  83. target '.deps/alloca.Po' given more than once in the same rule
  84. That arose because automake would emit a rule depending on both
  85. ./.deps/alloca.Po and .deps/alloca.Po. Normally, duplicate
  86. dependents are avoided by virtue of their names being keys in
  87. the %dep_files hash, but in this case, that particular file
  88. was specified in two different ways.
  89. * bin/automake.in (handle_ALLOCA): When the $dir prefix is empty,
  90. make it './', to ensure that when we add ./.deps/alloca.Po
  91. it is deduped.
  92. See: http://bugs/gnu/org/22702
  93. 2016-04-21 Paul Eggert <eggert@cs.ucla.edu>
  94. python: add python3.5, python3.4
  95. * m4/python.m4 (AM_PATH_PYTHON): Add python3.5, python3.4.
  96. 2016-04-01 Paul Eggert <eggert@cs.ucla.edu>
  97. automake: port to Perl 5.22 and later
  98. Without this change, Perl 5.22 complains "Unescaped left brace in
  99. regex is deprecated" and this is planned to become a hard error in
  100. Perl 5.26. See:
  101. http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern
  102. * bin/automake.in (substitute_ac_subst_variables): Escape left brace.
  103. 2016-03-29 Paul Eggert <eggert at>
  104. automake: port better to future gzip
  105. * lib/am/distdir.am (dist-gzip, dist-shar, distcheck):
  106. Port better to future versions of gzip, which are planned to
  107. deprecate the GZIP environment variable (Bug#20132).
  108. 2016-01-12 Paul Eggert <eggert@cs.ucla.edu>
  109. maint: port time-stamp-time-zone to strict POSIX
  110. Set time-stamp-time-zone to "UTC0", not to "UTC", as POSIX defines
  111. TZ="UTC0" not TZ="UTC".
  112. 2015-11-24 Jonathan L Peyton <jonathan.l.peyton@intel.com> (tiny change)
  113. compile: add icl to compile wrapper script
  114. * lib/compile: Have icl be treated similarly to cl
  115. (scriptversion): Update.
  116. * t/ax/am-test-lib.sh (require_tool): Handle icl.
  117. * t/compile7.sh: Add new test file for icl...
  118. * t/list-of-tests.mk (handwritten_TESTS): ...and use it.
  119. * NEWS: Update.
  120. * THANKS: Update.
  121. 2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  122. tests: fix a typo-induced bug
  123. * t/subobj-vpath-pr13928.sh: Here; we were using $FGREP instead of
  124. $EGREP, oops.
  125. 2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  126. NEWS: fix a typo
  127. 2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  128. maint: update copyright years to 2015 (branch 'micro')
  129. 2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  130. sync: update third-part files from upstream
  131. * lib/config.sub: This.
  132. * lib/INSTALL, lib/config.guess, lib/gitlog-to-changelog, lib/gnupload,
  133. lib/update-copyright: And this (but only for copyright year update, no
  134. real semantic change)
  135. 2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  136. maint: fix typo in error message of a maintainer-only rule
  137. * maintainer/maint.mk (web-manual-update): Here.
  138. 2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  139. Merge branch 'minor' into micro after 1.15 release
  140. And bump version number: 1.15 -> 1.15.0a
  141. * minor:
  142. release: stable minor release 1.15
  143. NEWS: minor improvements and fixed some typos and grammaros
  144. docs: "make distcheck" implementation details are not to be abused
  145. NEWS: improve and adjust in light of the oncoming 1.15 release
  146. Fix dumb logic error preventing $install_sh from being be overridden
  147. Expose automake bug#19311
  148. build: fix race in parallel builds
  149. init: ensure $ac_aux_dir is defined before being used
  150. plans: enabling subdir-object by default is blocked on bug#13928
  151. maint: update copyright years
  152. maint: sync files from upstream ("make fetch")
  153. Typofixes in warning messages and manual
  154. NEWS: a typofix, and better word wrapping
  155. parallel-tests: avoid possible implicit "make all" in test-suite.log rule
  156. Allow user to extend .PRECIOUS target
  157. cosmetics: remove a couple of extra trailing white spaces
  158. tests: fix a spurious failure on Mac OS X
  159. docs: make clear the JAVA primary is frozen
  160. install-sh: a slightly better diagnostic, and tests enhancements
  161. install-sh: be stricter in catching invalid usages
  162. tests: more significant names for some tests
  163. tests: some cosmetic fixes
  164. tests: more significant names for a test
  165. docs: drop a few obsolescent FIXME/TODO comments, and associated text
  166. testsuite harness: report test exit status in log file
  167. TAP driver: no need to invoke AC_PROG_AWK directly
  168. TAP driver: remove perl implementation (move it into contrib/)
  169. NEWS: stop reporting "new" Automake versioning scheme
  170. cosmetics: untabify the install-sh script
  171. install-sh: assume that "set -f" and "set +f" work...
  172. install-sh: assume ${var:-value} works as expected
  173. install-sh: assume 'dirname' is available and working correctly
  174. post-release: micro version bump (1.14a)
  175. 2014-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  176. release: stable minor release 1.15
  177. * configure.ac (AC_INIT): Bump version number to 1.15.
  178. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  179. 2014-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  180. NEWS: minor improvements and fixed some typos and grammaros
  181. 2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  182. docs: "make distcheck" implementation details are not to be abused
  183. * doc/automake.texi: State explicitly and in detail that the exact location
  184. and the exact structure of the subdirectory used by "make distcheck" is to
  185. be considered an implementation detail, which can change at any time.
  186. 2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  187. NEWS: improve and adjust in light of the oncoming 1.15 release
  188. 2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  189. Merge branch 'micro' into minor
  190. * micro:
  191. shell-no-trail-bslash: improve diagnostic in case of failure
  192. 2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  193. shell-no-trail-bslash: improve diagnostic in case of failure
  194. * t/ax/shell-no-trail-bslash.in: Here, by fixing a typo in a
  195. variable name and a logic error.
  196. * t/self-check-shell-no-trail-bslash.sh: Enhance to catch the
  197. issue.
  198. 2014-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  199. Merge branch 'micro' into minor
  200. * micro:
  201. tests: make script 'shell-no-trail-bslash' simpler and more robust
  202. 2014-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  203. tests: make script 'shell-no-trail-bslash' simpler and more robust
  204. This solves spurious failure in the 'check-no-trailing-backslash-in-recipes'
  205. target for Automake-NG.
  206. This is basically a backport of Automake-NG commit v1.14.1-1010-g85aae58;
  207. the point is to minimize the amount of spurious diffs between the mainline
  208. Automake and the Automake-NG source trees.
  209. * t/ax/shell-no-trail-bslash.in: Simplify and fortify.
  210. * t/self-check-shell-no-trail-bslash.sh: Enhance.
  211. 2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  212. Merge branch 'micro' into minor
  213. * micro:
  214. tests: fix spurious failure in test on TEXINFO_TEX overriding
  215. tests: avoid some spurious failures on AIX 7.1
  216. 2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  217. tests: fix spurious failure in test on TEXINFO_TEX overriding
  218. * t/txinfo-override-texinfo-tex.sh: Here. The issue was pre-existing, but
  219. has been only recently exposed by the fix for automake bug#18286 "distcheck
  220. fails to detect missing files" (see commit v1.14.1-4-g01a7a4a) and by the
  221. BSD make semantics. To convince yourself this change actually makes sense
  222. semantically, see https://sourceware.org/ml/binutils/2012-06/msg00004.html
  223. 2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  224. Merge branch 'aix-testsuite-failures' into micro
  225. * aix-testsuite-failures:
  226. tests: avoid some spurious failures on AIX 7.1
  227. 2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  228. tests: avoid some spurious failures on AIX 7.1
  229. * t/lex-noyywrap.sh: Here.
  230. * t/instmany-mans.sh: And here.
  231. * t/instmany-python.sh: And here.
  232. * t/instmany.sh: And here.
  233. * t/parallel-tests-concurrency.sh: And here.
  234. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  235. Merge branch 'micro' into minor
  236. * micro:
  237. dist: fix bug#18286 "distcheck fails to detect missing files"
  238. tests: expose automake bug#18286 "distcheck fails to detect missing files"
  239. include: fix bug in handling of user-defined makefile fragments generation
  240. tests: expose bug in handling of user-defined makefile fragments generation
  241. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  242. Merge branch 'distcheck-pr18286' into micro
  243. * distcheck-pr18286:
  244. dist: fix bug#18286 "distcheck fails to detect missing files"
  245. tests: expose automake bug#18286 "distcheck fails to detect missing files"
  246. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  247. dist: fix bug#18286 "distcheck fails to detect missing files"
  248. BTW, this issue had been already reported in the past:
  249. http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html
  250. http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html
  251. "make distcheck" could sometimes fail to detect missing files in the
  252. distribution tarball, especially in those cases where both the generated
  253. files and their dependencies are explicitly in $(srcdir). An important
  254. example of this are *generated* makefile fragments included at Automake
  255. time in Makefile.am. A basic example:
  256. # -*- Makefile.am -*-
  257. $(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh
  258. cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am
  259. include $(srcdir)/fragment.am
  260. ...
  261. If the use forgot to add data.txt and/or preproc.sh in the distribution
  262. tarball, "make distcheck" would have erroneously succeeded!
  263. The reason is that, while $(srcdir)/data.txt does not exist, make also
  264. looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued
  265. VPATH build where $(srcdir) is '..', that file exists, as it is
  266. part of the original development directory.
  267. * t/distdir.am (distcheck): Adjust to have the build directory be
  268. '$(distdir)/_build/sub' rather than just '$(distdir)/_build'. Thanks
  269. Nicola Fontana for the suggestion.
  270. * t/distcheck-pr18286.sh: Enhance and tighten a little.
  271. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh',
  272. as it's now passing.
  273. * t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due
  274. to the new distcheck semantics.
  275. * t/subdir-ac-subst.sh: Likewise.
  276. * t/dejagnu-relative-srcdir.sh: Likewise.
  277. * t/txinfo-builddir.sh: Likewise.
  278. * NEWS: Update.
  279. Helped-by: Nicola Fontana <ntd@entidi.it>
  280. Helped-by: Peter Johansson <trojkan@gmail.com>
  281. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  282. tests: expose automake bug#18286 "distcheck fails to detect missing files"
  283. * t/distcheck-pr18286.sh: New test, still XFAILing.
  284. * t/list-of-tests.mk: Add it.
  285. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  286. Merge branch 'am-deps' into micro
  287. * am-deps:
  288. include: fix bug in handling of user-defined makefile fragments generation
  289. tests: expose bug in handling of user-defined makefile fragments generation
  290. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  291. include: fix bug in handling of user-defined makefile fragments generation
  292. If a user defined one single Makefile fragment to be included (via Automake
  293. includes) in his main Makefile.am, and gave a rule to generate that file
  294. from other data, Automake used to spuriously complain about with something
  295. like "overrides Automake target '$(srcdir)/foo.am". This change remove that
  296. spurious error (via a simple hack rather than a systematic change, but oh
  297. well).
  298. * lib/am/configure.am (%MAKEFILE-IN-DEPS%) [?HAVE-MAKEFILE-IN-DEPS?]: Add
  299. a trailing "$(am__empty)" to the list of targets, which is enough to trick
  300. Automake into not complaining about "duplicated targets" in case the
  301. '%MAKEFILE-IN-DEPS%' list expands to a single target that is also declared
  302. in some user-defined rule.
  303. * t/list-of-tests.mk (XFAIL_TESTS): Remove now-passing test
  304. 't/am-include-only-one-generated-fragment.sh'.
  305. * NEWS: Update.
  306. 2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  307. tests: expose bug in handling of user-defined makefile fragments generation
  308. If a user defines one single Makefile fragment to be included (via Automake
  309. includes) in his main Makefile.am, and givse a rule to generate that file
  310. from other data, Automake will spuriously complain about with something
  311. like "overrides Automake target '$(srcdir)/foo.am".
  312. * t/am-include-only-one-generated-fragment.sh: Expose the bug (this test
  313. is still XFAILing).
  314. * t/list-of-tests.mk: Add the new test.
  315. 2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  316. Merge branch 'micro' into minor
  317. * micro:
  318. cleanup: refactor code to initialize DIST_COMMON
  319. dist: ordering of files in DIST_COMMON is deterministic now
  320. tests: refactor some tests on DIST_COMMON
  321. maint: make output of 'gen-testsuite-part' deterministic
  322. When computing lispdir, don't load emacs site wide init file.
  323. PATH: quote $(PATH_SEPARATOR) as well
  324. Improve detection of GNU make, avoiding "Arg list too long" errors.
  325. 2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  326. cleanup: refactor code to initialize DIST_COMMON
  327. There is not need to make that an Automake variable early,
  328. only to later get and munge its contents, and use the new
  329. content to redefine the variable.
  330. * bin/automake.in (@dist_common): New global variable.
  331. (push_dist_common, handle_dist): Use it.
  332. (handle_dist): Define am__DIST_COMMON instead of DIST_COMMON
  333. directly.
  334. (initialize_per_input): Reset it to empty.
  335. ($configure_dist_common): Turn this scalar variable ...
  336. (@configure_dist_common): ... into this array variable.
  337. (handle_dist): Adjust.
  338. (required_file_check_or_copy): Update and wrap some comments.
  339. * lib/am/distdir.am (DIST_COMMON): Append $(am__DIST_COMMON).
  340. * t/distcom2.sh: Tighten a little.
  341. 2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  342. dist: ordering of files in DIST_COMMON is deterministic now
  343. It had likely stopped being deterministic due to the new perl behavior
  344. of having non-deterministic order of numerating hash keys:
  345. <http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
  346. <http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
  347. See also similar commit v1.14-19-g52e6404, albeit in this case the issue
  348. is likely coming from autom4te/autoconf, not from automake itself.
  349. Fixes automake bug http://debbugs.gnu.org/17908
  350. * bin/automake.in (handle_dist): Sort @dist_common.
  351. (print_autodist_files): Swap invocations of 'sort' and 'uniq', for
  352. consistency with the new code in 'handle_dist' and to get rid of a
  353. minor hack.
  354. * NEWS: Update.
  355. 2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  356. tests: refactor some tests on DIST_COMMON
  357. So that they prefer checking the semantics of the generated Makefiles,
  358. rather than grepping their content. This will be useful in an upcoming
  359. refactoring.
  360. * t/distcom-subdir.sh: Adjust this test.
  361. * t/distcom2.sh: And this.
  362. * t/distcom3.sh: And this.
  363. * t/distcom4.sh: And this.
  364. * t/distcom5.sh: And this.
  365. 2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  366. maint: make output of 'gen-testsuite-part' deterministic
  367. So that diffs displayed by the 'compare-autodiffs' target are
  368. less spurious and more useful.
  369. * gen-testsuite-part: Sort keys of %deps_extractor, %wrapper_setups
  370. and %depmodes before iterating on them.
  371. 2014-12-19 Andrew Burgess <andrew.burgess@embecosm.com> (tiny change)
  372. When computing lispdir, don't load emacs site wide init file.
  373. When computing the lispdir emacs was previously invoked with the '-q'
  374. option to avoid loading the users initialisation files, however, the
  375. site wide initialisation file was still loaded, in some cases this can
  376. cause emacs to hang, with the result that a configure can also hang.
  377. The lisp code that aclocal causes to be executed reduces the load-path
  378. list (in emacs) to empty. The load-path is used by emacs to find
  379. packages which it wants to load. Currently, if emacs tries to auto
  380. load a package during shut down, and the package is not found, then
  381. emacs will hang. This does seem like an emacs bug, but protecting
  382. against this in aclocal is simply a case of not loading the site wide
  383. initialisation file.
  384. In this patch then the '-q' option to emacs is replaced with '-Q',
  385. this has the same, the '-Q' option is similar to '-q --no-site-file
  386. --no-splash'.
  387. * doc/automake.texi (Hard-Coded Install Paths): Update explanation of
  388. emacs code used to get lispdir.
  389. * m4/lispdir.m4 (AM_PATH_LISPDIR): Update emacs flags.
  390. 2014-12-19 KO Myung-Hun <komh78@gmail.com> (tiny change)
  391. PATH: quote $(PATH_SEPARATOR) as well
  392. On OS/2, $(PATH_SEPARATOR) is ';'. Without quote, it is recognized as
  393. a mark of end of sentence.
  394. * Makefile.am: quote $(PATH_SEPARATOR) as well.
  395. * t/Makefile.inc: Likewise.
  396. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  397. Improve detection of GNU make, avoiding "Arg list too long" errors.
  398. Such errors could take place when the main makefile included too many
  399. sub-makefiles, making $(MAKEFILE_LIST) too long and causing the
  400. recipes $(am__is_gnu_make) to exceed the shell's command-line length
  401. limits. This is not a theoretical issue: it could happen for projects
  402. having lots of C/C++ sources and using automatic dependency tracking,
  403. which created an included .Po sub-makefile for each of such sources.
  404. Fixes http://debbugs.gnu.org/18744
  405. * lib/am/header-vars.am (am__is_gnu_make): Fix the logic to avoid
  406. the use of $(MAKEFILE_LIST).
  407. * NEWS: Update.
  408. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  409. Merge branch 'micro' into minor
  410. * micro:
  411. Fix stupid typo in test, causing spurious failure
  412. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  413. Fix stupid typo in test, causing spurious failure
  414. * t/aminit-trailing-dnl-comment-pr16841.sh: s/greop/grep/
  415. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  416. Merge branch 'micro' into minor
  417. * micro:
  418. sync: update third-part files from upstream
  419. Make sure AM_INIT_AUTOMAKE has a trailing newline
  420. dist: adjust warning messages about shar and tarZ deprecation
  421. docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
  422. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  423. Merge branch 'pr16841' into micro
  424. * pr16841:
  425. Make sure AM_INIT_AUTOMAKE has a trailing newline
  426. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  427. sync: update third-part files from upstream
  428. * lib/config.guess: This.
  429. * lib/config.sub: And this.
  430. * lib/gitlog-to-changelog: And this.
  431. * lib/gnupload: And this.
  432. * lib/update-copyright: And this.
  433. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  434. Make sure AM_INIT_AUTOMAKE has a trailing newline
  435. This used to be the case until Automke 1.13, but we broke it in
  436. Automake 1.14 (see commit v1.13.1-71-gf78b0f0). This caused
  437. issues like http://debbugs.gnu.org/16841
  438. * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust.
  439. * t/aminit-trailing-dnl-comment-pr16841.sh: New test.
  440. * t/list-of-tests.mk: Add it.
  441. * NEWS, THANKS: Update.
  442. 2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  443. Merge branches 'dist-warn-pr19108' and 'docs-pr16623' into micro
  444. * dist-warn-pr19108:
  445. dist: adjust warning messages about shar and tarZ deprecation
  446. * docs-pr16623:
  447. docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
  448. 2014-12-19 Aharon Robbins <arnold@skeeve.com>
  449. dist: adjust warning messages about shar and tarZ deprecation
  450. They were swapped. Reported in http://debbugs.gnu.org/19108.
  451. 2014-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  452. docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
  453. In particular, suggesting that $PACKAGE and $VERSION should be aliases of
  454. the $PACKAGE_TARNAME and $PACKAGE_VERSION definitions coming from AC_INIT,
  455. and not be defined via an obsolete 2-argument invocation of AM_INIT_AUTOMAKE;
  456. and why that is the best default, given all our historical baggage.
  457. See discussion in http://debbugs.gnu.org/16623 for more information and
  458. background.
  459. * doc/automake.texi: Adjust.
  460. * THANKS: Update.
  461. 2014-12-17 Thomas Jahns <jahns@dkrz.de>
  462. Fix dumb logic error preventing $install_sh from being be overridden
  463. * m4/install-sh.m4: Here.
  464. * THANKS: Update.
  465. 2014-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  466. Merge branches 'pr19311' and 'micro' into minor
  467. * pr19311:
  468. Expose automake bug#19311
  469. build: fix race in parallel builds
  470. * micro:
  471. Automake docs: fix typos and use of British English
  472. build: fix race in parallel builds
  473. 2014-12-17 Karl Berry <karl@freefriends.org>
  474. Automake docs: fix typos and use of British English
  475. * doc/automake.texi: Here.
  476. 2014-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  477. Expose automake bug#19311
  478. AC_PROG_CC called before AC_CONFIG_AUX_DIR can silently force wrong
  479. $ac_aux_dir definition.
  480. * t/auxdir-pr19311.sh: New.
  481. * t/list-of-tests.mk: Add it as an XFAIL test.
  482. 2014-12-17 Paul Eggert <eggert@cs.ucla.edu>
  483. build: fix race in parallel builds
  484. Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
  485. * lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
  486. temporary file name. Use a similar temporary in the source dir.
  487. 2014-08-23 Paul Eggert <eggert@cs.ucla.edu>
  488. build: fix race in parallel builds
  489. Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
  490. * lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
  491. temporary file name. Use a similar temporary in the source dir.
  492. 2014-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  493. init: ensure $ac_aux_dir is defined before being used
  494. Since we use '$ac_aux_dir' to define '$am_aux_dir', we need
  495. to ensure the former has been initialized before we try to
  496. define the latter, otherwise the definition:
  497. am_aux_dir=`cd $ac_aux_dir && pwd`
  498. will set '$am_aux_dir' to '$HOME', likely causing weird and
  499. unexpected behaviours.
  500. This change fixes automake bug#15981.
  501. * m4/auxdir.m4 (AM_AUX_DIR_EXPAND): AC_REQUIRE expansion
  502. of 'AC_CONFIG_AUX_DIR_DEFAULT'. Fix redundant comment and
  503. AC_PREREQ, add extra quoting around '$ac_aux_dir'.
  504. * t/auxdir-pr15981.sh: New test.
  505. * t/auxdir-cc-pr15981.sh: Likewise.
  506. * t/list-of-tests.mk (handwritten_TESTS): Add them.
  507. * THANKS, NEWS: Update.
  508. * bin/automake.in: Fix a harmless typo in comments, that
  509. I happened to notice while writing this patch.
  510. 2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  511. plans: enabling subdir-object by default is blocked on bug#13928
  512. 2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  513. maint: update copyright years
  514. We've been in 2014 already for few months now...
  515. 2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  516. maint: sync files from upstream ("make fetch")
  517. 2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  518. Typofixes in warning messages and manual
  519. Fixes automake bug#16827 and bug#16997.
  520. 2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  521. Merge branch 'micro' into minor
  522. * micro:
  523. doc: fix encoding error with UTF-8 characters
  524. 2014-01-04 Paul Eggert <eggert@cs.ucla.edu>
  525. doc: fix encoding error with UTF-8 characters
  526. * doc/automake.texi: Specify @documentencoding and
  527. @documentlanguage, to prevent encoding errors for parts of this
  528. input file that are UTF-8. This also causes the .info output to
  529. use curly quotes, which is easier to read though it does assume
  530. UTF-8 support.
  531. 2013-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  532. NEWS: a typofix, and better word wrapping
  533. 2013-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  534. parallel-tests: avoid possible implicit "make all" in test-suite.log rule
  535. This change fixes automake bug#16302.
  536. * lib/am/check.am ($(TEST_SUITE_LOG)): Avoid running "make $redo_logs"
  537. when $redo_logs expands to empty, since in that case we are actually
  538. ending up invoking a full "make all". That shouldn't be required, and
  539. can cause slowdowns for people implementing their extra "laziness
  540. wrappers" around check-TESTS (automake bug#16302).
  541. * NEWS: Update.
  542. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  543. Allow user to extend .PRECIOUS target
  544. References:
  545. <http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html>
  546. <http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html>
  547. * bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way
  548. we do for '.PHONY' and '.MAKE'.
  549. * lib/Automake/Rule.pm: Likewise.
  550. * t/precious.sh: New test.
  551. * t/list-of-tests.mk: Add it.
  552. * t/phony.sh: Enhance a little while at it.
  553. * NEWS: Update.
  554. * THANKS: Likewise.
  555. Reported-by: Holger Hans Peter Freyther <holger@freyther.de>
  556. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  557. cosmetics: remove a couple of extra trailing white spaces
  558. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  559. tests: fix a spurious failure on Mac OS X
  560. This change fixes bug#14706.
  561. * lib/depcomp2.sh: Also cater to spurious diagnostic from GNU rm,
  562. not only from Apple's rm.
  563. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  564. docs: make clear the JAVA primary is frozen
  565. * doc/automake.texi: Here. The JAVA primary is broken in several ways,
  566. and will no longer be developed, not even for bug fixes.
  567. See also automake bugs #9088, #8662 and #8540.
  568. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  569. Merge branch 'install-sh-improvements' into minor
  570. * install-sh-improvements:
  571. install-sh: a slightly better diagnostic, and tests enhancements
  572. install-sh: be stricter in catching invalid usages
  573. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  574. install-sh: a slightly better diagnostic, and tests enhancements
  575. * lib/install-sh: When called with no non-option arguments and the '-t'
  576. option with an argument that is not an existing directory, have the
  577. diagnostic output complain about the lack of required arguments rather
  578. than about the bad argument passed to '-t'.
  579. * t/install-sh-unittests.sh: Enhance to also check diagnostic printed
  580. in cases of expected failure.
  581. 2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  582. install-sh: be stricter in catching invalid usages
  583. Such usages (which are rejected by GNU install as well) are:
  584. - options -d and -t used together;
  585. - argument passed to option -t must be a directory;
  586. - if there are two or more SOURCEFILE arguments, the
  587. DESTINATION argument must be a directory.
  588. Note that we still allow the use of options -d and -T together, by
  589. making -d take the precedence; this is for compatibility with GNU
  590. install.
  591. This change fixes, among other things, automake bug#15376.
  592. * lib/install-sh: Adjust.
  593. * t/install-sh-unittests.sh: Enhance.
  594. * NEWS: Update.
  595. * THANKS: Add reporter of bug#15376.
  596. Helped-by: Tobias Hansen <thansen@debian.org>
  597. 2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  598. tests: more significant names for some tests
  599. * t/insh2.sh: Rename...
  600. * t/dist-install-sh.sh: ... like this.
  601. * t/instsh.sh: Rename...
  602. * t/add-missing-install-sh.sh: ... like this.
  603. * t/instsh2.sh: Rename...
  604. * t/install-sh-unittests.sh: ... like this.
  605. * t/instsh3.sh: Rename...
  606. * t/install-sh-option-C.sh: ... like this.
  607. * t/list-of-tests.mk: Adjust.
  608. 2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  609. tests: some cosmetic fixes
  610. * t/instdat.sh: Here.
  611. * t/instdat2.sh: And here.
  612. * t/instsh.sh: And here.
  613. * t/instsh3.sh: And here.
  614. 2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  615. tests: more significant names for a test
  616. * t/install2.sh: Rename...
  617. * t/dist-with-unreadable-makefile-fails.sh: ... like this.
  618. * t/list-of-tests.mk: Adjust.
  619. 2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  620. Merge branches 'fix-pr11814' and 'drop-perl-tap-driver' into minor
  621. * fix-pr11814:
  622. docs: drop a few obsolescent FIXME/TODO comments, and associated text
  623. testsuite harness: report test exit status in log file
  624. * drop-perl-tap-driver:
  625. TAP driver: remove perl implementation (move it into contrib/)
  626. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  627. docs: drop a few obsolescent FIXME/TODO comments, and associated text
  628. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  629. testsuite harness: report test exit status in log file
  630. The exit status of a test should be reported in the test logs, so
  631. that one can see at a glance whether the test has succeeded or failed,
  632. without having to look also into the corresponding .trs file.
  633. This fixes automake bug#11814.
  634. * lib/test-driver: Also report the test script exit status in the
  635. test log (as the last line).
  636. * t/check-exit-status-reported.sh: Test this new behaviour.
  637. * t/list-of-tests.mk: Add the new test.
  638. * t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status;
  639. this has been made redundant by the change to 'test-driver'. While at
  640. it, fix an imperfect quoting.
  641. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  642. TAP driver: no need to invoke AC_PROG_AWK directly
  643. It is already required by AM_INIT_AUTOMAKE anyway.
  644. * doc/automake.texi: Adjust examples.
  645. * t/tap-doc2.sh: Adjust documentation-tracking test.
  646. * m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly tell that the AC_PROG_AWK
  647. requirement is also needed whenever the TAP driver is used.
  648. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  649. TAP driver: remove perl implementation (move it into contrib/)
  650. That implementation was only meant as a standard against which the
  651. portable awk+shell implementation was to be measured. Now, since
  652. Automake 1.12, the latter implementation is fully functional and
  653. already used in the wild, and in fact feature-par with the perl
  654. implementation. So the perl implementation is now just slowing
  655. down and complicating our testsuite. Let's move it to 'contrib/'
  656. (we don't want to remove it, in case someone is actually using it
  657. in the wild).
  658. * lib/tap-driver.pl: Move it ...
  659. * contrib/tap-driver.pl: ... here. While at it, convert quoting
  660. `like this' to quoting 'like this', and remove an obsolescent FIXME
  661. comment.
  662. * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'.
  663. * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'.
  664. * doc/automake.texi: Remove one stray reference to 'tap-driver.pl',
  665. and reference 'tap-driver.sh' instead, as intended.
  666. * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and
  667. uses.
  668. (fetch_tap_driver): Simplify to unconditionally assume the shell+awk
  669. implementation of the TAP driver is used.
  670. (get_shell_script): Make more flexible so that it can cater to the
  671. needs of 'fetch_tap_driver()'.
  672. * t/tap-bad-prog.tap: Likewise.
  673. * t/tap-bailout-leading-space.sh: Likewise.
  674. * t/tap-signal.tap: Likewise.
  675. * t/tap-test-number-0.sh: Likewise.
  676. * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'.
  677. * gen-testsuite-part (%test_generators): Do not generate sister tests
  678. that use the perl TAP driver rather than the shell+awk one.
  679. * NEWS: Update.
  680. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  681. NEWS: stop reporting "new" Automake versioning scheme
  682. It's actually old news by now.
  683. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  684. Merge branch 'micro' into minor
  685. * micro:
  686. post-release: micro version bump to 1.14.1a devel version
  687. release: stable micro release 1.14.1
  688. HACKING: minor clarification
  689. tests: make install-info-dir.sh print more debugging info
  690. tests: remove too-brittle test tap-realtime.sh
  691. maintainer: am-ft: add option to cater to clock skews
  692. sync: update INSTALL, config.guess and config.sub from upstream
  693. TAP driver: cosmetic fixes
  694. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  695. post-release: micro version bump to 1.14.1a devel version
  696. * configure.ac (AC_INIT): Bump version number to 1.14.1a.
  697. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  698. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  699. release: stable micro release 1.14.1
  700. * configure.ac (AC_INIT): Bump version number to 1.14.1.
  701. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  702. 2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  703. HACKING: minor clarification
  704. 2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  705. tests: make install-info-dir.sh print more debugging info
  706. With the hope that this will shed more light on bug#14601
  707. 2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  708. tests: remove too-brittle test tap-realtime.sh
  709. * t/tap-realtime.sh: Delete. It has always been brittle, but now
  710. it's also causing spurious failures when mawk is used as the awk
  711. implementation in tap-driver.sh (see bug#14601).
  712. * t/list-of-tests.mk: Adjust.
  713. 2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  714. maintainer: am-ft: add option to cater to clock skews
  715. * maintainer/am-ft: Add option '-S', giving a number of seconds to sleep
  716. after copying the tarball to the remote system and before unpacking,
  717. building and testing it. This is to cater to situations where the clock
  718. of the remote system is skewed (in the past) w.r.t. the clock the local
  719. system the tarball has been built on.
  720. 2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  721. sync: update INSTALL, config.guess and config.sub from upstream
  722. 2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  723. TAP driver: cosmetic fixes
  724. * lib/tap-driver.sh: Quote 'like this', not `like this'. Remove an
  725. obsolete FIXME. Correctly mark another comment as a TODO rather
  726. than as a FIXME.
  727. 2013-11-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  728. Merge branch 'modernize-install-sh' into minor
  729. * modernize-install-sh:
  730. cosmetics: untabify the install-sh script
  731. install-sh: assume that "set -f" and "set +f" work...
  732. install-sh: assume ${var:-value} works as expected
  733. install-sh: assume 'dirname' is available and working correctly
  734. 2013-11-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  735. Merge branch 'micro' into minor
  736. * micro:
  737. cosmetics: fix typo in a user-facing message in tests
  738. automake: account for perl hash order randomization
  739. tests: avoid use of intervals to capitalize letters
  740. distcheck: don't allow overriding of --prefix and --srcdir by the user
  741. tests: expose bug#14991 (relates to 'distcheck')
  742. 2013-11-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  743. cosmetics: fix typo in a user-facing message in tests
  744. * t/lex-header.sh: A "skip" message in this test, precisely.
  745. 2013-11-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  746. Merge branches 'fix-pr14991' and 'fix-pr14891' into micro
  747. * fix-pr14991:
  748. distcheck: don't allow overriding of --prefix and --srcdir by the user
  749. tests: expose bug#14991 (relates to 'distcheck')
  750. * fix-pr14891:
  751. automake: account for perl hash order randomization
  752. tests: avoid use of intervals to capitalize letters
  753. 2013-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  754. automake: account for perl hash order randomization
  755. Try to explicitly order the keys of some perl hashes when looping
  756. on them to do sanity/correctness checks and possibly display warning
  757. messages; this should ensure a more reproducible output. Not really
  758. a big deal, but I prefer to keep the order of such output reproducible
  759. if possible.
  760. Issue revealed by spurious testsuite failures with perl 5.18, as
  761. reported in automake bug#14891. See also:
  762. <http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
  763. <http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
  764. * lib/Automake/Variable.pm (variables): Explicitly order the values of
  765. the returned Automake::Variable instances.
  766. (variables_dump): Simplify, using the knowledge that 'variables()' now
  767. sorts its output.
  768. * t/preproc-errmsg.sh: Adjust.
  769. 2013-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  770. tests: avoid use of intervals to capitalize letters
  771. It was causing spurious failures with with Solaris 8 'tr'.
  772. See automake bug#14891.
  773. * t/test-extensions.sh: Adjust.
  774. 2013-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  775. cosmetics: untabify the install-sh script
  776. * lib/install-sh: Here, plus a couple of related formatting tweaks.
  777. 2013-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  778. install-sh: assume that "set -f" and "set +f" work...
  779. ... and disable/enable shell globbing, respectively. This is
  780. mandated by POSIX, and supported even by Solaris 9 /bin/sh (one
  781. of the most braindead shells we still support).
  782. * lib/install.sh: Adjust.
  783. * NEWS: Update.
  784. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  785. install-sh: assume ${var:-value} works as expected
  786. The Autoconf manual says it is OK these days.
  787. * lib/install.sh: Adjust.
  788. * NEWS: Update.
  789. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  790. install-sh: assume 'dirname' is available and working correctly
  791. Really, we no longer care about hosts so outdated/broken to miss
  792. fundamental utilities like basename or dirname.
  793. * lib/install.sh: Adjust.
  794. * NEWS, THANKS: Update.
  795. Suggested-by: Philipp A. Hartmann <philipp.hartmann@offis.de>
  796. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  797. distcheck: don't allow overriding of --prefix and --srcdir by the user
  798. Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS. Apparently,
  799. some packages got in the habit of relaying all the options passed to the
  800. original ./configure invocation through to the configure invocations
  801. in "make distcheck". This was causing problems, because it also passed
  802. through the original --srcdir and --prefix options.
  803. Fixes: expose bug#14991 (relates to 'distcheck')
  804. * lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and
  805. --prefix options *after* both the developer-defined options in
  806. $(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS).
  807. * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test
  808. 'distcheck-no-destdist-or-srcdir-override.sh'.
  809. * doc/automake.texi (Checking the Distribution): Update.
  810. * NEWS: Likewise.
  811. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  812. tests: expose bug#14991 (relates to 'distcheck')
  813. * t/distcheck-no-prefix-or-srcdir-override.sh: New, expose the bug.
  814. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
  815. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  816. Merge branch 'micro' into minor
  817. * micro:
  818. tests: fix spurious failure when zip is present but unzip is not
  819. tests: fix spurious failure due to localization issues
  820. NEWS: update with the changes since v1.14
  821. docs: correct typos in the fix-timestamp.sh script
  822. python: byte-compile nobase_*_PYTHON files only once
  823. cosmetics: typofix in the 'missing' script
  824. test: avoid false positives in 'cc-no-c-o' script
  825. test harness: improve catching of usage errors in script 'test-driver'
  826. tests: fix a spurious failure on NetBSD-current
  827. am-ft: make the environment available earlier
  828. NEWS: post-release tweaks (for 1.14.x series)
  829. tests: avoid a spurious failure on MacOS X 10.6.8
  830. tests: don't risk hanging on the 'cl' requirement
  831. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  832. tests: fix spurious failure when zip is present but unzip is not
  833. Fixes automake bug#15181.
  834. * t/dist-formats.tap (have_compressor): When checking that zip(1), also
  835. check for unzip(1), otherwise "make distcheck" will be unable to extract
  836. the zip tarball it creates, which will cause spurious failures. While
  837. at it, reorganize the existing code a bit.
  838. * THANKS, NEWS: Update.
  839. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  840. tests: fix spurious failure due to localization issues
  841. Fixes automake bug#15237.
  842. * t/autohdr-subdir-pr12495.sh: Ensure make is run in the C locale, so that
  843. we can expect error messages in English when grepping its output.
  844. * THANKS, NEWS: Update.
  845. 2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  846. NEWS: update with the changes since v1.14
  847. 2013-10-29 Peter Breitenlohner <peb@mppmu.mpg.de> (tiny change)
  848. docs: correct typos in the fix-timestamp.sh script
  849. * doc/automake.texi: Here. The original version of this example script
  850. makes no sense at all, using 'configure' instead of the intended 'touch'
  851. in few key places.
  852. 2013-10-28 Benoit Sigoure <tsunanet@gmail.com> (tiny change)
  853. python: byte-compile nobase_*_PYTHON files only once
  854. * lib/am/python.am: Here. Byte-compiling was occurring inside of
  855. a loop, causing an O(n^2) number of byte-compilations instead of
  856. O(n).
  857. 2013-10-28 Václav Zeman <vhaisman@gmail.com> (tiny change)
  858. cosmetics: typofix in the 'missing' script
  859. * lib/missing: Here, in a message printed to the user.
  860. * THANKS: Update.
  861. 2013-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  862. Merge branch 'fix-pr14911' into micro
  863. * fix-pr14911:
  864. test: avoid false positives in 'cc-no-c-o' script
  865. 2013-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  866. Merge branch 'fix-half-pr14760' into micro
  867. * fix-half-pr14760:
  868. tests: fix a spurious failure on NetBSD-current
  869. 2013-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  870. test: avoid false positives in 'cc-no-c-o' script
  871. Fixes automake bug#14911.
  872. * t/ax/cc-no-c-o.in: Be more careful in determining whether both the
  873. '-c' and '-o' options have been passed on the command line to the
  874. compiler. In particular, do not spuriously complain in the face of
  875. options like '-compatibility_version' or '-current_version' (seen on
  876. Mac OS X 10.7).
  877. * THANKS: Update.
  878. 2013-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  879. test harness: improve catching of usage errors in script 'test-driver'
  880. Fixes automake bug#14840.
  881. * lib/test-driver: Catch and report usage errors where the caller has
  882. forgotten to specify one of the mandatory options (--test-name,
  883. --log-file, --trs-file) or has not passed any non-option argument.
  884. Also, be sure to work correctly even when no '--' special argument
  885. is passed to separate option from non-options arguments.
  886. * THANKS: Update.
  887. 2013-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  888. tests: fix a spurious failure on NetBSD-current
  889. Reported in automake bug#14760.
  890. * tests/silent-custom.sh: Be prepared to handle creative
  891. quoting in the output of the shell run for the make recipes
  892. when the shell traces are active ("set -x").
  893. 2013-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  894. am-ft: make the environment available earlier
  895. So that, with a PATH that is updated earlier, we can find the 'xz'
  896. program even on systems where it isn't in the default PATH.
  897. * maintainer/am-ft: Adjust accordingly.
  898. 2013-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  899. NEWS: post-release tweaks (for 1.14.x series)
  900. 2013-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  901. tests: avoid a spurious failure on MacOS X 10.6.8
  902. Fixes automake bug#14706.
  903. * t/depcomp2.sh: Strip, from the redirected ./configure stderr, the
  904. possible error message "rm: conftest.dSYM: is a directory", generated
  905. by cleanup code that doesn't cater to the existence of *.dSYM
  906. directories sometimes created by the compiler on MacOS X. This
  907. "massaging" of ./configure stderr is legitimate, since the spurious
  908. error message is due not to automake-related code, but to a know
  909. buglet/limitation of either Autoconf or Mac OS X bundles gcc:
  910. <http://lists.gnu.org/archive/html/bug-autoconf/2007-11/msg00017.html>
  911. Actually, from that link it appears that the original Autoconf issue
  912. had been fixed, but it must have been re-introduced in the meantime :-(
  913. 2013-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  914. tests: don't risk hanging on the 'cl' requirement
  915. On the GNU/Linux boxes of some users that run our testsuite there
  916. is a '/usr/local/bin/cl' executable, from the IRAF package:
  917. <http://iraf.noao.edu/>
  918. The test 'compile4.sh' (and other tests) try to invoke the 'cl'
  919. command to check whether it's a Microsoft compiler; the IRAF cl
  920. is an interactive program, so it hangs on such invocation. In
  921. conclusion, the testsuite hangs for those users which have the
  922. IRAF cl early in PATH.
  923. Fix the issue by redirecting the input of cl from /dev/null when
  924. invoking it, which is enough to prevent the cl program from IRAF
  925. from hanging, and should have no effect on the behaviour of the
  926. Microsoft compiler.
  927. This change fixes automake bug#14707.
  928. * t/ax/am-test-lib.sh (require_tool): Adjust the handling of
  929. the 'cl' requirement.
  930. 2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  931. Merge branch 'micro' into minor
  932. * micro:
  933. post-release: micro version bump (1.14.0a)
  934. 2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  935. post-release: micro version bump (1.14a)
  936. * configure.ac: Bump version: 1.14 -> 1.14a
  937. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  938. 2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  939. post-release: micro version bump (1.14.0a)
  940. * configure.ac: Bump version: 1.14 -> 1.14.0a
  941. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  942. 2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  943. Merge branch 'maint' into micro
  944. * maint:
  945. release: stable minor release 1.14
  946. NEWS: one more minor fixlet
  947. maint: port check-minimal-autoconf to VPATH builds
  948. tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
  949. tests: simplify checks for some expected variables values in Makefiles
  950. NEWS: improve and update wording
  951. tests: fix/improve few heading comments
  952. coverage: new test on Texinfo @include support
  953. tests: tighten a grepping check
  954. tests: more significant names for some tests
  955. rename-tests: rework some code for clarity and safety
  956. tests: cosmetic changes in t/extra-sources.sh
  957. rename-tests: inform the user about the pre-filled commit msg
  958. typofix: in comments in 'maintainer/rename-tests'
  959. rename-tests: also "git add" list-of-tests.mk
  960. tests: rename t/exsource.sh -> t/extra-sources.sh
  961. tests: some improvements to Gettext tests
  962. maint: version bump after beta release 1.13b
  963. release: beta release 1.13b (will become 1.14)
  964. automake: assume we can always pass '-o' to the C compiler
  965. NEWS: fix typo
  966. NEWS: on assuming "rm -f" without arguments work
  967. docs: AM_PROG_CC_C_O: correct imprecise statements about it
  968. NEWS: document deprecation of 'shar' and 'compress' dist formats
  969. m4: rename minuso.m4 -> prog-cc-c-o.m4
  970. tests: some tests make no sense if "$CC -c -o" doesn't work
  971. AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
  972. compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
  973. tests: avoid few lingering $MAKE redirections
  974. tests: fix a spurious failure on NetBSD 5.1
  975. texi: build version.texi and stamp-vti in srcdir
  976. tests: fix a botched heading comment
  977. tests: fix another spurious with FreeBSD make
  978. tests: fix a spurious failure with FreeBSD make
  979. tests: remove remaining exec bits ('maint' branch)
  980. PLANS: subdir-objects: various updates
  981. THANKS: update Akim's e-mail address
  982. tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
  983. build: be more respectful of user-specified verbosity
  984. check-cc-no-c-o: unify initializations in a single place
  985. check-cc-no-c-o: avoid a spurious failure
  986. build: fixup for building in a VPATH setup
  987. Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
  988. compile: avoid AC_PROG_CC messy rewrite
  989. options: tiny simplification in dealing with incompatible versions
  990. options: try to report as much errors as possible
  991. refactor: fix few "inverted boolean" usages
  992. options: better name for an internal function
  993. options: more consistency in use of return statuses to report errors
  994. options: tiny simplification in dealing with erroneous opts
  995. options: consistently use return statuses to report errors
  996. options: re-enable some sanity checks
  997. THANKS: update Eric Blake's e-mail address
  998. NEWS: typofix
  999. news: document new 'subdir-objects' warning
  1000. PLANS: one minor fixlet (mostly cosmetic)
  1001. PLANS: we have already dropped support for split info files in master
  1002. NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
  1003. PLANS: fix reference to non-existent 'next' branch
  1004. PLANS: fix botched version reference
  1005. maintcheck: fix two references to old location of aclocal and automake
  1006. dist: deprecated shar and tar+compress formats
  1007. am: prefer a shorter idiom where possible
  1008. maint: re-run "make update-copyright" ...
  1009. tests: avoid spurious failure with older flex (2.5.4)
  1010. build: move automake and aclocal in 'bin' subdir
  1011. build: break up monolithic Makefile.am in subdir-specific fragments
  1012. maint branch: we are going to become Automake 1.14
  1013. tests: typofixes in comments in t/preproc-c-compile.sh
  1014. tests: remove bashism from a test
  1015. tests: rename some with more descriptive names
  1016. typofix: in comments in t/extra2.sh
  1017. tests: fix botched cross-reference in a heading comment
  1018. automake: refactoring: factor out common cpp-like flags
  1019. NEWS (mint): reflect new Automake versioning scheme
  1020. maintcheck: avoid spurious failure
  1021. perl: perl subroutine prototypes are problematic, don't use them
  1022. maint: more adjustments to the new versioning scheme
  1023. cosmetics: fix some "docstring-like" comments in automake
  1024. style: call perl functions 'like_this()', not '&like_this()'
  1025. preproc: enhance and extend tests
  1026. preproc: add support for relative names in included fragments
  1027. maint: use more perl subroutines prototypes in the automake script
  1028. build: auto-generate perl subroutines prototypes for automake and aclocal
  1029. refactor: rip module Automake::Language out of automake script
  1030. tests: more information about Lex and Yacc programs
  1031. lint: fix spurious failure for 'sc_rm_minus_f' syntax check
  1032. maint: bump version 1.13.1a -> 1.13.2a
  1033. plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
  1034. init.m4: add probe to check "rm -f" without args work
  1035. subdir-objects: complain if it isn't enabled
  1036. plans: update w.r.t. latest changes
  1037. ywrap: remove an obsolete FIXME comment
  1038. ywrap: style fixes (no semantic change intended)
  1039. convenience: "make lint" as an alias for "make maintainer-check"
  1040. docs: typofix in manual
  1041. coverage: using multiple lexers in a single program
  1042. tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
  1043. coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
  1044. INSTALL: update copyright years
  1045. ithreads: use runtime (not configure time) detection of perl threads
  1046. copyright: add few missing copyright notices
  1047. maint: files in PLANS are to be exempted from copyright notice
  1048. maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
  1049. copyright: update some copyright years
  1050. compile: use 'compile' script when "-c -o" is used with losing compilers
  1051. HACKING: suggest more checks before releasing
  1052. tests: can fake a compiler not grasping "-c -o" -- globally in all tests
  1053. sync: update files from upstream with "make fetch"
  1054. typofix: in comments in GNUmakefile
  1055. Rename 'maint/' -> 'maintainer/', for Git's sake
  1056. HACKING: minor typofix
  1057. HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
  1058. HACKING: rewindable branches should live in the 'experimental/*' namespace
  1059. HACKING: fixlets about git branch rewinding policy
  1060. HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
  1061. HACKING: "detailed explanation" in commit messages is almost mandatory
  1062. HACKING: we use "merge --log" even when merging master
  1063. HACKING: typofix
  1064. depend2.am: fix comments on verbosity of compilation rules
  1065. depend2.am: improve comments a little
  1066. plans: automake 1.14 is to assume "rm -f" with no args is OK
  1067. plans: we want to active subdir-objects unconditionally in automake 1.14
  1068. tests: adjust stale references to old test names
  1069. tests: rename the last aclocal test with dumb name
  1070. tests: fix an old botched change to an aclocal test
  1071. tests: fix some botched inter-test references in heading comments
  1072. coverage: compile rules used "-c -o" also with losing compilers
  1073. texi: remove extra verbosity in creation of dirstamp directory
  1074. coverage: user can avoid distributing '.info' pages
  1075. plans: add some on-going plans (already registered on the bug tracker)
  1076. docs: mention dist-hook help for EXTRA_DIST
  1077. texi: remove workaround for older Texinfo (4.1)
  1078. NEWS: improve wordings in entry deprecating suffix-less info files
  1079. build: don't enable 'color-tests' automake option explicitly
  1080. build: enable all warnings as fatal in our own build system
  1081. texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
  1082. tests: make two new test executable
  1083. runtest: better command line API
  1084. tests: move runtest.in away from the top-lever directory
  1085. maint: move more maintainer files in the 'maint/' subdir
  1086. plans: add the "PLANS" directory
  1087. tests: more significant names for some tests
  1088. maint: add some of my maintainer-specific scripts
  1089. texi: deprecate hack about info files in CLEANFILES variables
  1090. texi: info files can be generated in the builddir
  1091. 2013-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  1092. release: stable minor release 1.14
  1093. * configure.ac (AC_INIT): Bump version number to 1.14.
  1094. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1095. 2013-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  1096. NEWS: one more minor fixlet
  1097. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1098. maint: port check-minimal-autoconf to VPATH builds
  1099. * maintainer/maint.mk (check-minimal-autoconf): Here.
  1100. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1101. tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
  1102. * t/ccnoc-deps.sh: Here.
  1103. * t/preproc-demo.sh: And here.
  1104. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1105. tests: simplify checks for some expected variables values in Makefiles
  1106. Do so by using our custom 'is' auxiliary script rather than grepping
  1107. the output from make. This is more natural, more robust, and often
  1108. shorter to write.
  1109. Unfortunately, we can't do that in all cases: sometimes we really need
  1110. to match the content of a variable against a regular expressions, and
  1111. we can't know nor are interested in its exact value.
  1112. This is basically a follow-up on commit v1.11-1830-g96401cb of
  1113. 2012-02-08 (tests: better way to compare lists in Makefile rules).
  1114. * t/subst-no-trailing-empty-line.sh: Adjust.
  1115. * t/pluseq10.sh: Likewise.
  1116. * t/check5.sh: Likewise, and enhance a little while at it.
  1117. * t/check7.sh: Likewise.
  1118. * t/exeext.sh: Likewise.
  1119. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1120. NEWS: improve and update wording
  1121. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1122. tests: fix/improve few heading comments
  1123. * t/lflags.sh: Here.
  1124. * t/lflags-cxx.sh: And here.
  1125. * t/yflags.sh: And here.
  1126. * t/yflags-cxx.sh: And here.
  1127. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1128. coverage: new test on Texinfo @include support
  1129. Backported from the Automake-NG testsuite.
  1130. * t/txinfo-include.sh: New test.
  1131. * t/list-of-tests.mk: Add it.
  1132. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1133. tests: tighten a grepping check
  1134. * t/yflags-force-override.sh: Here, by being sure to correctly
  1135. match an expected literal dot.
  1136. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1137. tests: more significant names for some tests
  1138. * t/extra2.sh: Rename...
  1139. * t/extra-sources-no-spurious.sh: ... like this.
  1140. * t/yflags2.sh: Rename...
  1141. * t/yflags-cxx.sh: ... like this.
  1142. * t/lflags2.sh: Rename...
  1143. * t/lflags-cxx.sh: ... like this.
  1144. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1145. rename-tests: rework some code for clarity and safety
  1146. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1147. tests: cosmetic changes in t/extra-sources.sh
  1148. * t/extra-sources.sh: Do not create unneeded C sources. Add
  1149. trailing ':' command.
  1150. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1151. rename-tests: inform the user about the pre-filled commit msg
  1152. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1153. typofix: in comments in 'maintainer/rename-tests'
  1154. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1155. rename-tests: also "git add" list-of-tests.mk
  1156. 2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  1157. tests: rename t/exsource.sh -> t/extra-sources.sh
  1158. * t/exsource.sh: Rename ...
  1159. * t/extra-sources.sh: ... like this.
  1160. * t/list-of-tests.mk: Adjust.
  1161. 2013-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  1162. Merge branch 'gettext-tests' into maint
  1163. * gettext-tests:
  1164. tests: some improvements to Gettext tests
  1165. 2013-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  1166. tests: some improvements to Gettext tests
  1167. Mostly to bring them more in sync with the ones in Automake-NG.
  1168. See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests:
  1169. reorganize gettext tests a bit) in Automake-NG.
  1170. * t/gettext.sh: Rename ...
  1171. * t/gettext-basics.sh: ... like this, enhance a little, and
  1172. move checks on requirement of 'config.rpath' out into ...
  1173. * t/gettext-config-rpath.sh: ... into this new test, and move
  1174. checks about PR/381...
  1175. * t/gettext-pr381.sh: ... into this new test.
  1176. * t/gettext2.sh: Rename ...
  1177. * t/gettext-external-pr338.sh: ... like this, and enhance a
  1178. little.
  1179. * t/gettext3.sh: Rename ...
  1180. * t/gettext-intl-subdir.sh: ... like this, and add trailing
  1181. ':' command.
  1182. 2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  1183. Merge branch 'micro' into maint
  1184. * micro:
  1185. post-release: micro version bump (1.13.4a)
  1186. release: stable micro release 1.13.4
  1187. sync: update config.guess
  1188. 2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  1189. post-release: micro version bump (1.13.4a)
  1190. * configure.ac: Bump version: 1.13.4 -> 1.13.4a
  1191. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1192. 2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  1193. release: stable micro release 1.13.4
  1194. * configure.ac (AC_INIT): Bump version number to 1.13.4.
  1195. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1196. 2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  1197. sync: update config.guess
  1198. * lib/config.guess: This. Actually, only the timestamp has been
  1199. updated (apparently, it was mistakenly not updated in the previous
  1200. real change to the script).
  1201. 2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  1202. Merge branch 'micro' into maint
  1203. * micro:
  1204. THANKS: update e-mall address for Ralf Corsepius
  1205. lang, suffix rules: don't require C stuff needlessly
  1206. tests: expose automake bug#14560
  1207. 2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  1208. Merge branch 'fix-pr14560' into micro
  1209. * fix-pr14560:
  1210. lang, suffix rules: don't require C stuff needlessly
  1211. tests: expose automake bug#14560
  1212. 2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  1213. THANKS: update e-mall address for Ralf Corsepius
  1214. 2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  1215. lang, suffix rules: don't require C stuff needlessly
  1216. This change fixes automake bug#14560: when two or more user-defined suffix
  1217. rules were present in a single Makefile.am, automake would needlessly
  1218. include definition of some make variables related to C compilation in the
  1219. generated Makefile.in.
  1220. * automake.in (handle_languages): Fix logic to decide whether or not to
  1221. include definitions of C compilation related variables in the generated
  1222. Makefile.in: instead of doing so when two or more user-defined suffix
  1223. rules are seen (which is a completely bogus criterion), do so when two
  1224. or more compiled languages are used.
  1225. * lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used.
  1226. (@EXPORT): Adjust.
  1227. * t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script
  1228. 'suffix-extra-c-stuff-pr14560.sh', which now passes.
  1229. * NEWS: Update.
  1230. 2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  1231. tests: expose automake bug#14560
  1232. Automake needlessly generates definition of make variables related
  1233. to C compilation when two or more user-defined suffix rules are
  1234. present in a single Makefile.am.
  1235. * t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug.
  1236. This test is still xfailing.
  1237. * t/no-extra-c-stuff.sh: New test, check for a potential related
  1238. regression. This regression is not actually present here (so this
  1239. test passes), but it still took place in our first attempt at
  1240. fixing bug#14560 -- so this test has proven to be actually useful.
  1241. * t/no-extra-makefile-code.sh: Improve comments, and tighten the
  1242. grepping checks a little.
  1243. * t/list-of-tests.mk (handwritten_TESTS): Add the new tests.
  1244. (XFAIL_TESTS): Add the new xfailing test.
  1245. 2013-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  1246. Merge branch 'micro' into maint
  1247. * micro:
  1248. maint: add a missing copyright notice
  1249. sync: update config.guess from upstream
  1250. tests: expose automake bug#13928
  1251. comments: fix some out-of-sync refs to test scripts
  1252. tests: expose automake bug#13940
  1253. 2013-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  1254. maint: add a missing copyright notice
  1255. * t/ax/deltree.pl: Here. Issue revealed by "make update-copyright".
  1256. 2013-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  1257. sync: update config.guess from upstream
  1258. * lib/config.guess: Here.
  1259. 2013-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  1260. tests: expose automake bug#13928
  1261. * t/subobj-indir-pr13928.sh: New test, still xfailing.
  1262. * t/subobj-vpath-pr13928.sh: Likewise.
  1263. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update.
  1264. 2013-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  1265. comments: fix some out-of-sync refs to test scripts
  1266. Those script has been renamed since those comments where written.
  1267. * lib/Automake/Rule.pm: Adjust.
  1268. * lib/am/distdir.am: Likewise.
  1269. 2013-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  1270. tests: expose automake bug#13940
  1271. * t/override-conditional-pr13940.sh: New test, still xfailing.
  1272. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it.
  1273. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1274. Merge branch 'micro' into maint
  1275. * micro:
  1276. configure: remove an obsolete TODO comment
  1277. post-release: micro version bump (1.13.3a)
  1278. release: stable micro release 1.13.3
  1279. typofix: fix grammaro in comments in t/tags-pr12372.sh
  1280. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1281. configure: remove an obsolete TODO comment
  1282. * configure.ac: Here.
  1283. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1284. post-release: micro version bump (1.13.3a)
  1285. * configure.ac: Bump version: 1.13.3 -> 1.13.3a
  1286. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1287. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1288. release: stable micro release 1.13.3
  1289. * configure.ac (AC_INIT): Bump version number to 1.13.3.
  1290. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1291. 2013-06-03 Peter Rosin <peda@lysator.liu.se>
  1292. typofix: fix grammaro in comments in t/tags-pr12372.sh
  1293. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1294. Merge branch 'micro' into maint
  1295. * micro:
  1296. NEWS: minor fixlets, re-wording, and better text wrapping
  1297. tests: slightly stricter checks in t/cxx-demo.sh
  1298. tests: fix spurious failure when 'etags' program is Exuberant Ctags
  1299. tests: fix spurious failure due to missing sleeps
  1300. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1301. NEWS: minor fixlets, re-wording, and better text wrapping
  1302. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1303. tests: slightly stricter checks in t/cxx-demo.sh
  1304. This is a follow-up to the commit fixing automake bug#14493.
  1305. * t/cxx-demo.sh: Also check that the built program returns the
  1306. correct (i.e., zero) exit status when run. And improve comments
  1307. a little while at it.
  1308. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1309. tests: fix spurious failure when 'etags' program is Exuberant Ctags
  1310. Fixes automake bug#14517.
  1311. * t/tags-pr12372.sh: If the 'etags' program in use supports the
  1312. '--langmap' option, use it. That is required to avoid spurious
  1313. failures with Exuberant Ctags (at least version 5.8), which by
  1314. default do not generate any tags for file extensions it doesn't
  1315. recognize.
  1316. 2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  1317. tests: fix spurious failure due to missing sleeps
  1318. Fixes automake bug#14528.
  1319. * THANKS: Give credit to that bug's original reporter.
  1320. * t/remake-configure-dependencies.sh: Add few missing '$sleep'
  1321. invocations. I thought that the sleeps implicit in the configure
  1322. invocation were enough, but they were not, actually. Here is what
  1323. can happen:
  1324. 1. The config.status script is generated by a configure run.
  1325. 2. ./config.status and make are run.
  1326. 3. The 'print-version' script is modified.
  1327. 4. Since that script is listed in $(CONFIGURE_DEPENDENCIES),
  1328. autoconf is re-run.
  1329. 5. On a fast-enough machine, the three steps 2-4 above, even
  1330. combined, might have taken less than a second to run;
  1331. 6. If the filesystem doesn't have a sub-second timestamp
  1332. resolution, that means the newly-generated configure has
  1333. the same timestamp of the old config.status;
  1334. 7. So, config.status is not re-run, and the Makefiles are
  1335. not updated.
  1336. 8. Spurious failure!
  1337. So we really need more explicit sleeps.
  1338. 2013-05-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  1339. maint: version bump after beta release 1.13b
  1340. * configure.ac (AC_INIT): Bump version number to 1.13c.
  1341. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1342. 2013-05-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  1343. release: beta release 1.13b (will become 1.14)
  1344. * configure.ac (AC_INIT): Bump version number to 1.13b.
  1345. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1346. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1347. Merge branch 'micro' into maint
  1348. * micro:
  1349. maint: support new Automake versioning scheme in tagging/uploading rules
  1350. announcement: can be generated from development snapshots as well
  1351. announcement: can be generated from development snapshots as well
  1352. announcement: be less strict in the paring of NEWS
  1353. maint: version bump after beta release 1.13.2b
  1354. release: beta release 1.13.2b (will become 1.13.3)
  1355. sync: update config.guess from upstream
  1356. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1357. maint: support new Automake versioning scheme in tagging/uploading rules
  1358. * maint.mk (base_version_rx: Drop.
  1359. (rx-0, rx-1): New.
  1360. (stable_major_version_rx, stable_minor_version_rx, beta_version_rx):
  1361. Update.
  1362. (stable_micro_version_rx, alpha_version_rx: New.
  1363. (determine_release_type): Adjust.
  1364. (web-manual-update): Likewise.
  1365. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1366. announcement: can be generated from development snapshots as well
  1367. And not only from checkouts corresponding exactly from a beta
  1368. or stable release. That was only getting in the way of proper
  1369. testing for the 'announcement' recipe.
  1370. * maint.mk (determine_release_type): If the make variable
  1371. DEVEL_SNAPSHOT is set, do not error out if the current version
  1372. denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
  1373. (announcement): Relax, by also accepting to run from development
  1374. snapshots, not only stable or beta releases. Do so by defining
  1375. the target-specific variable DEVEL_SNAPSHOT to "yes".
  1376. (print-release-type): Micro enhancement while at it.
  1377. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1378. announcement: can be generated from development snapshots as well
  1379. And not only from checkouts corresponding exactly from a beta
  1380. or stable release. That was only getting in the way of proper
  1381. testing for the 'announcement' recipe.
  1382. * maint.mk (determine_release_type): If the make variable
  1383. DEVEL_SNAPSHOT is set, do not error out if the current version
  1384. denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
  1385. (announcement): Relax, by also accepting to run from development
  1386. snapshots, not only stable or beta releases. Do so by defining
  1387. the target-specific variable DEVEL_SNAPSHOT to "yes".
  1388. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1389. announcement: be less strict in the paring of NEWS
  1390. So that the file generated by "make announcement" is correct also
  1391. for beta releases.
  1392. * maint.mk (announcement): Relax the awk program processing NEWS a
  1393. little.
  1394. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1395. maint: version bump after beta release 1.13.2b
  1396. * configure.ac (AC_INIT): Bump version number to 1.13.2c.
  1397. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
  1398. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1399. release: beta release 1.13.2b (will become 1.13.3)
  1400. * configure.ac (AC_INIT): Bump version number to 1.13.2b.
  1401. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  1402. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1403. sync: update config.guess from upstream
  1404. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1405. Merge branch 'micro' into maint
  1406. * micro:
  1407. NEWS: document recent testsuite fixes (MinGW/MSYS related)
  1408. depcomp: avoid trailing backslash in depfile for depmode=msvc7
  1409. tests: prune some weed in a non-POSIX test
  1410. tests: avoid a spurious failure on MSYS
  1411. 2013-05-30 Peter Rosin <peda@lysator.liu.se>
  1412. automake: assume we can always pass '-o' to the C compiler
  1413. It is assumed that we can pass -c -o to the C compiler, so remove
  1414. some special casing and always do that.
  1415. This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume
  1416. we can always pass '-o' to the C compiler"
  1417. This change also happen to fix a testsuite failure
  1418. (t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which
  1419. have different default object file extensions (.obj vs. .o). This
  1420. difference in object file extension is not handled well and caused
  1421. Automake to look for MSVC objects with .o extension. Always using -o
  1422. makes MSVC create .o object files and linking succeeds. Not that
  1423. anybody recommends mixing toolchains or anything.
  1424. * bin/automake.in (handle_languages): Remove conditional modification
  1425. of 'output_flag' entry for 'c'.
  1426. (register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'.
  1427. 2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  1428. NEWS: document recent testsuite fixes (MinGW/MSYS related)
  1429. 2013-05-30 Peter Rosin <peda@lysator.liu.se>
  1430. depcomp: avoid trailing backslash in depfile for depmode=msvc7
  1431. When compiling a file without any dependencies (no #includes), the
  1432. msvc7 depmode (and consequently msvc7msys) generates a depfile
  1433. Makefile fragment with the last line ending with a backslash. This
  1434. is less robust than needed.
  1435. Fixes automake bug#14501.
  1436. * lib/depcomp (msvc7): Finish off the depfile Makefile fragment with
  1437. an empty line.
  1438. (scriptversion): Update.
  1439. 2013-05-29 Peter Rosin <peda@lysator.liu.se>
  1440. Stefano Lattarini <stefano.lattarini@gmail.com>
  1441. tests: prune some weed in a non-POSIX test
  1442. Fixes automake bug#14494.
  1443. * t/distcheck-pr10470.sh: Make sure the test-driver is installed. Adjust
  1444. to run_make changes. Adjust grep pattern to match new output.
  1445. 2013-05-29 Peter Rosin <peda@lysator.liu.se>
  1446. tests: avoid a spurious failure on MSYS
  1447. Fixes automake bug#14493.
  1448. * t/cxx-demo.sh: Strip CR characters from the program output.
  1449. 2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  1450. Merge branch 'micro' into maint
  1451. * micro:
  1452. t/README: document "run_make", discourage "make -e"
  1453. cosmetics: tiny whitespace fixlets
  1454. tests: avoid a spurious failure with MSVC
  1455. tests: avoid a spurious failure on non-POSIX systems
  1456. 2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  1457. t/README: document "run_make", discourage "make -e"
  1458. 2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  1459. cosmetics: tiny whitespace fixlets
  1460. 2013-05-29 Peter Rosin <peda@lysator.liu.se>
  1461. tests: avoid a spurious failure with MSVC
  1462. Fixes automake bug#14498.
  1463. * t/yacc-bison-skeleton.sh: inline was not standardized prior to C99.
  1464. 2013-05-29 Peter Rosin <peda@lysator.liu.se>
  1465. tests: avoid a spurious failure on non-POSIX systems
  1466. Fixes automake bug#14495.
  1467. * t/lex-header.sh: Make sure unistd.h isn't included.
  1468. 2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  1469. Merge branch 'micro' into maint
  1470. * micro:
  1471. NEWS: fix typos and grammaros
  1472. NEWS: document fix for bug#14441
  1473. Automake::Rule: consistently prepend underscore to private variables
  1474. Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
  1475. Automake::Rule: adjust comments and POD according to previous changes
  1476. Automake::Rule: make private variables lexically scoped
  1477. suffix rules: better distinction between builtin and user-derived
  1478. Automake::Rule: expose suffix rules as a function, not a scalar
  1479. tests: expose automake bug#14441
  1480. 2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  1481. NEWS: fix typos and grammaros
  1482. Reported-by: Peter Rosin <peda@lysator.liu.se>
  1483. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1484. Merge branch 'suffix-rules-work' into micro
  1485. * suffix-rules-work:
  1486. NEWS: document fix for bug#14441
  1487. Automake::Rule: consistently prepend underscore to private variables
  1488. Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
  1489. Automake::Rule: adjust comments and POD according to previous changes
  1490. Automake::Rule: make private variables lexically scoped
  1491. suffix rules: better distinction between builtin and user-derived
  1492. Automake::Rule: expose suffix rules as a function, not a scalar
  1493. tests: expose automake bug#14441
  1494. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1495. NEWS: fix typo
  1496. Reported-by: Peter Rosin <peda@lysator.liu.se>
  1497. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1498. Merge branch 'micro' into maint
  1499. * micro:
  1500. NEWS: report recent documentation fix about AM_PROG_MKDIR_P
  1501. NEWS: Automake 2.0 will assume "rm -f" without args work
  1502. NEWS: fix a couple of typos in older entries
  1503. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1504. NEWS: report recent documentation fix about AM_PROG_MKDIR_P
  1505. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1506. NEWS: Automake 2.0 will assume "rm -f" without args work
  1507. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1508. NEWS: on assuming "rm -f" without arguments work
  1509. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1510. NEWS: fix a couple of typos in older entries
  1511. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1512. Merge branch 'micro' into maint
  1513. * micro:
  1514. docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
  1515. maint: sanity checks in 'check-minimal-autoconf' convenience target
  1516. maint: test minimal supported autoconf through convenience target
  1517. maint: install minimal supported autoconf through convenience targets
  1518. test-lib: typofix in comments
  1519. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1520. docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
  1521. See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint'
  1522. branch (as of commit v1.13.2-201-gd99e3f3) for details.
  1523. * doc/automake.texi: Adjust.
  1524. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1525. docs: AM_PROG_CC_C_O: correct imprecise statements about it
  1526. * doc/automake.texi: Here.
  1527. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1528. maint: sanity checks in 'check-minimal-autoconf' convenience target
  1529. * maint.mk (check-minimal-autoconf): Here, check that autoconf seems
  1530. to be locally installed, and that such local install refers to the
  1531. correct expected minimal version.
  1532. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1533. maint: test minimal supported autoconf through convenience target
  1534. * maint.mk (check-minimal-autoconf): New convenience target.
  1535. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1536. maint: install minimal supported autoconf through convenience targets
  1537. To make testing of Automake in conjunction with it easier and more
  1538. reproducible. It might be nice to also have convenience targets to
  1539. actually automatically run the Automake testsuite with such autoconf
  1540. version, but that is left to later patches.
  1541. * configure.ac: AC_SUBST the definition of $required_autoconf_version.
  1542. * maint.mk (WGET): Move definition earlier.
  1543. (gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables.
  1544. (fetch-minimal-autoconf, build-minimal-autoconf): New convenience
  1545. targets.
  1546. * .gitignore: Update.
  1547. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1548. NEWS: document fix for bug#14441
  1549. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1550. Automake::Rule: consistently prepend underscore to private variables
  1551. * lib/Automake/Rule.pm (%suffix_rules): Rename ...
  1552. (%_suffix_rules): ... like this.
  1553. (%suffix_rules_builtin): Rename ...
  1554. (%_suffix_rules_builtin): ... like this.
  1555. (reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count):
  1556. Adjust.
  1557. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1558. Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
  1559. * lib/Automake/Rule.pm (suffix_rule): Rename ...
  1560. (next_in_suffix_chain): ... like this.
  1561. (%suffix_rules): Adjust comments.
  1562. (@EXPORT): Adjust.
  1563. * automake.in (derive_suffix): Likewise.
  1564. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1565. Automake::Rule: adjust comments and POD according to previous changes
  1566. * lib/Automake/Rule.pm: Here, in several places.
  1567. * automake.in (register_language): And a tiny adjustment here as well.
  1568. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1569. Automake::Rule: make private variables lexically scoped
  1570. * lib/Automake/Rule.pm (@_known_extensions_list): This one.
  1571. (@_suffixes): And this one.
  1572. (%_rule_dict): And this one.
  1573. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1574. suffix rules: better distinction between builtin and user-derived
  1575. Fixes automake bug#14441.
  1576. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ...
  1577. (%suffix_rules_builtin): ... this lexical variable.
  1578. ($suffix_rules): Remove, superseded by ...
  1579. (%suffix_rules): ... this lexical variable.
  1580. (suffix_rules, suffix_rules_count): Adjust.
  1581. (register_suffix_rule): Update '%suffix_rules_builtin' rather than
  1582. '%suffix_rules' if the location (as passed by the '$where' argument)
  1583. is an "internal" one (doesn't come from user-provided Makefile.am).
  1584. (reset): Simplify resetting of '%suffix_rules' to the default ones
  1585. accordingly.
  1586. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'.
  1587. 2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  1588. Automake::Rule: expose suffix rules as a function, not a scalar
  1589. This is just a preparatory refactoring in view of future patches.
  1590. No semantic change is intended.
  1591. * lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level
  1592. variable to a lexical variable.
  1593. (suffix_rule): New function, expose the details of $suffix_rules
  1594. that are actually required by code outside thus modules --- and
  1595. only those details, no more.
  1596. (@EXPORT): Adjust.
  1597. * automake.in (derive_suffix): Likewise.
  1598. 2013-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  1599. tests: expose automake bug#14441
  1600. * t/suffix-custom-pr14441.sh: New test, still failing.
  1601. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
  1602. Helped-by: Felix Salfelder <felix@salfelder.org>
  1603. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1604. test-lib: typofix in comments
  1605. * t/ax/am-test-lib.sh: In here.
  1606. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1607. Merge branch 'micro' into maint
  1608. * micro:
  1609. tests: remove an "unworthy" FIXME comment
  1610. tests: remove one obsolete workaround for long-lifted limitations
  1611. tests: couple of minor tweaks in demo tests in C++ and Libtool
  1612. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1613. tests: remove an "unworthy" FIXME comment
  1614. * t/location.sh: Here.
  1615. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1616. tests: remove one obsolete workaround for long-lifted limitations
  1617. * t/silent-many-languages.sh: Here.
  1618. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1619. tests: couple of minor tweaks in demo tests in C++ and Libtool
  1620. * t/cxx-lt-demo.sh: Here.
  1621. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1622. Merge branch 'micro' into maint
  1623. * micro:
  1624. tests: adjust or remove some obsolete comments
  1625. tests: remove some useless 'unset' of variables
  1626. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1627. NEWS: document deprecation of 'shar' and 'compress' dist formats
  1628. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1629. Merge branch 'prog-cc-c-o-work' into maint
  1630. * prog-cc-c-o-work:
  1631. tests: some tests make no sense if "$CC -c -o" doesn't work
  1632. AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
  1633. compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
  1634. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1635. m4: rename minuso.m4 -> prog-cc-c-o.m4
  1636. The new name is much clearer.
  1637. * m4/minuso.m4: Rename ...
  1638. * m4/prog-cc-c-o.m4: ... like this.
  1639. * m4/Makefile.in (dist_automake_DATA): Adjust.
  1640. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1641. tests: adjust or remove some obsolete comments
  1642. * t/ax/am-test-lib.sh: Here.
  1643. * t/distcheck-configure-flags.sh: And here.
  1644. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1645. tests: remove some useless 'unset' of variables
  1646. They are redundant, now that we no longer call "make -e".
  1647. * t/javaflags.sh: Don't unset JAVAC.
  1648. * t/lflags.sh: Don't unset LEX.
  1649. * t/lflags2.sh: Likewise.
  1650. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1651. Merge branch 'micro' into maint
  1652. * micro:
  1653. tests: avoid a couple of extra sleep with GNU make
  1654. NEWS: document testsuite work for 1.13.3
  1655. lint: remove a couple of obsolete syntax checks
  1656. lint: cosmetics: use #-comments, not ##-comments
  1657. lint: cosmetics: some reordering
  1658. lint: recipes of syntax check require GNU grep; ensure it is used
  1659. lint: better name for a syntax check
  1660. tests: rename $am_make_rc_got -> $am_make_rc
  1661. tests: ensure $required is not set too late
  1662. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1663. tests: avoid a couple of extra sleep with GNU make
  1664. They are only required by BSD make in order to avoid spurious failures.
  1665. * t/deleted-am.sh: Here.
  1666. * t/parallel-tests-recheck-pr11791.sh: And here.
  1667. 2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  1668. NEWS: document testsuite work for 1.13.3
  1669. 2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  1670. lint: remove a couple of obsolete syntax checks
  1671. * syntax-checks.mk (sc_obsolete_requirements_rules): Remove
  1672. definition of this variable.
  1673. (modern-requirement.texi2dvi-o): Likewise.
  1674. (modern-requirement.makeinfo-html): Likewise.
  1675. ($(sc_obsolete_requirements_rules)): Remove these obsolete
  1676. syntax checks.
  1677. 2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  1678. lint: cosmetics: use #-comments, not ##-comments
  1679. * syntax-checks.mk: Here. This makes sense because this file is
  1680. not meant to be processed by Automake, so the ##-comments are not
  1681. treated specially.
  1682. 2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  1683. lint: cosmetics: some reordering
  1684. * syntax-checks.mk: Here.
  1685. 2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  1686. lint: recipes of syntax check require GNU grep; ensure it is used
  1687. * syntax-checks.mk (sc_sanity_gnu_grep): New.
  1688. ($(syntax_check_rules)): Depend on it.
  1689. 2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  1690. lint: better name for a syntax check
  1691. * syntax-checks.mk (sc_tests_make_without_am_makeflags): Rename ...
  1692. (sc_make_without_am_makeflags): ... like this.
  1693. (syntax_check_rules): Adjust.
  1694. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1695. tests: rename $am_make_rc_got -> $am_make_rc
  1696. The latter is more natural More importantly, I keep misspelling
  1697. the former over and over.
  1698. * t/ax/am-test-lib.sh (run_make): Update.
  1699. * t/ax/tap-summary-aux.sh: Adjust.
  1700. * t/ax/testsuite-summary-checks.sh: Likewise.
  1701. * t/parallel-tests-exit-statuses.sh: Likewise.
  1702. * t/parallel-tests-extra-programs.sh: Likewise.
  1703. * t/parallel-tests-fd-redirect-exeext.sh: Likewise.
  1704. * t/parallel-tests-fd-redirect.sh: Likewise.
  1705. * t/parallel-tests-fork-bomb.sh: Likewise.
  1706. * t/parallel-tests-no-spurious-summary.sh: Likewise.
  1707. * t/parallel-tests-recheck-pr11791.sh: Likewise.
  1708. * t/parallel-tests-reset-term.sh: Likewise.
  1709. * t/tap-signal.tap: Likewise.
  1710. * t/test-driver-acsubst.sh: Likewise.
  1711. * t/test-driver-cond.sh: Likewise.
  1712. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1713. tests: some tests make no sense if "$CC -c -o" doesn't work
  1714. So just skip them, to avoid spurious failures when running
  1715. "make check-no-cc-c-o".
  1716. * t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'.
  1717. * t/subobj10.sh ($required): Add it.
  1718. * gen-testsuite-part (%depmodes): Adjust so that tests that
  1719. use 'makedepend' will be skipped if the compiler is being
  1720. forced not to grasp "-c -o".
  1721. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1722. AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
  1723. ** Theoretical problems of AC_PROG_CC_C_O:
  1724. Both cc and $CC are checked to see if they support the '-c' and '-o'
  1725. options together.
  1726. This behaviour is highly inconsistent with that of the other macros
  1727. related to C compiler checks -- which test only $CC.
  1728. It can also cause unwarranted uses of the 'compile' script on systems
  1729. where the default 'cc' is inferior, but the user is compiling with a
  1730. proper, different compiler (e.g., gcc).
  1731. ** Practical problems with our previous implementation of C support m4
  1732. macros in Automake:
  1733. - AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the
  1734. case before, and it turns out there are packages in the wild that
  1735. relied on the old behaviour.
  1736. - The cross-referenced requirements and macro rewrites juggled among
  1737. AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in
  1738. autoconf; for example, in our test 't/libobj3.sh', we could see
  1739. warnings like these (here slightly tweaked for legibility):
  1740. configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required
  1741. autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from...
  1742. autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from...
  1743. autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from...
  1744. autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
  1745. m4sugar/m4sh.m4:639: AS_IF is expanded from...
  1746. autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
  1747. autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
  1748. aclocal.m4:70: AM_PROG_AR is expanded from...
  1749. configure.ac:5: the top level
  1750. ** Fix all of that:
  1751. We fix all of the described issues with a new internal m4 macro
  1752. _AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that
  1753. gets tacked on to AC_PROG_CC automatically (this is done in the
  1754. Automake-generated aclocal.m4) and that takes care of checking and
  1755. adjusting '$CC' for "-c -o" support.
  1756. The macro AM_PROG_CC_C_O is still present, but is now just a thin
  1757. wrapper around such Automake-enhanced AC_PROG_CC.
  1758. It is worth noting that the present patch causes three slight
  1759. *backward-incompatibilities*:
  1760. 1. The name cache variable used by AM_PROG_CC_C_O is no longer
  1761. computed (at configure runtime!) from the content of '$CC',
  1762. but is statically defined as 'am_cv_prog_cc_c_o'.
  1763. 2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is.
  1764. 3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol
  1765. 'NO_MINUS_C_MINUS_O'.
  1766. Given however that the third change can easily be worked around, that
  1767. the first two changes can be legitimately seen as bug fixes, and that
  1768. the new semantics introduced by such changes will simplify the transition
  1769. to Automake 2.0 (when the 'subdir-objects' will always be enabled
  1770. unconditionally), we believe they are acceptable to be shipped with
  1771. Automake 1.14.
  1772. With this patch, we also revert some of the testsuite adjustments done
  1773. in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite
  1774. AC_PROG_CC with AM_PROG_CC_C_O contents). Such adjustments are no longer
  1775. needed.
  1776. * m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and
  1777. adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O
  1778. and our old implementation of AM_PROG_CC_C_O.
  1779. (AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC.
  1780. * m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O,
  1781. to the pre-existing expansion of this macro.
  1782. * m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after
  1783. AC_PROG_CC.
  1784. * t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB
  1785. and AM_PROG_AR invocations. Things should work this way too (as they
  1786. used to).
  1787. * t/subobj-clean-lt-pr10697.sh: Likewise.
  1788. * t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation.
  1789. * t/condlib.sh: Likewise.
  1790. * t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and
  1791. AM_PROG_AR invocations. Make autoconf and autoheader warnings fatal.
  1792. * t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a little,
  1793. and reduce code duplication.
  1794. * t/ccnoco.sh: Make autoconf warnings fatal.
  1795. * t/subpkg.sh: Likewise.
  1796. * t/ccnoco-lib.sh: Likewise, and fix a comment.
  1797. * t/link_cond.sh: Enhance a couple of error messages.
  1798. * configure.ac: Drop "nullification" of AM_PROG_CC_C_O.
  1799. * NEWS: Adjust.
  1800. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1801. compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
  1802. This is a much simpler rewrite than the one we attempted in the past,
  1803. and that was later removed by commit 'v1.13.1d-137-g32eb770' of
  1804. 2013-05-11 (compile: avoid AC_PROG_CC messy rewrite).
  1805. Not only this change simplifies the code a little, but has the welcome
  1806. collateral effect of making automatic dependency tracking work better
  1807. with compilers that doesn't grasp the '-c' and '-o' options together.
  1808. Issues in that setup have been caught by several failures in the target
  1809. 'check-no-cc-c-o'.
  1810. Unfortunately, this change has less welcome collateral effects:
  1811. 1. AM_PROG_AR must now be called *after* AC_PROG_CC;
  1812. 2. Autoconf emits extra warnings when used with Automake-generated
  1813. aclocal.m4.
  1814. These are unacceptable regressions for a release, but since we are
  1815. going to fix them soon enough in a follow-up patch (surely to be
  1816. applied before Automake 1.14 is released) we don't worry too much.
  1817. * m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke
  1818. AM_PROG_CC_C_O as well. Accordingly, drop now-unneeded "automagical"
  1819. AM_PROG_CC_C_O expansion at later time (which took place thanks to
  1820. a AC_CONFIG_COMMANDS_PRE call).
  1821. * m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body
  1822. of this macro takes place with C as "current Autoconf language" (use
  1823. AC_LANG_PUSH/AC_LANG_POP).
  1824. * m4/ar-lib.m4 (AM_PROG_AR): Likewise. Also, require this macro to
  1825. be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required,
  1826. has already taken place).
  1827. * t/add-missing.tap: Adjust to avoid spurious failures.
  1828. * t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after*
  1829. AC_PROG_CC.
  1830. * t/subobj-clean-lt-pr10697.sh: Likewise.
  1831. * t/alloca.sh: Likewise.
  1832. * t/condlib.sh: Likewise.
  1833. * t/discover.sh: Likewise.
  1834. * t/objc-megademo.sh: Likewise.
  1835. * t/ccnoco.sh: Extend a little.
  1836. * t/ccnoco-deps.sh: New test.
  1837. * t/ccnoco-lib.sh: Likewise.
  1838. * t/ccnoco-lt.sh: Likewise.
  1839. * t/list-of-tests.mk: Add them.
  1840. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1841. tests: ensure $required is not set too late
  1842. And do so in a safer way, with a runtime check rather than a brittle
  1843. static maintainer check.
  1844. * t/ax/test-init.sh: Set the 'required' variable to readonly.
  1845. * syntax-checks.mk (sc_tests_required_after_defs): Remove.
  1846. (syntax_check_rules): No longer list it.
  1847. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1848. Merge branch 'micro' into maint
  1849. * micro:
  1850. tests: use append mode to capture parallel make output
  1851. tests: new convenience target 'check-parallel'
  1852. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1853. tests: use append mode to capture parallel make output
  1854. This will allow us to run the Automake testsuite forcing all the make
  1855. invocations in the test cases to run in parallel mode [1], but without
  1856. hitting the spurious failure reported in automake bug#11413.
  1857. See also:
  1858. <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00135.html>
  1859. The make invocations in the test cases can be forced to run in parallel
  1860. mode by, e.g., invoking "make check" like this:
  1861. make check AM_TESTSUITE_MAKE="make -j16"
  1862. The possible spurious failures hinted above are due to the fact that
  1863. the redirected output of parallel make can racily lose lines. For
  1864. example, if GNU make (3.82) is run with -j10 on a Makefile like this:
  1865. all = 0 1 2 3 4 5 6 7 8 9
  1866. default: $(all)
  1867. $(all):
  1868. @sleep 0.$$(($RANDOM % 10)); echo $@
  1869. and has its standard output redirected in overwrite-mode to a regular
  1870. file, it looses a line of that output every 15 runs or so on a Fedora
  1871. 17 system with 64 ppc64 cores. Redirection in append mode does not
  1872. suffer of this problem, as explained here:
  1873. <http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html>
  1874. See also previous commits v1.12-63-g45c1fcd of 2012-05-05 (tests: use
  1875. append mode to capture parallel make output) and Release-1-10-280-g6426999
  1876. of 2009-03-10 (Use append mode to capture parallel test output).
  1877. * t/ax/am-test-lib.sh (run_make): Adjust and enhance.
  1878. * t/lisp8.sh: Take advantage of the enhancement, nd stop doing output
  1879. redirection for $MAKE by hand.
  1880. * t/tap-more.sh: Likewise.
  1881. * t/parallel-tests-concurrency.sh: Likewise.
  1882. 2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  1883. tests: new convenience target 'check-parallel'
  1884. To force the test scripts to invoke make in parallel mode. This should
  1885. enhance coverage of use cases (make concurrency) that are becoming more
  1886. and more important with today multicore fast machines.
  1887. * Makefile.am (check-parallel): New .PHONY target.
  1888. 2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  1889. tests: avoid few lingering $MAKE redirections
  1890. These were present in the 'maint' branch, but not in the 'micro' branch.
  1891. Their occurrences has been found by the 'sc_tests_no_run_make_redirect'
  1892. maintainer check.
  1893. * t/fort2.sh: Adjust.
  1894. * t/preproc-demo.sh: Likewise.
  1895. 2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  1896. Merge branch 'micro' into maint
  1897. * micro:
  1898. tests: avoid '$MAKE' redirections, use 'run_make' instead
  1899. tests: avoid use of redirected 'run_make' invocations
  1900. lint: warn against redirected 'run_make' invocations
  1901. comments: next GNU make release 4.0, not 3.83
  1902. tests: fix a potential spurious failure due to global config.site
  1903. HACKING: it's OK to do testsuite refactoring in a micro version
  1904. 2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  1905. tests: avoid '$MAKE' redirections, use 'run_make' instead
  1906. The use 'run_make' with the -E, -O and -M option, it is more
  1907. idiomatic now. Also, this way, centralized fixes and improvements
  1908. done in 'run_make' will automatically propagate through most of
  1909. the testsuite.
  1910. * syntax-checks.mk (sc_tests_no_run_make_redirect): Also check against
  1911. '$MAKE' invocations that uses output redirections (and not only against
  1912. 'run_make' invocation that do so).
  1913. * Several tests: Adjust (and few minor cosmetic changes as well, while
  1914. at it).
  1915. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1916. tests: avoid use of redirected 'run_make' invocations
  1917. Instead, properly use the -E, -O, or -M options of run_make.
  1918. The occurrences of the 'run_make' invocations using output
  1919. redirection has been found by the recently-introduced maintainer
  1920. check 'sc_tests_no_run_make_redirect'.
  1921. * t/ax/tap-summary-aux.sh: Adjust.
  1922. * t/ax/testsuite-summary-checks.sh: Likewise.
  1923. * Several other tests: Likewise.
  1924. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1925. lint: warn against redirected 'run_make' invocations
  1926. The testsuite shell function 'run_make()' has the three options
  1927. -E, -O and -M to perform the various kind of output redirections,
  1928. so the test scripts should use them instead of redirecting the
  1929. output "by hand":
  1930. run_make ARGS >stdout => run_make -O ARGS
  1931. run_make ARGS >stderr => run_make -E ARGS
  1932. run_make ARGS >stdout 2>stderr => run_make -O -E ARGS
  1933. run_make ARGS >output 2>&1 => run_make -M ARGS
  1934. See the commit message of v1.13.2-13-gc7cfa09, 2013-05-22
  1935. (tests: run_make: options to do command redirection) for an
  1936. explanation of why this is a good idea.
  1937. It's worth noting that the present patch only introduced a new
  1938. static maintainer check looking against the undesired idioms,
  1939. but doesn't yet remove usages of such idioms from the testsuite.
  1940. That will be done by follow-up patch(es).
  1941. * syntax-checks.mk (sc_tests_no_run_make_redirect): New check.
  1942. (syntax_check_rules): List it.
  1943. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1944. comments: next GNU make release 4.0, not 3.83
  1945. See: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00093.html>
  1946. * lib/am/header-vars.am (am__make_running_with_option): Adjust
  1947. comments.
  1948. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1949. tests: fix a potential spurious failure due to global config.site
  1950. * t/instdir-no-empty.sh: Here.
  1951. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1952. HACKING: it's OK to do testsuite refactoring in a micro version
  1953. Reported-by: Peter Rosin <peda@lysator.liu.se>
  1954. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1955. Merge branch 'micro' into maint
  1956. * micro:
  1957. tests: remove some code duplication
  1958. cosmetics: remove a couple of extra whitespaces in tests
  1959. tests: two minor fixups
  1960. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1961. tests: remove some code duplication
  1962. * t/ax/am-test-lib (null_install): New function.
  1963. * t/instdir-java.sh: Use it instead of copied & pasted code.
  1964. * t/instdir-lisp.sh: Likewise.
  1965. * t/instdir-ltlib.sh: Likewise.
  1966. * t/instdir-prog.sh: Likewise.
  1967. * t/instdir-python.sh: Likewise.
  1968. * t/instdir-texi.sh: Likewise.
  1969. * t/instdir.sh: Likewise.
  1970. * t/instdir2.sh: Likewise.
  1971. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1972. cosmetics: remove a couple of extra whitespaces in tests
  1973. * t/instdir.sh: Here.
  1974. * t/instdir2.sh: And here.
  1975. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1976. tests: two minor fixups
  1977. * t/make-keepgoing.tap: Here.
  1978. * t/parallel-tests-exit-statuses.sh: And here.
  1979. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1980. Merge branch 'micro' into maint
  1981. * micro:
  1982. tests: run_make: options to do command redirection
  1983. tests: only activate 'unset' alias if required
  1984. tests: better idiom to override make macro defs on the cmdline
  1985. test-lib: minor style changes
  1986. test-lib: fix botched function name in an error message
  1987. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  1988. tests: run_make: options to do command redirection
  1989. Let's improve the API of the 'run_make()' helper shell function by
  1990. adding three new options:
  1991. -O Save the standard output from make on disk, in a regular file
  1992. named 'stdout'.
  1993. -E Save the standard error from make on disk, in a regular file
  1994. named 'stderr'.
  1995. -M Save both the standard output and standard error from make on
  1996. disk, in a regular file named 'output'. This option supersedes
  1997. both the '-O' and '-E' options.
  1998. This new API has two main advantages.
  1999. 1. Its use will allow us to get rid of more cumbersome idioms
  2000. like, e.g.,
  2001. $MAKE check >stdout && { cat stdout; exit 1; }
  2002. cat stdout
  2003. That can now be substituted with a simpler one:
  2004. run_make -e FAIL -O check
  2005. 2. More importantly, using the new API we will prevent any extra output
  2006. from the shell traces of the code in run_make to be redirected along
  2007. with the make stderr (where that was redirected). This problem was
  2008. present in usages like, e.g.,
  2009. run_make TESTS=foo.test check 2>stderr && exit 1
  2010. grep 'expected error message' stderr
  2011. Such usages are now to be rewritten as follows:
  2012. run_make -e FAIL -E TESTS=foo.test check
  2013. grep 'expected error message' stderr
  2014. ensuring that 'stderr' won't end up containing unrelated stuff.
  2015. Note that we do not convert in bulk the old idioms and the use of
  2016. redirected 'run_make' invocations with this patch. We only convert
  2017. some occurrences, to ensure that the new implementation of 'run_make'
  2018. is sound enough. More sweeping conversions will likely be done in
  2019. follow-up patches.
  2020. * t/ax/am-test-lib.sh (run_make): Enhance and implement the extended API.
  2021. * t/tap-xfail-tests.sh: Use the new 'run_make' API.
  2022. * t/test-driver-cond.sh: Likewise.
  2023. * t/tests-environment-fd-redirect.sh: Likewise.
  2024. * t/uninstall-fail.sh: Likewise.
  2025. * t/yacc-dist-nobuild.sh: Likewise.
  2026. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  2027. tests: only activate 'unset' alias if required
  2028. This makes the test logs easier to read for most shells (which do not
  2029. actually require that alias). This is especially important now that
  2030. 'unset' is used in the new 'run_make()' function, and that function is
  2031. likely going to be used more and more in the future.
  2032. * t/ax/test-lib.sh (_am_unset, unset): Only define this function and
  2033. alias if "unset VAR" returns a non-zero exit status when VAR is already
  2034. unset.
  2035. 2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  2036. tests: better idiom to override make macro defs on the cmdline
  2037. We now do so with a new wrapper shell function 'run_make()', which
  2038. relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make
  2039. option. The use of that option (that causes the environment variables
  2040. to take precedence over the macro definitions in the Makefile) has
  2041. proved to be quite brittle in the past, causing annoying and sometimes
  2042. problematic spurious failures. This has worsened in some still
  2043. unpublished work going on in development branches. It's time to solve
  2044. the issue once and for all.
  2045. Note that we do not convert all uses of $MAKE in the testsuite right
  2046. away; we might do so in follow-up changes, with leisure, to avoid a
  2047. "patch bomb" effect (this commit is already too much of a bomb itself).
  2048. What we do in this commit is to get rid of all "$MAKE -e" invocations.
  2049. We admit that the implementation and feature-set of 'run_make()' are
  2050. far from perfect, but good enough for our current purposes. We'll
  2051. improve 'run_make()' if and when the need arises.
  2052. * syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against
  2053. the use of "$MAKE -e".
  2054. (syntax_check_rules): Add it.
  2055. (sc_tests_overriding_macros_on_cmdline): Adjust.
  2056. (lint): New, alias for 'maintainer-check', for lazy typists. Idea
  2057. backported from the 'maint' branch (Automake 1.13a).
  2058. * t/ax/am-test-lib.sh (run_make): New function. Run $MAKE with the
  2059. given command-line arguments, handling command-line override of variable
  2060. definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make
  2061. implementation is detected to be in use).
  2062. (useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious
  2063. maintainer check failure.
  2064. (yl_distcheck): Use 'run_make' rather than bare '$MAKE'.
  2065. (single_quote, append_single_quoted, is_valid_varname): New auxiliary
  2066. function, used, directly or indirectly, by it.
  2067. * Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the
  2068. use of 'run_make' in few other contexts as well, where it makes sense.
  2069. Other minor fixlets while at it.
  2070. 2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  2071. test-lib: minor style changes
  2072. * t/ax/am-test-lib.sh (require_tool): Here.
  2073. 2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  2074. test-lib: fix botched function name in an error message
  2075. * t/ax/am-test-lib.sh (useless_vpath_rebuild): Here.
  2076. 2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  2077. Merge branch 'micro' into maint
  2078. * micro:
  2079. maintcheck: minor tweaks and fixlets
  2080. 2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  2081. maintcheck: minor tweaks and fixlets
  2082. * syntax-checks.mk: Here.
  2083. 2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  2084. tests: fix a spurious failure on NetBSD 5.1
  2085. * t/dist-shar.sh ($required): Also require the 'unshar' program.
  2086. Apparently, NetBSD has a 'shar' program but not the corresponding
  2087. 'unshar' one.
  2088. 2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  2089. texi: build version.texi and stamp-vti in srcdir
  2090. Do so even when the 'info-in-builddir' option is present, or when
  2091. the corresponding '*.info' files are listed in $(CLEANFILES) or in
  2092. $(DISTCLEANFILES).
  2093. This fixes failures in the following tests, when they are run with
  2094. $MAKE pointing to FreeBSD make:
  2095. - txinfo-nodist-info.sh
  2096. - txinfo23.sh
  2097. - txinfo24.sh
  2098. - txinfo28.sh
  2099. - txinfo25.sh
  2100. BTW, notice that the test 'txinfo-builddir.sh' fails with FreeBSD make
  2101. as well, but that is due to a known FreeBSD make VPATH issue (the same
  2102. described in automake bug#7884). But that is not a regression, since
  2103. the 'info-in-builddir' option will be new in Automake 1.14. Moreover,
  2104. we already warn in the manual that the use of that option can indeed
  2105. cause problems with VPATH builds done by non-GNU make.
  2106. * bin/automake.in (handle_texinfo_helper): New local variable
  2107. '$soutdir'. Use it instead of '$outdir' where appropriate (in
  2108. particular, in the transform used on file 'texi-vers.am'.
  2109. * t/txinfo-builddir.sh: Adjust to avoid spurious failures.
  2110. 2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  2111. tests: fix a botched heading comment
  2112. * t/parallel-tests-recheck-pr11791.sh: Here.
  2113. 2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  2114. tests: fix another spurious with FreeBSD make
  2115. * t/parallel-tests-recheck-pr11791.sh: Here.
  2116. 2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  2117. tests: fix a spurious failure with FreeBSD make
  2118. Failures due to known VPATH support issues in that make implementation
  2119. (the same issues that have been causing the long-standing bug#7884).
  2120. * t/lex-multiple.sh: Adjust.
  2121. 2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  2122. Merge branch 'micro' into maint
  2123. * micro:
  2124. lisp: fix a failure with Solaris /usr/xpg4/bin/sh
  2125. tests: sanitize 'unset' usages
  2126. tests: fix some botched/outdated comments
  2127. tests: use perl, not find+rm, to remove temporary directories
  2128. 2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  2129. lisp: fix a failure with Solaris /usr/xpg4/bin/sh
  2130. * lib/am/lisp.am (.el.elc): By initializing the 'am__dir' properly
  2131. here. For most shells, the lacking initialization, while technically
  2132. incorrect, didn't cause any issue in practice, because in those shells
  2133. "test -d" returns an exit status of 0. But with /usr/xpg4/bin/sh, the
  2134. shell complains like this: "test: argument expected", and returns a
  2135. non-zero exit status. This caused testsuite failures in several lisp
  2136. tests.
  2137. Also, while we are at it, use more proper quoting in the recipe, to
  2138. ensure a missing initialization to now be caught by more forgiving
  2139. shells as well.
  2140. * NEWS: Update.
  2141. 2013-05-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  2142. tests: sanitize 'unset' usages
  2143. In some shells (e.g., Solaris 10 /bin/ksh, or NetBSD 5.1 /bin/sh),
  2144. "unset VAR" returns a non-zero exit status in case the VAR variable
  2145. is already unset. This doesn't interact well with our usage of
  2146. "set -e" in the testsuite. So far, we've avoided spurious failures
  2147. by either explicitly ignoring the exit status from unset:
  2148. unset VAR || :
  2149. or explicitly ensuring that a variable is set, before trying to
  2150. unset it:
  2151. VAR=; unset VAR
  2152. But we can do better, by aliasing the 'unset' command to a custom
  2153. function that will take care of these details for us. This will
  2154. avoid us annoying spurious failures in the future, failures that
  2155. have already bitten us too much times. For an example, refer to
  2156. commit 'v1.12.2-88-g5b1dae5' of 2012-08-05 (tests: avoid tons of
  2157. spurious failures on NetBSD).
  2158. * t/ax/test-lib.sh (_am_unset): New function.
  2159. (unset): New alias to it.
  2160. (_am_exit): Adjust comments.
  2161. * t/ax/am-test-lib.sh: No need to temporary disable the 'errexit'
  2162. shell flag when unsetting variables that are potentially already
  2163. unset.
  2164. (am_process_requirements): Adjust to remove a now-useless
  2165. workaround related to unset.
  2166. * t/aclocal-macrodir.tap: Likewise.
  2167. * t/aclocal-macrodirs.tap: Likewise.
  2168. * t/auxdir-autodetect.sh: Likewise.
  2169. * t/ax/am-test-lib.sh: Likewise.
  2170. * t/ax/test-lib.sh: Likewise.
  2171. * t/check-tests-in-builddir.sh: Likewise.
  2172. * t/dist-formats.tap: Likewise.
  2173. * t/distcheck-configure-flags-am.sh: Likewise.
  2174. * t/distcheck-configure-flags.sh: Likewise.
  2175. * t/java-empty-classpath.sh: Likewise.
  2176. * t/javaflags.sh: Likewise.
  2177. * t/lflags.sh: Likewise.
  2178. * t/lflags2.sh: Likewise.
  2179. * t/lisp-flags.sh: Likewise.
  2180. * t/lisp6.sh: Likewise.
  2181. * t/missing-auxfile-stops-makefiles-creation.sh: Likewise.
  2182. * t/parallel-am.sh: Likewise.
  2183. * t/parallel-am2.sh: Likewise.
  2184. * t/parallel-am3.sh: Likewise.
  2185. * t/parallel-tests-log-override-recheck.sh: Likewise.
  2186. * t/pkg-config-macros.sh: Likewise.
  2187. * t/python-missing.sh: Likewise.
  2188. * t/python-too-old.sh: Likewise.
  2189. * t/python11.sh: Likewise.
  2190. * t/self-check-dir.tap: Likewise.
  2191. * t/self-check-report.sh: Likewise.
  2192. * t/self-check-seq.tap: Likewise.
  2193. * t/silent-configsite.sh: Likewise.
  2194. * t/suffix6c.sh: Likewise.
  2195. * t/tar-override.sh: Likewise.
  2196. * t/tests-environment-and-log-compiler.sh: Likewise.
  2197. * t/vala-configure.sh: Likewise.
  2198. * t/werror3.sh: Likewise.
  2199. * t/yflags-cmdline-override.sh: Likewise.
  2200. * t/yflags.sh: Likewise.
  2201. * t/yflags2.sh: Likewise.
  2202. 2013-05-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  2203. tests: fix some botched/outdated comments
  2204. * t/ax/test-defs.in: Here. Also, fix a couple of grammaros while at it.
  2205. 2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  2206. tests: use perl, not find+rm, to remove temporary directories
  2207. The File::Path::rmtree function from perl, if used right, is
  2208. more reliable and more portable of our past idiom:
  2209. find $dirs -type d ! -perm -700 -exec chmod u+rwx {} ';';
  2210. rm -rf $$dirs || exit 1
  2211. at least of the face of unreadable dirs/files and other similar
  2212. permission issues (and we have those in our test directories).
  2213. In fact, this change fixes some spurious failures seen in
  2214. "make distcheck" on Solaris 10.
  2215. * t/ax/deltree.pl: New.
  2216. * Makefile.am (EXTRA_DIST): Add it.
  2217. (clean-local-check): Use it.
  2218. * t/ax/test-lib.sh (rm_rf_): Use it.
  2219. 2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  2220. tests: remove remaining exec bits ('maint' branch)
  2221. The executable bit gives the impression that the tests are directly
  2222. runnable, as with "./t/foo.sh", but it has been a while since that
  2223. was the case. Today, tests are runnable only through "make check"
  2224. or "./runtest".
  2225. This change is for the 'maint' branch (automake 1.13a), and is a
  2226. follow-up to commit 'v1.13.2-3-g74017b5', done on the 'micro' branch
  2227. (automake 1.13.2a). It will soon be followed by a similar patch
  2228. for the 'master' branch (automake 1.99a).
  2229. * t/am-prog-cc-c-o.sh: Remove executable bit.
  2230. * t/ccnoco4.sh: Likewise.
  2231. * t/dist-shar.sh: Likewise.
  2232. * t/dist-tarZ.sh: Likewise.
  2233. * t/lex-multiple.sh: Likewise.
  2234. * t/preproc-basics.sh: Likewise.
  2235. * t/preproc-c-compile.sh: Likewise.
  2236. * t/preproc-demo.sh: Likewise.
  2237. * t/preproc-errmsg.sh: Likewise.
  2238. * t/rm-f-probe.sh: Likewise.
  2239. * t/self-check-cc-no-c-o.sh: Likewise.
  2240. * t/txinfo-builddir.sh: Likewise.
  2241. * t/txinfo-nodist-info.sh: Likewise.
  2242. 2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  2243. Merge branch 'micro' into maint
  2244. * micro:
  2245. tests: remove exec bit from all of them ('micro' branch)
  2246. maint: tests no longer need to have executable bit set
  2247. 2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  2248. tests: remove exec bit from all of them ('micro' branch)
  2249. It gives the impression that they are directly runnable, as with
  2250. "./t/foo.sh", but it has been a while since that was the case. Today,
  2251. tests are runnable only through "make check" or "./runtest".
  2252. This change is for the 'micro' branch (automake 1.13.2a). It will
  2253. soon be followed by similar patches for the 'maint' branch (automake
  2254. 1.13a) and the 'master' branch (automake 1.99a).
  2255. * t/*.sh, t/*.tap: Remove executable bit.
  2256. * maint.mk (sc_tests_executable): Remove.
  2257. (syntax_check_rules): Adjust.
  2258. * gen-testsuite-part: Set permissions of generated tests to
  2259. '444' (-r--r--r--), rather than 555 (-r-xr-xr-x).
  2260. 2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  2261. maint: tests no longer need to have executable bit set
  2262. It has been a while since they are runnable only through "make check"
  2263. or "./runtest", and not directly.
  2264. * HACKING: Adjust.
  2265. * t/README: Likewise, and updated the surrounding text to get rid of
  2266. obsolete statements and advices.
  2267. 2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  2268. PLANS: subdir-objects: various updates
  2269. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2270. Merge branch 'micro' into maint
  2271. * micro:
  2272. post-release: micro version bump (1.13.2a)
  2273. release: stable micro release 1.13.2
  2274. vala tests: skip in a cross compiler setup
  2275. HACKING: miscellaneous fixes, updates and enhancements
  2276. NEWS: minor improvements to wording (about new versioning scheme)
  2277. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2278. post-release: micro version bump (1.13.2a)
  2279. * configure.ac, m4/amversion.m4: Bump version: 1.13.2 -> 1.13.2a
  2280. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2281. release: stable micro release 1.13.2
  2282. * configure.ac (AC_INIT): Bump version number to 1.13.2.
  2283. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  2284. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2285. vala tests: skip in a cross compiler setup
  2286. The "vala + pkg-config" doesn't interact well with cross-compilation:
  2287. <https://mail.gnome.org/archives/vala-list/2012-September/msg00094.html>
  2288. That is causing annoying failures in our testsuite when it's run in
  2289. cross-compilation mode. It's not worth trying too be overly smart and
  2290. work around these problems; just skip the affected tests instead.
  2291. * t/ax/am-test-lib.sh (require_tool): A new requirement 'valac', telling
  2292. that the test needs to compile Vala-generated C files. In particular,
  2293. this causes the test to be skipped when using a cross-compiler.
  2294. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2295. HACKING: miscellaneous fixes, updates and enhancements
  2296. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2297. NEWS: minor improvements to wording (about new versioning scheme)
  2298. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2299. THANKS: update Akim's e-mail address
  2300. 2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  2301. tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
  2302. That is, when the testsuite is run using a fake C compiler that doesn't
  2303. grasp the '-c' and '-o' options together.
  2304. * t/instdir-prog.sh: Adjust.
  2305. * t/instdir-ltlib.sh: Likewise.
  2306. * t/python-virtualenv.sh: Likewise.
  2307. 2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  2308. build: be more respectful of user-specified verbosity
  2309. * t/Makefile.in (check-cc-no-c-o, check-no-trailing-backslash-in-recipes,
  2310. installcheck-testsuite, perf): Here.
  2311. 2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  2312. check-cc-no-c-o: unify initializations in a single place
  2313. * t/ax/test-defs.in: That is, by setting CC and GNU_CC here, in accord
  2314. with the value of the variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O'.
  2315. * t/Makefile.in (check-cc-no-c-o) : No need to reset CC and GNU_CC any
  2316. longer in the recursive "make check" invocation.
  2317. 2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  2318. check-cc-no-c-o: avoid a spurious failure
  2319. * t/am-prog-cc-c-o.sh: In this test, by relying on the knowledge
  2320. that we are running under the aegis of the 'check-cc-no-c-o'
  2321. maintainer-specific target, knowledge given us by ...
  2322. * t/Makefile.in (check-cc-no-c-o) : ... the new environment
  2323. variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O', set to a value
  2324. of "yes" by this rule.
  2325. * t/ax/test-defs.in: Initialize the new variable to "no" by
  2326. default, and add an explanatory comment.
  2327. 2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  2328. build: fixup for building in a VPATH setup
  2329. * bin/Makefile.inc (%D%/automake, %D%/aclocal): Make sure that the
  2330. directory where the targets scripts are going to be built exists,
  2331. before trying to create said scripts.
  2332. 2013-05-11 Nick Bowler <nbowler@elliptictech.com> (tiny change)
  2333. Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
  2334. If AM_PROG_CC_C_O is expanded multiple times, and the compiler does not
  2335. support -c and -o together, each expansion of the macro will prepend
  2336. the compile script to CC. This can result in the compile script
  2337. invoking the compile script, which at best pointless and silly.
  2338. Fortunately, there does not appear to be any serious problems as the
  2339. first compile invocation strips out -o options, causing subsequent
  2340. invocations of the script to merely exec their arguments.
  2341. Other than fixing the above, this should not normally cause any changes
  2342. to the resulting configure script, except in the (hopefully rare) case
  2343. where AM_PROG_CC_C_O is directly expanded (i.e., *not* using AC_REQUIRE)
  2344. in the body of a macro defined with AC_DEFUN. In that case, the use of
  2345. AC_DEFUN_ONCE may cause the expansion of AM_PROG_CC_C_O to appear
  2346. earlier in the configure script.
  2347. * m4/minuso.m4: Change the definition of AM_PROG_CC_C_O to use
  2348. AC_DEFUN_ONCE, avoiding problems caused by multiple expansions.
  2349. 2013-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  2350. compile: avoid AC_PROG_CC messy rewrite
  2351. Instead, add an hook to AC_OUTPUT to have AM_PROG_CC_C_O invoked
  2352. automatically.
  2353. See also the long-winded discussion about automake bug#13378.
  2354. * m4/minuso.m4 (AM_PROG_CC_C_O): Bring back the old implementation,
  2355. from commit v1.13.1-55-g1ab8fb6.
  2356. * m4/init.m4 (AC_PROG_CC): Remove this horrible, hacky re-write.
  2357. * (AM_INIT_AUTOMAKE): Arrange for AM_PROG_CC_C_O to be called if
  2358. necessary.
  2359. * t/am-prog-cc-c-o.sh: Adjust to avoid spurious failure.
  2360. * t/subobj.sh: Likewise.
  2361. Suggested-by: Nick Bowler <nbowler@elliptictech.com>
  2362. 2013-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  2363. options: tiny simplification in dealing with incompatible versions
  2364. * lib/Automake/Options.pm (_process_option_list): Here, when an
  2365. incompatible version number option is detected, there's no need
  2366. to call error() with the "uniq_scope => US_GLOBAL" switch.
  2367. In fact, if the same incompatible version number is specified in
  2368. AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am',
  2369. we want each such erroneous usage reported separately, rather than
  2370. just the first time it is encountered (as we'd expect to happen
  2371. when "uniq_scope => US_GLOBAL" is used).
  2372. Ideally, this change should have been folded into the similar
  2373. commit 'v1.13.1d-129-gf7ef16f', but we noticed that too late.
  2374. Oh well.
  2375. 2013-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  2376. options: try to report as much errors as possible
  2377. For example, if two invalid options are used in AUTOMAKE_OPTIONS, don't
  2378. report just the first one, but both of them.
  2379. * lib/Automake/Options.pm (_process_option_list): Do so by avoiding
  2380. early returns in here.
  2381. 2013-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  2382. Merge branch 'branch-1.13.2' into maint
  2383. * branch-1.13.2:
  2384. warns: don't tell AM_PROG_MKDIR_P is going to be removed
  2385. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2386. warns: don't tell AM_PROG_MKDIR_P is going to be removed
  2387. That is no longer true. For a more extended rationale, see file
  2388. 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' in the maint branch
  2389. (as of commit v1.13.1d-132-g90ec3fe).
  2390. * automake.in (scan_autoconf_traces): So adjust the warning message
  2391. here.
  2392. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2393. refactor: fix few "inverted boolean" usages
  2394. In some subroutines, we used a return value of 0 to indicate success,
  2395. and a return status of 1 to indicate failure. That was not very
  2396. consistent with the perl interpretation of 0 as a false value and 1 as
  2397. a true value. So we now invert the meaning of the exit statuses.
  2398. * lib/Automake/Options.pm (_process_option_list): Here.
  2399. (process_global_option_list, process_option_list): And by reflex,
  2400. here as well.
  2401. * bin/automake.in (handle_options): And here.
  2402. (generate_makefile, scan_autoconf_traces): Adjust.
  2403. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2404. options: better name for an internal function
  2405. * lib/Automake/Options.pm (_option_must_be_from_configure): Rename ...
  2406. (_option_is_from_configure): ... like this.
  2407. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2408. options: more consistency in use of return statuses to report errors
  2409. * lib/Automake/Options.pm (_option_must_be_from_configure): By giving
  2410. a proper return status here.
  2411. (_process_option_list): And using it here.
  2412. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2413. options: tiny simplification in dealing with erroneous opts
  2414. * lib/Automake/Options.pm (_process_option_list): Here, when an
  2415. invalid option is detected, there's no need to call &error with
  2416. the "uniq_scope => US_GLOBAL" switch. In fact, if the same
  2417. erroneous option is specified in AUTOMAKE_OPTIONS in both (say)
  2418. 'Makefile.am' and 'sub/Makefile.am', we want each such erroneous
  2419. usage reported separately, rather than just the first time it is
  2420. encountered (as happens when "uniq_scope => US_GLOBAL" is used).
  2421. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2422. options: consistently use return statuses to report errors
  2423. * lib/Automake/Options.pm (_process_option_list): Here.
  2424. (process_option_list, process_global_option_list): Remove
  2425. redundant use of 'return'.
  2426. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2427. options: re-enable some sanity checks
  2428. They had been unwittingly disabled by a slightly incorrect
  2429. code ordering.
  2430. * lib/Automake/Options.pm (process_option_list): Here.
  2431. (process_global_option_list): And here.
  2432. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2433. THANKS: update Eric Blake's e-mail address
  2434. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2435. NEWS: typofix
  2436. Reported-by: Eric Blake <eblake@redhat.com>
  2437. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2438. news: document new 'subdir-objects' warning
  2439. * NEWS: Automake 1.14 will warn if a subdir source file is
  2440. specified but the 'subdir-objects' option is not given. This
  2441. is done to smooth the transition to Automake 2.0, which will
  2442. unconditionally assume the behaviour now given only with the
  2443. 'subdir-objects' option.
  2444. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2445. PLANS: one minor fixlet (mostly cosmetic)
  2446. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2447. PLANS: we have already dropped support for split info files in master
  2448. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2449. NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
  2450. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2451. PLANS: fix reference to non-existent 'next' branch
  2452. * PLANS/obsolete-removed/configure.in.txt: Here. We should refer
  2453. to the 'master' branch instead.
  2454. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2455. PLANS: fix botched version reference
  2456. * PLANS/rm-f-without-args.txt: Here. The probe checking that "rm -f"
  2457. without arguments works will be introduced in Automake 1.14, not in
  2458. Automake 1.13.2.
  2459. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2460. maintcheck: fix two references to old location of aclocal and automake
  2461. * maintainer/syntax-checks.mk (sc_perl_at_substs): Here: it should
  2462. refer to 'bin/automake' and 'bin/aclocal', not 'automake' and
  2463. 'alocal'.
  2464. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2465. dist: deprecated shar and tar+compress formats
  2466. See also discussion about automake wishlist bug#13324.
  2467. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete'
  2468. category if the 'dist-shar' or 'dist-tarZ' options are used.
  2469. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are
  2470. invoked, make them give a non-fatal warning.
  2471. * doc/automake.texi: Report the new deprecations.
  2472. * t/dist-shar.sh: New test.
  2473. * t/dist-tarZ.sh: Likewise.
  2474. * t/lzma.sh: While at it, rename ...
  2475. * t/dist-lzma.sh: ... like this, and tweak it to keep more in
  2476. sync with the new tests.
  2477. * t/dist-formats.tap: Remove references to deprecated formats.
  2478. * t/list-of-tests.mk: Adjust.
  2479. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2480. Merge branch 'dog-feeding' into maint
  2481. * dog-feeding:
  2482. build: move automake and aclocal in 'bin' subdir
  2483. build: break up monolithic Makefile.am in subdir-specific fragments
  2484. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2485. Merge branch 'branch-1.13.2' into maint
  2486. * branch-1.13.2:
  2487. automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
  2488. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2489. automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
  2490. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2491. am: prefer a shorter idiom where possible
  2492. That is, prefer:
  2493. test -f FILE || do_action
  2494. over:
  2495. if test ! -f FILE; then do_action; else :; fi
  2496. * lib/am/remake-hdr.am (%CONFIG_H%): Here.
  2497. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2498. Merge branch 'branch-1.13.2' into maint
  2499. * branch-1.13.2:
  2500. cosmetics: fix few typos, grammaros and missing whitespace
  2501. fixup: remove an obsolete comment
  2502. docs: we still don't have the promised better Java interface
  2503. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2504. cosmetics: fix few typos, grammaros and missing whitespace
  2505. * lib/am/*.am: In comments in some of these files.
  2506. 2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  2507. fixup: remove an obsolete comment
  2508. * lib/am/header-vars.am (am__make_running_with_option): Here.
  2509. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2510. docs: we still don't have the promised better Java interface
  2511. Reported by Michael Zucchi:
  2512. <http://lists.gnu.org/archive/html/automake/2013-05/threads.html>
  2513. See also automake bug#9088.
  2514. * doc/automake.texi (Java): Adjust and clarify.
  2515. * THANKS: Update.
  2516. Reported-by: Michael Zucchi <notzed@gmail.com>
  2517. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2518. maint: re-run "make update-copyright" ...
  2519. * t/lex-multiple.sh: ... which updates the copyright years
  2520. of this test (they were somehow not bumped in the past).
  2521. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2522. tests: avoid spurious failure with older flex (2.5.4)
  2523. That old version is unfortunately still relevant, being the one
  2524. installed on NetBSD 5.1.
  2525. * t/lex-multiple.sh: Use the '-o' option rather than the longer
  2526. equivalent '--outfile'. The latter is not supported by older
  2527. versions of flex (e.g., flex 2.5.4).
  2528. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2529. Merge branch 'branch-1.13.2' into maint
  2530. * branch-1.13.2:
  2531. announcement: cater to more flexible NEWS format
  2532. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2533. announcement: cater to more flexible NEWS format
  2534. * maint.mk (announcement): Here, be prepared to handle the case
  2535. in which the first section of the NEWS file is dedicated to report
  2536. future backward-incompatibilities and/or other warnings.
  2537. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2538. build: move automake and aclocal in 'bin' subdir
  2539. * automake.in: Rename ...
  2540. * bin/automake.in: ... like this.
  2541. * aclocal.in: Rename ...
  2542. * bin/aclocal.in: ... like this.
  2543. * Makefile.am: Move parts that dealt with the building/distribution
  2544. of aclocal and Automake ..
  2545. * bin/Makefile.inc): ... in this new included fragment. Adjust as
  2546. needed, and make deliberate use of the '%D%' substitution.
  2547. * lib/gen-perl-protos: Move ...
  2548. * bin/gen-perl-protos: ... here.
  2549. * bootstrap.sh, configure.ac, maintainer/rename-tests,
  2550. t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc,
  2551. t/ax/tap-setup.sh, .gitignore: Adjust.
  2552. * maintainer/syntax-checks.mk: Likewise, and enhance a little.
  2553. 2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  2554. build: break up monolithic Makefile.am in subdir-specific fragments
  2555. This is convenient to do, now that we have improved "relative directory"
  2556. support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a.
  2557. '%C%') Automake-time substitutions for included makefile fragments.
  2558. This move also satisfy our philosophy of using new Automake features in
  2559. our own build system, as a way of facilitating early discovery of possible
  2560. bugs or interface warts.
  2561. * Makefile.am: Break up ...
  2562. * doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc,
  2563. lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this
  2564. new included fragments. Adjust as needed, and make deliberate use
  2565. of the '%D%' substitution.
  2566. * contrib/t/local.am: Rename ...
  2567. * contrib/t/Makefile.inc: ... like this.
  2568. 2013-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  2569. maint branch: we are going to become Automake 1.14
  2570. * configure.ac (AC_INIT): So adjust beta version in here, from
  2571. 1.13.2a to 1.13a.
  2572. * m4/amversion.m4: Regenerate.
  2573. 2013-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  2574. Merge branch 'branch-1.13.2' into maint
  2575. * branch-1.13.2:
  2576. maint: version bump after beta release 1.13.1d
  2577. release: beta release 1.13.1d (will become 1.13.2)
  2578. NEWS: document more robust handling/recognition of make options
  2579. 2013-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  2580. maint: version bump after beta release 1.13.1d
  2581. * configure.ac (AC_INIT): Bump version number to 1.13.1e.
  2582. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
  2583. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2584. release: beta release 1.13.1d (will become 1.13.2)
  2585. * configure.ac (AC_INIT): Bump version number to 1.13.1d.
  2586. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  2587. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2588. NEWS: document more robust handling/recognition of make options
  2589. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2590. tests: typofixes in comments in t/preproc-c-compile.sh
  2591. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2592. tests: remove bashism from a test
  2593. * t/preproc-c-compile.sh (Makefile.am): Use "test foo = bar", not the
  2594. bash-specific "test foo == bar".
  2595. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2596. Merge branch 'branch-1.13.2' into maint
  2597. * branch-1.13.2:
  2598. maint: targets and recipes to simplify testing on real-world packages
  2599. build: preparatory refactoring
  2600. build: tiny reduction in code duplication
  2601. make flags analysis: handle more options with args
  2602. make flags analysis: use simpler variable names
  2603. make flags analysis: whitespace changes
  2604. make flags analysis: embed in a subshell
  2605. make flags analysis: be more robust
  2606. make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
  2607. tests: expose weaknesses in make flags analysis
  2608. tests: improve debugging output in checks on make flags analysis
  2609. make flags analysis: refactor, to reduce code duplication
  2610. tests: avoid one tricky use of "make -e"
  2611. tests: avoid a spurious error with Solaris make
  2612. subdirs: don't return false positives for the '-k' option's presence
  2613. header-vars: recognize more make flags ('-k' in particular)
  2614. header-vars: simplify how make flags are determined
  2615. tests: remove dead code from t/make-dryrun.tap
  2616. header-vars: new variable $(am__running_with_option)
  2617. tests: expose bug#12554 (false positives for presence of '-k' make option)
  2618. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2619. Merge 'better-makeflags-recognition' and 'testing-work' into branch-1.13.2
  2620. * better-makeflags-recognition:
  2621. make flags analysis: handle more options with args
  2622. make flags analysis: use simpler variable names
  2623. make flags analysis: whitespace changes
  2624. make flags analysis: embed in a subshell
  2625. make flags analysis: be more robust
  2626. make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
  2627. tests: expose weaknesses in make flags analysis
  2628. tests: improve debugging output in checks on make flags analysis
  2629. make flags analysis: refactor, to reduce code duplication
  2630. * testing-work:
  2631. maint: targets and recipes to simplify testing on real-world packages
  2632. build: preparatory refactoring
  2633. build: tiny reduction in code duplication
  2634. 2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  2635. maint: targets and recipes to simplify testing on real-world packages
  2636. We introduce a new section in the maintainer-specific makefile that
  2637. contains recipes to test the build system of some well-known GNU
  2638. packages with the current development version of Automake. Not the
  2639. cleanest way to do so, but good enough for the moment. We'll revisit
  2640. the matter after the 1.13.2 release (which we now hope will happen
  2641. soon).
  2642. * maint.mk (git-sv-host): New.
  2643. (SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): Use it to reduce code duplication.
  2644. (ALL_PACKAGES, FEW_PACKAGES): New, lists of GNU packages to try out.
  2645. (ttp-check, ttp-check-all): New targets, do the checking with said
  2646. packages.
  2647. (ttp): New, alias for 'ttp-check'.
  2648. (ttp-all): New, alias for 'ttp-check-all'.
  2649. 2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  2650. build: preparatory refactoring
  2651. No semantic change intended. This change will be required
  2652. by a later patch.
  2653. * Makefile.am (setup_autotools_paths): New.
  2654. ($(srcdir)/doc/amhello-1.0.tar.gz): Use it.
  2655. 2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  2656. build: tiny reduction in code duplication
  2657. The code was only duplicated two times, but we are soon going to
  2658. need a third occurrence, and that would be one to much.
  2659. * Makefile.am (extend_path): New.
  2660. (update_mans): Use it instead of copying & pasting its contents.
  2661. ($(srcdir)/doc/amhello-1.0.tar.gz): Likewise, and minor related
  2662. adjustments.
  2663. 2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  2664. make flags analysis: handle more options with args
  2665. That is, not only -I, but also -O (for upcoming GNU make 3.83),
  2666. -l (GNU make), -d, -E, -D, -m (BSD make), -J, -T (NetBSD make).
  2667. * lib/am/header-vars.am (am__make_running_with_option): Extend
  2668. and adjust, both code and comments.
  2669. 2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  2670. make flags analysis: use simpler variable names
  2671. * lib/am/header-vars.am (am__make_running_with_option): Here. Now
  2672. that we expect to be run in a subshell, we don't have to worry about
  2673. being namespace-safe. And '$foo' is much more pleasant to read than
  2674. '$am__foo' -- and pleasant code tends to be more correct.
  2675. (am__make_dryrun, am__make_keepgoing): Adjust.
  2676. 2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  2677. make flags analysis: whitespace changes
  2678. * lib/am/header-vars.am (am__make_running_with_option): Here.
  2679. No semantic change is intended.
  2680. 2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  2681. make flags analysis: embed in a subshell
  2682. So that we won't have to worry about leaking temporary variables,
  2683. and similar stuff.
  2684. * lib/am/header-vars.am (am__make_dryrun, am__make_keepgoing): Here.
  2685. (am__make_running_with_option): Minor adjustments.
  2686. 2013-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  2687. make flags analysis: be more robust
  2688. In particular, catering to option-with-argument bundled together
  2689. with options-without-arguments, as in:
  2690. # With GNU make 3.82:
  2691. $ make -f- <<<'all:; echo "$$MFLAGS"' -s -k -I none
  2692. -skiI none
  2693. # With development version of GNU make (Git commit b5ea49b):
  2694. $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
  2695. -skiI none
  2696. This fixes some lingering failures in the testsuite; precisely, in
  2697. tests 'make-dryrun.tap' and 'make-keepgoing.tap'.
  2698. * t/header-vars.am (am__make_running_with_option): Enhance.
  2699. 2013-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  2700. make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
  2701. The current development version of GNU make (that is planned to become
  2702. GNU make 3.83, sooner or later) has changed the format its $(MFLAGS)
  2703. variable slightly, removing the space between an option and its argument:
  2704. # With GNU make 3.82, compiled from official tarball:
  2705. $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
  2706. -I none
  2707. # With development version of GNU make (Git commit b5ea49b):
  2708. $ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
  2709. -Inone
  2710. This was done on purpose, in order to support more easily the new
  2711. option '-O', which takes an optional argument; see:
  2712. <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00001.html>
  2713. So Just adapt to the new format as well.
  2714. * t/header-vars.am (am__make_running_with_option): Adjust to cater
  2715. to the new GNU make behaviour.
  2716. 2013-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  2717. tests: expose weaknesses in make flags analysis
  2718. This introduces some failures in the testsuite, that will be fixed
  2719. soon enough by follow-up patches.
  2720. * t/make-dryrun.tap: Enhance and extend.
  2721. * t/make-keepgoing.tap: Likewise.
  2722. 2013-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  2723. tests: improve debugging output in checks on make flags analysis
  2724. * t/make-dryrun.tap: Here.
  2725. * t/make-keepgoing.tap: And here.
  2726. 2013-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  2727. make flags analysis: refactor, to reduce code duplication
  2728. And make it a little more reliable.
  2729. * t/header-vars.am (am__make_running_with_option): Here.
  2730. 2013-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  2731. tests: avoid one tricky use of "make -e"
  2732. Which was causing a spurious failure on FreeBSD. Not particularly
  2733. surprising, given how brittle "make -e" is in general ...
  2734. * t/cxx-lt-demo.sh: Instead of forcing $(CC) to be 'false' by
  2735. exporting "CC=false" in the environment and then passing the '-e'
  2736. option to make, do so by passing "CC=false" on the make command
  2737. line, both directly and using AM_MAKEFLAGS.
  2738. 2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  2739. Merge branch 'fix-pr12554' into branch-1.13.2
  2740. * fix-pr12554:
  2741. tests: avoid a spurious error with Solaris make
  2742. subdirs: don't return false positives for the '-k' option's presence
  2743. header-vars: recognize more make flags ('-k' in particular)
  2744. header-vars: simplify how make flags are determined
  2745. tests: remove dead code from t/make-dryrun.tap
  2746. header-vars: new variable $(am__running_with_option)
  2747. tests: expose bug#12554 (false positives for presence of '-k' make option)
  2748. 2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  2749. Merge branch 'branch-1.13.2' into maint
  2750. * branch-1.13.2:
  2751. cosmetics: remove few trailing whitespace occurrences
  2752. typofix: in NEWS (extra whitespace)
  2753. 2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  2754. cosmetics: remove few trailing whitespace occurrences
  2755. 2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  2756. typofix: in NEWS (extra whitespace)
  2757. 2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  2758. Merge branch 'branch-1.13.2' into maint
  2759. * branch-1.13.2:
  2760. sync: update files from upstream with "make fetch"
  2761. maintcheck: remove outdated whitelisting
  2762. tar: format 'ustar' cannot support UID/GID longer than 21 bits
  2763. 2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  2764. Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2
  2765. * fix-pr13588-pax-hangs:
  2766. tar: format 'ustar' cannot support UID/GID longer than 21 bits
  2767. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2768. tests: avoid a spurious error with Solaris make
  2769. * t/make-keepgoing.tap (Makefile.am): Here.
  2770. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2771. subdirs: don't return false positives for the '-k' option's presence
  2772. This change fixes automake bug#12554.
  2773. The old implementation of the code descending into $(SUBDIRS)
  2774. entries used the following snippet to decide whether make is running
  2775. with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
  2776. in a subdirectory should prevent the descent in the following ones:
  2777. fail= failcom='exit 1'; \
  2778. for f in x $$MAKEFLAGS; do \
  2779. case $$f in \
  2780. *=* | --[!k]*);; \
  2781. *k*) failcom='fail=yes';; \
  2782. esac; \
  2783. done
  2784. It's clear that the second pattern in the 'case' construct could possibly
  2785. match false positives, for examples in these two cases:
  2786. make check TESTS="x.test k.test"
  2787. make -I /usr/local/kool-fragments
  2788. which are somewhat unusual, but not invalid. So we need a more resilient
  2789. implementation, as we did for the detection of the '-n' flag.
  2790. This implementation is now provided by the new private macro
  2791. '$(am__make_keepgoing)' (introduced in recent commits); so we can
  2792. just us that to fix the bug.
  2793. * lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)'
  2794. instead of ad-hoc and more brittle checks.
  2795. * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case
  2796. 't/subdir-keep-going-pr12554.sh'.
  2797. Reported-by: Michael Daniels <mdaniels@rim.com>
  2798. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2799. header-vars: recognize more make flags ('-k' in particular)
  2800. * lib/am/header-vars.am (am__running_with_option): Here.
  2801. Few improvements to comments, while at it.
  2802. (am__make_keepgoing): New, tell whther make is being runt with
  2803. the '-k' option.
  2804. * t/make-keepgoing.tap: New test.
  2805. * t/list-of-tests.mk: Add it.
  2806. * t/make-dryrun.tap: Minor edits to keep it more in sync with
  2807. the new test.
  2808. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2809. sync: update files from upstream with "make fetch"
  2810. * lib/config.guess: Likewise.
  2811. * lib/config.sub: Likewise.
  2812. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2813. maintcheck: remove outdated whitelisting
  2814. * syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Here.
  2815. The test 'make-dryrun.sh' has been since long rewritten as the TAP
  2816. test 'make-dryrun.tap', and no longer spuriously triggers this
  2817. maintainer check.
  2818. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2819. header-vars: simplify how make flags are determined
  2820. Actually, son far only the '-n' option ("dry mode") was detected,
  2821. but this change will allow us to soon detect more options.
  2822. * lib/am/header-vars.am (am__running_with_option): Even when $MAKEFLAGS
  2823. appears to contain definition of variables with embedded whitespace,
  2824. use simple textual pre-processing over $MAKEFLAGS rather than tricky
  2825. recursive invocations of make to determine whether the '-n' option was
  2826. given. This is enough to correctly handle all the tricky usages covered
  2827. in the testsuite.
  2828. * t/nodep.sh: Adjust to avoid a spurious failure.
  2829. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2830. tests: remove dead code from t/make-dryrun.tap
  2831. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2832. header-vars: new variable $(am__running_with_option)
  2833. This is a preparatory refactoring, needed by later patches.
  2834. No semantic change is intended.
  2835. * lib/am/header-vars.am (am__running_with_option): New, contains
  2836. shell code that determines whether the current make instance is
  2837. running with a given one-letter option (e.g., -k, -n) that takes
  2838. no argument. Actually, the only supported option at the moment
  2839. is '-n' (support for '-k' will be added soon).
  2840. (am__make_dryrun): Rewrite as a thin wrapper around
  2841. '$(am__make_running_with_option)'.
  2842. 2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  2843. tests: expose bug#12554 (false positives for presence of '-k' make option)
  2844. The current implementation of the code descending into $(SUBDIRS)
  2845. entries uses the following snippet to decide whether make is running
  2846. with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
  2847. in a subdirectory should prevent the descent in the following ones:
  2848. fail= failcom='exit 1'; \
  2849. for f in x $$MAKEFLAGS; do \
  2850. case $$f in \
  2851. *=* | --[!k]*);; \
  2852. *k*) failcom='fail=yes';; \
  2853. esac; \
  2854. done
  2855. It's clear that the second pattern in the 'case' construct can possibly
  2856. match false positives, for examples in these two cases:
  2857. make check TESTS="x.test k.test"
  2858. make -I /usr/local/kool-fragments
  2859. which are somewhat unusual, but not invalid. So we need a more resilient
  2860. implementation, as we did for the detection of the '-n' flag.
  2861. But alas, such an implementation seems quite tricky to obtain in portable
  2862. make. So for the moment we content ourselves with exposing the bug, with
  2863. the hope of being able to fix soon enough.
  2864. * t/subdir-keep-going-pr12554.sh: New test.
  2865. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
  2866. * THANKS: Update
  2867. Reported-by: Michael Daniels <mdaniels@rim.com>
  2868. 2013-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  2869. tar: format 'ustar' cannot support UID/GID longer than 21 bits
  2870. See automake bug#8343 and bug#13588.
  2871. POSIX 1988 'ustar' format is defined with *fixed-size* fields. There
  2872. is notably a 21 bits limit (2097151) for the UID and the GID.
  2873. Tom Rini tom_rini@mentor.com says (in bug#8343):
  2874. When the user has a UID or GID that is larger than the ustar format
  2875. supports, pax does not error out gracefully in some cases (FC13).
  2876. Marc Herbert <marc.herbert@intel.com> adds (in bug#8343):
  2877. When "configure" is run by a user with an UID bigger than 21 bits,
  2878. BSD pax 3.4 aborts when trying to create the 'conftest.tar' test
  2879. archive and leaves an empty or corrupted conftest.tar file behind.
  2880. In the next step, pax tries to extract this incomplete or corrupted
  2881. archive and this *** hangs the whole ./configure script ***.
  2882. Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it
  2883. silently truncates any big UID to its lower 21 bits. I don't know
  2884. what can be the consequences of this lie.
  2885. I think there is currently a design issue in automake/m4/tar.m4
  2886. considering that a ustar archive should should *never* succeed when
  2887. ./configure is run from a big user ID.
  2888. Months later, Petr Hracek <phracek@redhat.com> reports a similar issue
  2889. (in bug#13588) for Fedora 17:
  2890. I am trying to solve problem in case a user is created with big
  2891. UID and during configuration pax hangs with message
  2892. ATTENTION! pax archive volume change required.
  2893. Ready for archive volume: 1
  2894. Input archive name or "." to quit pax.
  2895. Archive name >
  2896. and needs user interaction.
  2897. Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376>
  2898. Time to fix this issue, on the line of a preliminary patch provided by
  2899. Petr Hracek in bug#13588. The final patch ended up being remarkably
  2900. different from that original proposition, though.
  2901. * m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is
  2902. too high (> 2097151), the 'ustar' format cannot work. Adjust checks
  2903. accordingly. Some related code reordering and clean-up.
  2904. * t/tar-ustar-id-too-high.sh: New test.
  2905. * t/list-of-tests.mk: Add it.
  2906. * t/tar.sh: While at it, tweak and enhance a little.
  2907. * t/tar2.sh: Likewise.
  2908. * t/tar3.sh: Likewise.
  2909. * t/tar-override.sh: Likewise.
  2910. * NEWS: Update.
  2911. * THANKS: Likewise.
  2912. Helped-by: Pavel Raiskup <praiskup@redhat.com>
  2913. Helped-by: Petr Hracek <phracek@redhat.com>
  2914. Helped-by: Marc Herbert <marc.herbert@intel.com>
  2915. Helped-by: Tom Rini <tom_rini@mentor.com>
  2916. 2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  2917. Merge branch 'branch-1.13.2' into maint
  2918. * branch-1.13.2:
  2919. docs: issues with configure substitutions in TESTS
  2920. tests: avoid possible autotools caching issues (automake bug#13832)
  2921. docs: add myself and Ralf Wildenhues as authors
  2922. authors: add myself
  2923. dry-run: don't get confused by '-I' option
  2924. tests: avoid a spurious failure with the Korn Shell
  2925. dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
  2926. header vars: can determine whether we are running under GNU make
  2927. NEWS: improve wording for automake bug#13514 fix
  2928. NEWS: document fix for automake bug#13514
  2929. 2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  2930. Merge few bug-fixing branches into branch-1.13.2
  2931. * fix-part-pr13832:
  2932. tests: avoid possible autotools caching issues (automake bug#13832)
  2933. * fix-pr13760:
  2934. dry-run: don't get confused by '-I' option
  2935. dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
  2936. header vars: can determine whether we are running under GNU make
  2937. * fix-doc-pr14019:
  2938. docs: issues with configure substitutions in TESTS
  2939. * news-wording-improve:
  2940. NEWS: improve wording for automake bug#13514 fix
  2941. 2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  2942. docs: issues with configure substitutions in TESTS
  2943. Motivated by automake bug#14019.
  2944. * doc/automake.texi: Currently, when the parallel test harness is in use,
  2945. configure substitutions in TESTS definitions can only work if they expand
  2946. to tests that ends with a suffix listed in TEST_EXTENSIONS. Document this
  2947. limitation.
  2948. 2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  2949. tests: avoid possible autotools caching issues (automake bug#13832)
  2950. * t/ar-lib4.sh: Here, by removing the autom4te cache before editing
  2951. configure.ac and re-running the autotools.
  2952. 2013-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  2953. tests: rename some with more descriptive names
  2954. * t/tar3.sh: Rename ...
  2955. * t/tar-opts-errors.sh: ... like this.
  2956. * t/tar2.sh: Rename...
  2957. * t/tar-pax.sh: ... like this.
  2958. * t/tar.sh: Rename ...
  2959. * t/tar-ustar.sh: ... like this.
  2960. * t/list-of-tests.mk: Adjust.
  2961. 2013-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  2962. docs: add myself and Ralf Wildenhues as authors
  2963. * doc/automake.texi: Here.
  2964. 2013-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  2965. authors: add myself
  2966. 2013-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  2967. dry-run: don't get confused by '-I' option
  2968. Fixes automake bug#13760 for non-GNU make implementations that still
  2969. support the option '-I'. So far, the only such make implementation
  2970. are FreeBSD (8.x) make and NetBSD (5.x) make.
  2971. * lib/am/header-vars.am (am__make_dryrun): If a non-GNU make is being
  2972. used, try to handle the '-I' option in $MAKEFLAGS correctly. For GNU
  2973. make, that is already done by the proper use of the $MFLAGS variable.
  2974. 2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  2975. tests: avoid a spurious failure with the Korn Shell
  2976. * t/list-flags.sh: Ensure the EMACS variable is set before unsetting it.
  2977. 2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  2978. dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
  2979. Fixes automake bug#13760 for GNU make.
  2980. * lib/am/header-vars.am (am__make_dryrun): If GNU make is being used, rely
  2981. on the contents of the $(MFLAGS) variable rather than of the $(MAKEFLAGS)
  2982. to decide whther make is being executed in "dry run" mode. Not only this
  2983. makes the code possibly faster and less brittle, but also fixes automake
  2984. bug#13760 (at least when GNU make is in use).
  2985. * t/make-dryrun.tap: Adjust: some tests that were xfailing now pass.
  2986. 2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  2987. header vars: can determine whether we are running under GNU make
  2988. This is mostly a preparatory patch in view of future changes.
  2989. * lib/am/header-vars.am (am__is_gnu_make): New, contains shell code that
  2990. determines whether we are running under GNU make.
  2991. * t/make-is-gnu.sh: New test.
  2992. * t/list-of-tests.mk: Add it.
  2993. 2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  2994. NEWS: improve wording for automake bug#13514 fix
  2995. Helped-by: Jack Kelly <jack@jackkelly.name>
  2996. 2013-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  2997. NEWS: document fix for automake bug#13514
  2998. It was fixed by commit v1.13.1b-5-g7a3d7ce.
  2999. 2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3000. Merge branch 'branch-1.13.2' into maint
  3001. * branch-1.13.2:
  3002. INSTALL: regen
  3003. sync: update files from upstream with "make fetch"
  3004. tests: tweaks and minimal improvements to t/insthook.sh
  3005. 2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3006. INSTALL: regen
  3007. 2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3008. sync: update files from upstream with "make fetch"
  3009. * lib/INSTALL: Update.
  3010. * lib/config.guess: Likewise.
  3011. * lib/config.sub: Likewise.
  3012. * lib/gendocs.sh: Likewise.
  3013. * lib/gendocs_template: Likewise.
  3014. * lib/gitlog-to-changelog: Likewise.
  3015. * lib/gnupload: Likewise.
  3016. * lib/texinfo.tex: Likewise.
  3017. * lib/update-copyright: Likewise.
  3018. 2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3019. tests: tweaks and minimal improvements to t/insthook.sh
  3020. 2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3021. typofix: in comments in t/extra2.sh
  3022. 2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3023. tests: fix botched cross-reference in a heading comment
  3024. * t/extra-dist-wildcards.sh: Here.
  3025. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3026. automake: refactoring: factor out common cpp-like flags
  3027. * automake.in (@cpplike_flags): In this new variable...
  3028. (C, C++, Objective C, Objective C++, Unified Parallel C, Preprocessed
  3029. Assembler, Preprocessed Fortran, Preprocessed Fortran 77): ... to be
  3030. used by registration (with the 'register_language' subroutine) of these
  3031. languages.
  3032. This is a refactoring meant to simplify future changes; no semantic
  3033. change is intended.
  3034. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3035. NEWS (mint): reflect new Automake versioning scheme
  3036. The next minor Automake version will be 1.14, and *not* 1.13.2 -- that
  3037. will be the next bug-fixing version.
  3038. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3039. Merge branch 'branch-1.13.2' into maint
  3040. * branch-1.13.2:
  3041. Add missing '$' for variable expansion in depout.m4
  3042. fixup: one stray reference to older versioning scheme
  3043. 2013-04-19 Gavin Smith <gavinsmith0123@gmail.com> (tiny change)
  3044. Add missing '$' for variable expansion in depout.m4
  3045. * m4/depout.m4: "am__include" appeared where "$am__include" was meant.
  3046. Reference:
  3047. <http://lists.gnu.org/archive/html/automake-patches/2013-04/msg00000.html>
  3048. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3049. Merge branch 'preproc' into maint
  3050. * preproc:
  3051. maintcheck: avoid spurious failure
  3052. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3053. maintcheck: avoid spurious failure
  3054. * t/preproc-errmsg.sh: Here, breaking up a sed command to avoid spuriously
  3055. triggering a failure in the 'sc_tests_logs_duplicate_prefixes' maintainer
  3056. check.
  3057. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3058. Merge branch 'no-perl-protos' into maint
  3059. * no-perl-protos:
  3060. perl: perl subroutine prototypes are problematic, don't use them
  3061. 2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3062. perl: perl subroutine prototypes are problematic, don't use them
  3063. Basically, in perl, "subroutine prototypes" are not prototypes at all;
  3064. rather, they are a trick to allow user-defined subroutines that behave
  3065. like perl built-in functions. For example, prototyped subroutines can
  3066. be called without parentheses, and can impose context on their arguments.
  3067. Such semantics can be useful in some selected situations, but might also
  3068. easily cause unexpected and harmful behaviours and side effects if we
  3069. try to use perl prototypes as we would use C prototypes.
  3070. See the excellent article "Far More than Everything You've Ever Wanted
  3071. to Know about Prototypes in Perl" by Tom Christiansen for more detailed
  3072. information:
  3073. <http://www.perlmonks.org/?node_id=861966>
  3074. <http://web.archive.org/web/20080421062920/\
  3075. library.n0i.net/programming/perl/articles/fm_prototypes>
  3076. It is important to note that modern perl allows a non-predeclared
  3077. subroutine to be called without the '&' character, as long as its
  3078. call uses proper parentheses:
  3079. foo 'str', 2; # will trigger errors if foo is not predeclared
  3080. foo('str', 2); # ok even if foo is not predeclared
  3081. &foo('str', 2); # ditto; but the '&' is old-style and redundant
  3082. Note also that the prototype indicating "no argument":
  3083. sub func() { ... }
  3084. can actually be useful, and has no discernible downsides, so we'll
  3085. keep using it where it makes sense.
  3086. Also, in few, selected cases, we *want* to have subroutines behave like
  3087. perl builtins (e.g., we want the 'append_exeext' function to be able
  3088. to take a code block as first argument). In such cases, we will of
  3089. course continue to make use of perl subroutine prototypes.
  3090. Let's finally see an example that might clarify the kind of problems the
  3091. use of subroutine prototypes in perl can cause. This is just scratching
  3092. the surface; there are several other aspects, typically subtler and more
  3093. dangerous, that are not touched here.
  3094. If you have the prototyped subroutine definition:
  3095. sub foo ($@)
  3096. {
  3097. my $s = shift;
  3098. print "SCALAR: $s\n";
  3099. print "ARRAY: @_\n";
  3100. }
  3101. and call 'foo' in code like:
  3102. @list = (-1, 0, 1);
  3103. foo(@list);
  3104. you won't get a compile-time nor a runtime error (as a naive interpretation
  3105. of the "prototype" characterization would let you think). Rather, the
  3106. prototype will cause the array '@list' will be coerced into scalar context
  3107. before being passed too 'foo', which means that its *length* (3) will be
  3108. passed to 'foo' as first argument; and since no further arguments are
  3109. present after '@list', that *void* will be coerced to an empty list before
  3110. being passed to 'foo'.
  3111. So code above will have the result of printing:
  3112. SCALAR: 3
  3113. ARRAY:
  3114. Quite tricky, and definitely a behaviour we don't want to rely on.
  3115. * automake.in: Delete most subroutine prototypes. Fix few of the
  3116. remaining ones. Related minor simplifications and adjustments.
  3117. * lib/gen-perl-protos: Adjust.
  3118. 2013-03-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  3119. Merge branch 'preproc' into maint
  3120. * preproc:
  3121. preproc: enhance and extend tests
  3122. preproc: add support for relative names in included fragments
  3123. 2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3124. fixup: one stray reference to older versioning scheme
  3125. * lib/Automake/Options.pm: Here, in a FIXME comment: reference
  3126. "Automake 3.0" rather than "Automake 1.15".
  3127. 2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3128. Merge branch 'branch-1.13.2' into maint
  3129. * branch-1.13.2:
  3130. aclocal: fix for more-than-once specified directories
  3131. aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
  3132. 2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3133. maint: more adjustments to the new versioning scheme
  3134. This is a follow-up to commit 'v1.13.1b-11-g97aaf12'.
  3135. * automake.in: Adjust a comment.
  3136. * PLANS: Adjust several files in here.
  3137. 2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3138. Merge branch 'fix-pr13514' into branch-1.13.2
  3139. * fix-pr13514:
  3140. aclocal: fix for more-than-once specified directories
  3141. aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
  3142. 2013-02-21 Pavel Raiskup <praiskup@redhat.com>
  3143. aclocal: fix for more-than-once specified directories
  3144. Related to automake bug#13514.
  3145. Do not consider directories for extra m4 files multiple times in
  3146. 'aclocal'. Doing so caused problems on older packages that specify
  3147. configure.ac: AC_CONFIG_MACRO_DIRS([m4])
  3148. Makefile.am: ACLOCAL_AMFLAGS = -I m4
  3149. if the 'm4' directory does not exist when aclocal is called the first
  3150. time by autoreconf.
  3151. See:
  3152. <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html>
  3153. * aclocal.in (scan_m4_files): Remove duplicates in @user_includes.
  3154. * t/aclocal-macrodir.tap: Extend.
  3155. * t/aclocal-macrodirs.tap: Likewise.
  3156. 2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3157. Merge branch 'docstrings-tweaks' into maint
  3158. * docstrings-tweaks:
  3159. cosmetics: fix some "docstring-like" comments in automake
  3160. 2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3161. Merge branch 'branch-1.13.2' into maint
  3162. * branch-1.13.2:
  3163. coverage: expose automake bug#13760
  3164. tests: refactor/enhance tests about make dry-run mode
  3165. maint: describe new versioning and branching scheme, and adjust to it
  3166. 2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3167. Merge branch 'new-versioning-scheme' into branch-1.13.2
  3168. * new-versioning-scheme:
  3169. maint: describe new versioning and branching scheme, and adjust to it
  3170. 2013-02-20 Pavel Raiskup <praiskup@redhat.com>
  3171. aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
  3172. Related to automake bug#13514.
  3173. Every package which does not need to have the local m4 macro
  3174. directory pre-existing in the version control system (because
  3175. e.g., it does not have nor need any private m4 macros) would
  3176. fail during the "autoreconf -vfi" phase if AC_CONFIG_MACRO_DIRS([m4])
  3177. is specified in configure.ac (it could be to instruct tools like
  3178. 'autopoint' and 'libtoolize' to use 'm4' as the local directory
  3179. where to install definitions of their m4 macros, and to instruct
  3180. aclocal to look into it). The failure would go like this:
  3181. autoreconf: Entering directory `.'
  3182. autoreconf: running: aclocal --force
  3183. aclocal: error: couldn't open directory 'm4': No such file or directory
  3184. autoreconf: aclocal failed with exit status: 1
  3185. The problem is that when 'aclocal' is run for the first time during
  3186. 'autoreconf', the directory 'm4' does not exist yet. It will be
  3187. created by e.g., 'libtoolize' or 'autopoint' later on. During the
  3188. second 'aclocal' run, the 'm4' directory exists and aclocal does not
  3189. complain.
  3190. To work around this issue, we degrade the error to a simple warning.
  3191. The warning is still quite useful when aclocal is run by hand - so
  3192. we are not removing completely.
  3193. See also:
  3194. <http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html>
  3195. <http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00030.html>
  3196. <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663>
  3197. <https://bugzilla.redhat.com/show_bug.cgi?id=901333>
  3198. * aclocal.in (SCAN_M4_DIRS_SILENT, SCAN_M4_DIRS_WARN)
  3199. (SCAN_M4_DIRS_ERROR): New constants.
  3200. (scan_m4_dirs): Change the second parameter name to $ERR_LEVEL to
  3201. better reflect new semantic. Use new constants.
  3202. (scan_m4_files): Adjust to reflect the new 'scan_m4_dirs' semantics.
  3203. * t/aclocal-macrodir.tap: Adjust.
  3204. * t/aclocal-macrodirs.tap: Likewise.
  3205. * THANKS: Update.
  3206. * NEWS: Likewise.
  3207. Suggested-by: Ben Pfaff <blp@cs.stanford.edu>
  3208. 2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3209. coverage: expose automake bug#13760
  3210. * t/make-dryrun.tap: Here.
  3211. * THANKS: Update with the name of the bug reporter.
  3212. 2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  3213. tests: refactor/enhance tests about make dry-run mode
  3214. * t/make-dryrun.tap: Here.
  3215. 2013-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  3216. maint: describe new versioning and branching scheme, and adjust to it
  3217. See discussion about automake bug#13578 for more details and background.
  3218. Basically, for the versioning scheme:
  3219. - micro versions only for bug and regression fixing;
  3220. - minor versions for new backward-compatible features, and new
  3221. non-fatal deprecations;
  3222. - major versions for backward-incompatibilities, complex new
  3223. features, and major refactoring.
  3224. And for the git branching scheme:
  3225. + branch 'next' is for the upcoming major version;
  3226. + branch 'master' is now for the upcoming minor version;
  3227. + branch 'maint' is for the upcoming micro (bug-fixing) version;
  3228. + the merging hierarchy is: 'maint' -> 'master' -> 'next'.
  3229. * HACKING (Automake versioning and compatibility scheme): New.
  3230. (Working with git): Adjust.
  3231. * NEWS: Update and fix.
  3232. * aclocal.in: Adjust some "FIXME" messages.
  3233. * automake.in: Likewise.
  3234. * m4/mkdirp.m4: Likewise.
  3235. * t/aclocal-acdir.sh: Likewise.
  3236. * t/aclocal-macrodir.tap: Likewise.
  3237. * t/aclocal-macrodirs.tap: Likewise.
  3238. * lib/Automake/Options.pm: Likewise.
  3239. * m4/internal/ac-config-macro-dirs.m4: Likewise.
  3240. 2013-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  3241. cosmetics: fix some "docstring-like" comments in automake
  3242. * automake.in: Here. And remove some redundant ones.
  3243. 2013-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  3244. Merge branch 'perl-sub-protos' into maint
  3245. * perl-sub-protos:
  3246. style: call perl functions 'like_this()', not '&like_this()'
  3247. maint: use more perl subroutines prototypes in the automake script
  3248. build: auto-generate perl subroutines prototypes for automake and aclocal
  3249. refactor: rip module Automake::Language out of automake script
  3250. 2013-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  3251. Merge branch 'branch-1.13.2' into maint
  3252. * branch-1.13.2:
  3253. typofix: in comments in 't/ax/test-lib.sh'
  3254. tests on TAP: don't run the driver with perl unconditionally
  3255. typofix: in comments in 'automake.in'
  3256. tests: remove obsolete (and now wrong) comment
  3257. typofix: in diagnostic in test 't/tap-realtime.sh'
  3258. automake: fix reference to relevant tests in comments
  3259. NEWS: we no longer plan to drop $(INCLUDES) support in next major version
  3260. 2013-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  3261. typofix: in comments in 't/ax/test-lib.sh'
  3262. 2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  3263. style: call perl functions 'like_this()', not '&like_this()'
  3264. We can do so now that our build rules auto-generate a list of
  3265. prototypes for all functions ins our scripts.
  3266. * automake.in: Adjust throughout.
  3267. * HACKING: Adjust advises.
  3268. 2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  3269. preproc: enhance and extend tests
  3270. * t/preproc-demo.sh: New test, a "demo" of how the new pre-processing
  3271. feature could be used in a real-world package.
  3272. * t/preproc-errmsg.sh: New test, check that error messages remain
  3273. useful when the new pre-processing features are involved.
  3274. * t/preproc-reldir.sh: Split up ...
  3275. * t/preproc-basics.sh, t/preproc-c-compile.sh: ... into these two
  3276. tests, with some refactorings, clean-up and enhancements.
  3277. * t/list-of-tests.mk: Adjust.
  3278. 2013-02-14 Peter Rosin <peda@lysator.liu.se>
  3279. Stefano Lattarini <stefano.lattarini@gmail.com>
  3280. preproc: add support for relative names in included fragments
  3281. The rationale for this change is that it is annoying to have
  3282. to repeat the directory name when including a Makefile fragment.
  3283. For deep directory structures these repeats can generate a lot
  3284. of bloat. It also hinders reuse and easy directory restructuring
  3285. if all Makefile fragments have to know exactly where they live.
  3286. Suggested by Bob Friesenhahn, and later discussed in bug#13524.
  3287. In the course of discussion, the following notations were rejected:
  3288. &{reldir}& - to hard to type, {reldir} - interferes with ${reldir},
  3289. {am_reldir} - short form {D} interferes with ${D}, @am_reldir@ - short
  3290. form @D@ interferes with AC_SUBST([D]) as well as invading the
  3291. config.status turf. Other notations were also suggested...
  3292. * automake.in (read_am_file): Add third argument specifying the
  3293. relative directory of this Makefile fragment compared to the
  3294. main Makefile. Replace %reldir% and %canon_reldir% in the
  3295. fragment with this relative directory (with slashes etc, or
  3296. canonicalized).
  3297. (read_main_am_file): Adjust.
  3298. * t/preproc-reldir.sh: New test.
  3299. * t/list-of-tests.mk: Augment.
  3300. * doc/automake.texi (Include): Document the new feature.
  3301. NEWS: Add new feature.
  3302. 2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  3303. tests on TAP: don't run the driver with perl unconditionally
  3304. * t/ax/tap-setup.sh: When a 'Makefile.am' was pre-existent in the
  3305. test directory at the moment the client test script sourced this
  3306. file, said 'Makefile.am' was tweaked to provide it with a proper
  3307. definition of TEST_LOG_DRIVER. However, there was an error in this
  3308. automatic definition, since it caused the TAP test driver to be
  3309. unconditionally invoked with perl. This wasn't an issue in most
  3310. situations, since perl is smart enough to re-execute a given script
  3311. with the proper interpreter if it sees a she-bang line that doesn't
  3312. seem to point to perl itself. Still, there is no reason to do
  3313. something blatantly wrong even if our tools correct the dumb mistake
  3314. for us. So fix the TEST_LOG_DRIVER definition.
  3315. 2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  3316. typofix: in comments in 'automake.in'
  3317. 2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  3318. tests: remove obsolete (and now wrong) comment
  3319. * t/ax/am-test-lib.sh: Here.
  3320. 2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  3321. typofix: in diagnostic in test 't/tap-realtime.sh'
  3322. 2013-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  3323. maint: use more perl subroutines prototypes in the automake script
  3324. * automake.in: Throughout this file. Note that these new prototypes
  3325. are not much useful, since many subroutine calls still use the old
  3326. '&foo' form; but we'll take care of that in later patches.
  3327. * lib/Automake/Language.pm (target_hook): Call the '_target_hook'
  3328. of the given language in a more modern form, avoiding '&'.
  3329. 2013-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  3330. build: auto-generate perl subroutines prototypes for automake and aclocal
  3331. This will allow us to avoid either using the '&foo' invocation form when
  3332. invoking a subroutine before its definition, or having to maintain the
  3333. list of prototypes by hand (with the risk of having it become incomplete
  3334. or fall out-of-sync when future edits to the automake and aclocal scripts
  3335. are done).
  3336. * Makefile.am (automake, aclocal): Automatically generate a list of
  3337. prototypes by looking at the subroutines definitions.
  3338. * bootstrap.sh: Likewise, when generating the temporary automake and
  3339. aclocal scripts used for bootstrapping.
  3340. * automake.in: Add a placeholder that will be tracked by the new recipes
  3341. and substituted with the computed prototypes. Remove existing prototypes,
  3342. that are now superfluous. Some adjustments required by the new, more
  3343. comprehensive prototypes declarations.
  3344. * aclocal.in: Likewise.
  3345. * maintainer/syntax-checks.mk (sc_diff_automake, sc_diff_aclocal): Adjust.
  3346. 2013-02-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  3347. refactor: rip module Automake::Language out of automake script
  3348. This is just a preparatory patch in view of future changes.
  3349. * lib/Automake/Language.pm: New module, ripped out from ...
  3350. * automake.in: ... here. Related adjustments.
  3351. * Makefile.am (dist_perllib_DATA): List the new module.
  3352. 2013-02-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3353. automake: fix reference to relevant tests in comments
  3354. Some of those tests had been renamed in recent or less-recent changes.
  3355. 2013-02-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3356. NEWS: we no longer plan to drop $(INCLUDES) support in next major version
  3357. For a rationale and related discussion, see:
  3358. <http://lists.gnu.org/archive/html/automake/2013-02/msg00001.html>
  3359. And note that support for INCLUDES has not been re-introduced in the
  3360. master branch yet, at the moment of writing; but we plan to definitely
  3361. do so before the next major release.
  3362. 2013-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  3363. Merge branch 'branch-1.13.2' into maint
  3364. * branch-1.13.2:
  3365. NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
  3366. maint: version bump after beta release 1.13.1b
  3367. NEWS: typofix
  3368. release: beta release 1.13.1b (will become 1.13.2)
  3369. 2013-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  3370. NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
  3371. This change is for the maint branch.
  3372. The only IRIX-specific support that is going to actually be removed in
  3373. the next major Automake versions is the depcomp support for the SGI
  3374. compiler. That means that automatic dependency tracking will no
  3375. longer work with that compiler, but "normal" compilation should still
  3376. work, at least until the compiler is supported by Autoconf.
  3377. So there is no point in alarming our users by stating in the NEWS file
  3378. that "support for IRIX and the SGI compilers is going to be removed";
  3379. after all, while we don't test on nor particularly care about IRIX
  3380. anymore, that doesn't mean we are deliberately breaking it, and the
  3381. likelihood of an intended breakage there is very low.
  3382. See:
  3383. <http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00164.html>
  3384. <http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00165.html>
  3385. * NEWS (Future backward-incompatibilities: Adjust. Improve explanation
  3386. of our rationale for dropping SGI support. Fix an unrelated typo while
  3387. at it.
  3388. Suggested-by: Peter Rosin <peda@lysator.liu.se>
  3389. 2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  3390. maint: version bump after beta release 1.13.1b
  3391. * configure.ac (AC_INIT): Bump version number to 1.13.1c.
  3392. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
  3393. 2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  3394. NEWS: typofix
  3395. 2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  3396. release: beta release 1.13.1b (will become 1.13.2)
  3397. * configure.ac (AC_INIT): Bump version number to 1.13.1b.
  3398. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  3399. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3400. Merge branch 'branch-1.13.2' into maint
  3401. * branch-1.13.2:
  3402. docs: '.txi' and '.texinfo' extensions are deprecated
  3403. NEWS: document recent documentation improvements
  3404. docs: more precise cross reference
  3405. docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
  3406. docs: improve documentation of 'dist-*' targets slightly
  3407. docs: make even clearer 'dist-gzip' is the default.
  3408. docs: document 'dist-xz' together with the other 'dist-*' options
  3409. docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
  3410. warn: correct broken hyperlink in warning message
  3411. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3412. docs: '.txi' and '.texinfo' extensions are deprecated
  3413. And Automake will warn about them (since commit 'v1.13.1-6-ge1ed314').
  3414. * doc/automake.texi (Texinfo): Adjust.
  3415. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3416. NEWS: document recent documentation improvements
  3417. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3418. docs: more precise cross reference
  3419. See automake bug#13520.
  3420. * doc/automake.texi (The Types of Distributions): Here,
  3421. cross-reference "List of Automake options" rather then
  3422. the more generic node "Options". Improve wording while
  3423. at it.
  3424. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3425. docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
  3426. Both the options and the formats; and they might be deprecated
  3427. and removed in future automake versions (see discussion on
  3428. automake bug#13324).
  3429. In any case, it's better if the documentation starts advising
  3430. against their use right now.
  3431. * doc/automake.texi (The Types of Distributions): Here.
  3432. (List of Automake options): And here.
  3433. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3434. docs: improve documentation of 'dist-*' targets slightly
  3435. * doc/automake.texi (The Types of Distributions): Here.
  3436. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3437. docs: make even clearer 'dist-gzip' is the default.
  3438. See automake bug#13520.
  3439. * doc/automake.texi (The Types of Distributions): Here.
  3440. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3441. docs: document 'dist-xz' together with the other 'dist-*' options
  3442. See automake bug#13520.
  3443. * doc/automake.texi (List of Automake options): Here.
  3444. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3445. docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
  3446. See automake bug#13519.
  3447. * doc/automake.texi: Adjust.
  3448. 2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  3449. warn: correct broken hyperlink in warning message
  3450. * automake.in (scan_autoconf_traces): Here, when an use of the
  3451. deprecated two- and three-arguments forms of AM_INIT_AUTOMAKE
  3452. is detected.
  3453. Fixes automake bug#13519.
  3454. 2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3455. tests: more information about Lex and Yacc programs
  3456. * t/get-sysconf.sh: Try to also get the version of '$LEX' and '$YACC'.
  3457. This will help debugging of user-reported problems.
  3458. 2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3459. lint: fix spurious failure for 'sc_rm_minus_f' syntax check
  3460. * maintainer/syntax-checks.mk (sc_rm_minus_f): Also exempt
  3461. file 't/rm-f-probe.sh'.
  3462. 2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3463. maint: bump version 1.13.1a -> 1.13.2a
  3464. The 1.13.2 bug-fixing release will ship from the 'branch-1.13.2' git
  3465. branch, not from the 'maint' one, since the latter contains changes
  3466. that are non-trivial and hasn't cooked enough yet. The 'maint' branch
  3467. will give rise to the 1.13.3 release instead, eventually. Adjust the
  3468. version number to match.
  3469. * configure.ac (AC_INIT): Bump version number to 1.13.2b.
  3470. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  3471. 2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3472. Merge branch 'branch-1.13.2' into maint
  3473. That branch is for the "emergency" bug-fixing release 1.13.2.
  3474. * branch-1.13.2:
  3475. maint: update copyright in files generated by automake and aclocal
  3476. tests: avoid a spurious failure when running inside Emacs
  3477. tests: make two new test executable
  3478. m4: rename an m4 file to a more appropriate name
  3479. NEWS: update w.r.t. recent documentation fixes
  3480. compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
  3481. docs: parallel-tests is no longer experimental
  3482. docs: serial-tests are not deprecated, just discouraged
  3483. NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
  3484. 2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  3485. maint: update copyright in files generated by automake and aclocal
  3486. * bootstrap.sh ($RELEASE_YEAR): Bump top 2013.
  3487. * configure.ac ($RELEASE_YEAR): Likewise.
  3488. 2013-01-21 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
  3489. tests: avoid a spurious failure when running inside Emacs
  3490. Some versions of Emacs set the environment variable 'EMACS' to 't'
  3491. for child processes. Thus, when running from inside Emacs, "$(MAKE) -e"
  3492. erroneously allows the 't' to override the one in the Makefile.
  3493. * t/lisp-flags.sh: Unset var 'EMACS', fixing the issue.
  3494. 2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3495. tests: make two new test executable
  3496. * t/backslash-issues.sh: This.
  3497. * t/extra-data.sh: And this.
  3498. Issue revealed by the 'sc_tests_executable' maintainer check.
  3499. 2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3500. m4: rename an m4 file to a more appropriate name
  3501. * m4/obsolete-err.m4: Rename ...
  3502. * m4/obsolete.m4: ... like this.
  3503. * Makefile.am (dist_automake_ac_DATA): Adjust.
  3504. * t/ansi2knr-no-more.sh: Likewise.
  3505. 2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3506. NEWS: update w.r.t. recent documentation fixes
  3507. 2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  3508. compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
  3509. Make them give runtime warnings in the obsolete category, but apart
  3510. from that, make them behave as they did in Automake 1.12.x and earlier.
  3511. While removing those macros seemed quite harmless, because it didn't put
  3512. a real burden on the developers (requiring them just to do a quick edit
  3513. to configure.ac), it turned out to place an unsustainable burden (or at
  3514. least, a burden perceived as such) on distro packagers who use the latest
  3515. Automake to bootstrap existing packages. Many of those packages, while
  3516. having likely updated to AC_CONFIG_HEADERS in their development version,
  3517. still used AM_CONFIG_HEADER in their existing released versions, and the
  3518. removal of this macro would have thus forced the Fedora packagers to
  3519. patch all of them. References:
  3520. <http://www.mail-archive.com/devel@lists.fedoraproject.org/msg52840.html>
  3521. <http://www.spinics.net/lists/fedora-devel/msg175922.html>
  3522. <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
  3523. In addition, the Fedora packagers have already decided to patch their
  3524. Automake 1.13.1 to reinstate the AM_CONFIG_HEADER and AM_PROG_CC_STDC
  3525. macros (plus other macros that I don't believe it's worth worrying about):
  3526. <http://www.spinics.net/lists/fedora-devel/msg176098.html>
  3527. <http://www.mail-archive.com/devel@lists.fedoraproject.org/msg53030.html>
  3528. <http://pkgs.fedoraproject.org/cgit/automake.git/commit/?id=ffe6bc39>
  3529. So, rather than having one more incompatibility floating around, we
  3530. better mirror that change (or, actually, its relevant parts) in the
  3531. upstream.
  3532. * m4/obsolete-err.m4 (AM_CONFIG_HEADER, AM_PROG_CC_STDC): Revert to the
  3533. older semantics, plus a runtime warning in the 'obsolete' category.
  3534. * t/backcompat6.sh: Use AM_CONFIG_HEADER once again.
  3535. * t/am-config-header-no-more.sh: Rename ...
  3536. * t/am-config-header.sh: ... like this, and adjust.
  3537. * t/am-prog-cc-stdc-no-more.sh: Rename ...
  3538. * t/am-prog-cc-stdc.sh: ... like this, and adjust.
  3539. * t/list-of-tests.mk: Adjust.
  3540. * NEWS: Update.
  3541. 2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  3542. Merge branch 'rm-f-probe' into maint
  3543. * rm-f-probe:
  3544. init.m4: add probe to check "rm -f" without args work
  3545. 2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  3546. docs: parallel-tests is no longer experimental
  3547. So don't declare it as such in the documentation.
  3548. Reported by Brandon Black:
  3549. <http://lists.gnu.org/archive/html/automake/2013-01/msg00052.html>
  3550. * doc/automake.texi: Adjust.
  3551. * THANKS: Update.
  3552. 2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  3553. docs: serial-tests are not deprecated, just discouraged
  3554. We don't plan to remove support for them, nor to have the serial-tests
  3555. option give any kind of runtime warning, so don't alarm the users
  3556. still using serial tests with pointless "deprecation" or "obsolescence"
  3557. warnings.
  3558. Fixes automake bug#13478.
  3559. See also:
  3560. <http://lists.gnu.org/archive/html/automake/2013-01/msg00058.html>
  3561. * doc/automake.texi: Adjust.
  3562. * THANKS: Update.
  3563. 2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  3564. plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
  3565. See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
  3566. AM_PROG_MKDIR, again", for the rationale; that rationale is now
  3567. also copied...
  3568. * PLANS/obsolete-removed/am-prog-mkdir-p.txt: ... here.
  3569. 2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  3570. NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
  3571. See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
  3572. AM_PROG_MKDIR, again", for the rationale.
  3573. 2013-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  3574. init.m4: add probe to check "rm -f" without args work
  3575. See automake bug#10828.
  3576. POSIX will say in a future version that running "rm -f" with no argument
  3577. is OK: <http://austingroupbugs.net/view.php?id=542>).
  3578. We want to be able to make that assumption in our Makefile recipes.
  3579. So we introduce an aggressive probe to check that the usage we want is
  3580. actually supported "in the wild" to an acceptable degree.
  3581. * m4/init.m4 (AM_INIT_AUTOMAKE): Implement the probe. To make any issue
  3582. more visible, cause the running configure to be aborted by default if
  3583. the 'rm' program in use doesn't match our expectations; the user can
  3584. still override this though, by setting the ACCEPT_INFERIOR_RM_PROGRAM
  3585. environment variable to "yes".
  3586. * t/spy-rm.tap: Update heading comments.
  3587. * t/rm-f-probe.sh: New test.
  3588. * t/list-of-tests.mk: Add it.
  3589. * PLANS/rm-f-without-args.txt: Adjust.
  3590. 2013-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  3591. subdir-objects: complain if it isn't enabled
  3592. Since the next major automake version will make the behaviour so far
  3593. only activated with the 'subdir-object' option mandatory, it's better
  3594. if we start warning users not using that option.
  3595. As suggested by Peter Johansson, we strive to avoid the warning when
  3596. it would be irrelevant, i.e., if all source files sit in "current"
  3597. directory.
  3598. See automake bug#13378.
  3599. * automake.in (handle_single_transform): Print the warning when
  3600. necessary.
  3601. * t/subobj.sh: Enhance.
  3602. * t/ax/depcomp.sh: Adjust.
  3603. * t/cscope.tap: Likewise.
  3604. * t/depcomp8a.sh: Likewise.
  3605. * t/depcomp8b.sh: Likewise.
  3606. * t/ext2.sh: Likewise.
  3607. * t/extra-portability.sh: Likewise.
  3608. * t/fort2.sh: Likewise.
  3609. * t/fort4.sh: Likewise.
  3610. * t/fort5.sh: Likewise.
  3611. * t/lex-line.sh: Likewise.
  3612. * t/libtool3.sh: Likewise.
  3613. * t/ltinstloc.sh: Likewise.
  3614. * t/ltlibsrc.sh: Likewise.
  3615. * t/ltorder.sh: Likewise.
  3616. * t/parallel-tests-suffix-prog.sh: Likewise.
  3617. * t/sourcefile-in-subdir.sh: Likewise.
  3618. * t/specflg9.sh: Likewise.
  3619. * t/subobj4.sh: Likewise.
  3620. * t/subobj7.sh: Likewise.
  3621. * t/subpkg-yacc.sh: Likewise.
  3622. * t/subpkg.sh: Likewise.
  3623. * t/suffix-custom-subobj-and-specflg.sh: Likewise.
  3624. * t/vala-libs.sh: Likewise.
  3625. * t/vala-non-recursive-setup.sh: Likewise.
  3626. * t/yacc-grepping2.sh: Likewise.
  3627. * t/yacc-line.sh: Likewise.
  3628. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3629. plans: update w.r.t. latest changes
  3630. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3631. ywrap: remove an obsolete FIXME comment
  3632. If it were still relevant, somebody would have complained by now.
  3633. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3634. ywrap: style fixes (no semantic change intended)
  3635. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3636. convenience: "make lint" as an alias for "make maintainer-check"
  3637. * maintainer/syntax-checks.mk (lint): Here. I'm a lazy typist ...
  3638. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3639. docs: typofix in manual
  3640. * doc/automake.texi (Yacc and Lex): Here, don't write "automake -i"
  3641. where "automake -a" is actually intended. Re-wrap some text while
  3642. at it.
  3643. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3644. coverage: using multiple lexers in a single program
  3645. Using Flex and Automake built-in support for lex, that is possible.
  3646. A little tricky, but not difficult.
  3647. See:
  3648. <http://lists.gnu.org/archive/html/automake/2010-10/msg00081.html>
  3649. <http://lists.gnu.org/archive/html/automake/2009-03/msg00061.html>
  3650. * t/lex-multiple.sh: New test.
  3651. * t/list-of-tests.mk: Add it.
  3652. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3653. tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
  3654. Our NEWS file says its use will no longer be required in Automake
  3655. 1.13, so better make sure that is actually the case.
  3656. * Several tests: Adjust.
  3657. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3658. coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
  3659. Suggested by Eric Blake.
  3660. * t/am-prog-cc-c-o.sh: New test.
  3661. * t/list-of-tests.mk: Add it.
  3662. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3663. INSTALL: update copyright years
  3664. 2013-01-12 Mike Frysinger <vapier@gentoo.org> (tiny change)
  3665. ithreads: use runtime (not configure time) detection of perl threads
  3666. I can't imagine the runtime checks being a big runtime penalty, so there
  3667. shouldn't be a need to do the checks at configure check and hardcode the
  3668. result in the generated automake.
  3669. With the current system, it means if you change your perl config (build
  3670. perl w/threads, build automake, build perl w/out threads), or deploy a
  3671. compiled automake package on a different system (build had threads, but
  3672. deployed system does not), you get errors when trying to run automake.
  3673. So take the logic from configure.ac and move it to the one place where
  3674. PERL_THREADS is used (lib/Automake/Config.in) and do the version/config
  3675. checking at runtime.
  3676. * bootstrap.sh (PERL_THREADS): Delete assignment and use in sed.
  3677. * configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code
  3678. related to these two variables.
  3679. * lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to
  3680. 1 if the perl version is at least 5.007_002, and useithreads is in Config.
  3681. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3682. copyright: add few missing copyright notices
  3683. Issue revealed by warnings from "make update-copyright".
  3684. * maintainer/am-ft: Add copyright notice.
  3685. * maintainer/am-xft: Likewise.
  3686. * maintainer/rename-tests: Likewise.
  3687. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3688. maint: files in PLANS are to be exempted from copyright notice
  3689. * maintainer/maint.mk (update-copyright): Adjust.
  3690. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3691. maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
  3692. * maintainer/maint.mk (update-copyright): Here. The 'lib/update-copyright'
  3693. already honoured it, but some parts of our recipe didn't. This has caused
  3694. the incomplete copyright bump that was fixed by the previous patch.
  3695. 2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  3696. copyright: update some copyright years
  3697. With "make update-copyright". Apparently they were missed in the
  3698. last bump.
  3699. * bootstrap.sh, configure.ac, t/txinfo-builddir.sh: In these files.
  3700. 2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  3701. compile: use 'compile' script when "-c -o" is used with losing compilers
  3702. Do so seen when only source files in the "current" directory are present.
  3703. This commit is part of a series of related changes addressing automake
  3704. bug#13378 (see also the plan 'PLANS/subdir-objects.txt').
  3705. Before this change, Automake-generated C compilation rules mistakenly
  3706. passed the "-c -o" options combination unconditionally (even to losing
  3707. compiler) when the 'subdir-objects' was used but sources were only
  3708. present in the top-level directory. Issue spotted by Nick Bowler:
  3709. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
  3710. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
  3711. We fix this by having Automake redefine AC_PROG_CC to take over the role
  3712. of AM_PROG_CC_C_O and to require the 'compile' script unconditionally
  3713. (albeit that will continue to be invoked only when inferior compilers
  3714. are detected).
  3715. Among other things, this means AM_PROG_CC_C_O explicitly is no longer
  3716. required; that macro is still supported for backward-compatibility, but
  3717. calling it is basically a no-op now.
  3718. This change has some pros and some cons (obviously, we believe the former
  3719. outweighs the latter). Here are the most relevant ones:
  3720. + Pros 1:
  3721. Some logic in the Automake script has been simplified.
  3722. + Pros 2:
  3723. That simplification has automatically fixed an actual bug (see
  3724. Nick's mails referenced above; admittedly, that was present only in
  3725. corner-case situations, but still); the test 't/ccnoco4.sh', which
  3726. demonstrated the bug and has been failing so far, now passes.
  3727. + Pros 3:
  3728. Things works more "automagically" now (no need to manually add the
  3729. AM_PROG_CC_C_O macro to configure.ac anymore).
  3730. * Cons 1:
  3731. The 'compile' script will be required in all projects using C
  3732. compilation; this will only be a problem for packages not using
  3733. '--add-missing'. However, such packages are definitely more rare
  3734. than the ones using '--add-missing', and adjusting them will be
  3735. trivial -- just copy the compile script over from the new Automake
  3736. installation.
  3737. * Cons 2:
  3738. The copy & paste of autoconf internals hack this change has introduced
  3739. in our "rewrite" of AC_PROG_CC is really an egregious abomination. It
  3740. can only be justified with the fact that we expect future versions of
  3741. autoconf to implement the semantics we need directly in AC_PROG_CC, so
  3742. that we'll be able to leverage that (since Automake 1.14 will require
  3743. the latest Autoconf version released).
  3744. Now, the detailed list of file-by-file changes ...
  3745. * automake.in ($seen_cc_c_o): Remove this global variable.
  3746. (scan_autoconf_traces): Don't set it, and do not trace the
  3747. 'AM_PROG_CC_C_O' m4 macro.
  3748. (lang_c_rewrite): Remove, no longer needed.
  3749. * doc/automake.texi: Adjust expected "autoreconf --install" output
  3750. in the amhello example. Remove statements about the need for the
  3751. AM_PROG_CC_C_O macro. Report it is obsolete now.
  3752. * m4/init.m4: Re-write AC_PROG_CC to append checks about whether the
  3753. C compiler supports "-c -o" together. These checks have basically
  3754. been ripped out (with adaptations) from the 'AC_PROG_CC_C_O' macro
  3755. of Autoconf and ...
  3756. * m4/minuso.m4 (AM_PROG_CC_C_O): ... this macro of ours, which has
  3757. thus basically become a no-op.
  3758. * t/ax/am-test-lib.sh (am_setup_testdir): Also copy the 'compile'
  3759. script in the test directory; if we don't do so, every test using
  3760. AC_PROG_CC should call automake with the "--add-missing" option, or
  3761. copy the 'compile' script itself.
  3762. * t/cond11.sh: No need to create a dummy 'compile' script: that is
  3763. already brought in by 'am_setup_testdir()', that is automatically
  3764. invoked when 'test-lib.sh' is sourced.
  3765. * t/add-missing.tap: Adjust: we expect the 'compile' script to be
  3766. required by a mere AC_PROG_CC call now.
  3767. * t/dist-auxdir-many-subdirs.sh: Likewise.
  3768. * t/specflg6.sh: Likewise.
  3769. * t/subobj4.sh: Likewise.
  3770. * t/cxx-lt-demo.sh: Likewise, and update comments to match.
  3771. * t/distcom2.sh: Enhance a little.
  3772. * t/dollarvar2.sh: Adjust.
  3773. * t/extra-portability.sh: Likewise.
  3774. * t/libobj19.sh: Likewise.
  3775. * t/per-target-flags.sh: Likewise.
  3776. * t/repeated-options.sh: Likewise.
  3777. * t/subobj.sh: Likewise, and enhance a little.
  3778. * t/ccnoco2.sh: Remove as obsolete.
  3779. * t/list-of-tests.mk (handwritten_TESTS): Adjust.
  3780. (XFAIL_TESTS): Remove 't/ccnoco4.sh'.
  3781. * NEWS: Update.
  3782. 2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  3783. HACKING: suggest more checks before releasing
  3784. In particular, "make check-no-trailing-backslash-in-recipes",
  3785. "make check-cc-no-c-o" and "make maintainer-check" should also
  3786. be run.
  3787. 2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  3788. tests: can fake a compiler not grasping "-c -o" -- globally in all tests
  3789. The ability to easily do so will be quite important in upcoming changes
  3790. about C compilation handling and semantics of the 'subdir-objects'
  3791. option. Refer to the extensive discussion about automake bug#13378 for
  3792. more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378>.
  3793. See also commit 'v1.13.1-34-g744cd57' of 2013-01-08, "coverage: compile
  3794. rules used "-c -o" also with losing compilers".
  3795. * t/ax/cc-no-c-o.in: New, a "C compiler" that chokes when the '-c' and
  3796. '-o' options are passed together to it on the command line.
  3797. * Makefile.am (t/ax/cc-no-c-o): Generate this script from it.
  3798. (noinst_SCRIPTS, CLEANFILES): Add it.
  3799. (EXTRA_DIST): Add 't/ax/cc-no-c-o.in'.
  3800. (check-cc-no-c-o): New target, runs the whole testsuite with 'cc-no-c-o'
  3801. as the C compiler (bot GNU and non-GNU).
  3802. * .gitignore: Update.
  3803. * t/ccnoco.sh: Use the new script instead of duplicating it.
  3804. * t/ccnoco3.sh: Likewise.
  3805. * t/ccnoco4.sh: Likewise.
  3806. * t/self-check-cc-no-c-o.sh: New testsuite self-check.
  3807. * t/list-of-tests.mk: Adjust.
  3808. 2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  3809. sync: update files from upstream with "make fetch"
  3810. * lib/INSTALL: Update.
  3811. * lib/config.guess: Likewise.
  3812. * lib/config.sub: Likewise.
  3813. * lib/gendocs_template: Likewise.
  3814. * lib/gitlog-to-changelog: Likewise.
  3815. * lib/gnupload: Likewise.
  3816. * lib/texinfo.tex: Likewise.
  3817. * lib/update-copyright: Likewise.
  3818. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3819. typofix: in comments in GNUmakefile
  3820. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3821. Rename 'maint/' -> 'maintainer/', for Git's sake
  3822. Otherwise, Git gets confused by the fact that a directory ('maint')
  3823. is named like a branch, and forces me to tweak the command line to
  3824. resolve the ambiguity for it.
  3825. * maint/: Rename ...
  3826. * maintainer/: ... like this.
  3827. * Makefile.am, GNUmakefile: Adjust.
  3828. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3829. HACKING: minor typofix
  3830. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3831. HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
  3832. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3833. HACKING: rewindable branches should live in the 'experimental/*' namespace
  3834. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3835. HACKING: fixlets about git branch rewinding policy
  3836. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3837. HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
  3838. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3839. HACKING: "detailed explanation" in commit messages is almost mandatory
  3840. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3841. HACKING: we use "merge --log" even when merging master
  3842. 2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  3843. HACKING: typofix
  3844. 2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  3845. depend2.am: fix comments on verbosity of compilation rules
  3846. The situation and decisions described on those comments have become
  3847. quite outdated since the introduction of the silent-rules support.
  3848. Today, the general idea is to have nice, terse output if silent rules
  3849. are enabled, and complete, faithful, very verbose output if they are
  3850. not -- without trying to "massage" this verbose output in a more
  3851. pleasant form if that would cause complication in the affected code.
  3852. So it's better to just drop the obsolescent comments.
  3853. Note that we don't start simplifying the existing rules according
  3854. to this new philosophy; that will only be done when touching some
  3855. existing code (for the 'depend2.am' code, that will probably happen
  3856. on the master branch).
  3857. 2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  3858. depend2.am: improve comments a little
  3859. * lib/am/depend2.am: The "fastdep" mode is supported not only for
  3860. gcc 3.x, but for gcc 3.x or later, in particular, for all gcc in
  3861. the 4.x series (at the time of writing, the latest release is 4.72).
  3862. Adjust the comments to match, and re-wrap them while at it.
  3863. 2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  3864. plans: automake 1.14 is to assume "rm -f" with no args is OK
  3865. See automake bug#10828.
  3866. * PLANS/rm-f-without-args.txt: New.
  3867. 2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  3868. plans: we want to active subdir-objects unconditionally in automake 1.14
  3869. See automake bug#13378.
  3870. * PLANS/subdir-objects.txt: New.
  3871. * t/ccnoco4.sh: Improve heading comments a little.
  3872. 2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  3873. tests: adjust stale references to old test names
  3874. * t/remake-renamed-m4-macro-and-file.sh: Adjust to reflect to old
  3875. "acloca22 -> t/aclocal-deleted-header.sh" test rename.
  3876. * t/aclocal-pr450.sh (configure.ac): Use '$me' in the AC_INIT call,
  3877. instead of hard-coding the old name of this test, i.e., "acloca19".
  3878. 2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  3879. tests: rename the last aclocal test with dumb name
  3880. * t/acloca10.sh: Rename ...
  3881. * t/aclocal-I-install.sh: ... to this saner and slightly more
  3882. self-explanatory name.
  3883. * t/list-of-tests.mk: Adjust.
  3884. 2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  3885. tests: fix an old botched change to an aclocal test
  3886. * t/acloca10.sh (configure.ac): Here, invoke the m4 macro 'MACRO2'
  3887. before the macro 'MACRO1' (the related test 't/aclocal-I-order-2.sh'
  3888. does the opposite). This reverts a botched edit done (by myself,
  3889. oops) in commit 'v1.11-1335-gefdc3e1' of 2011-09-11, "tests: minor
  3890. optimizations/simplifications in some aclocal tests", and makes the
  3891. behaviour of the test match once again what is stated in the
  3892. heading comments. While at it, improve those same heading comments
  3893. a little.
  3894. 2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  3895. tests: fix some botched inter-test references in heading comments
  3896. * t/aclocal-I-order-2.sh: Here.
  3897. * t/aclocal-I-order-2.sh: And here.
  3898. 2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  3899. coverage: compile rules used "-c -o" also with losing compilers
  3900. If the 'subdir-objects' option is used, Automake-generated rules for
  3901. C compilation pass both the "-c" and "-o" options to the C compiler,
  3902. *unconditionally*. There are some compilers that choke on such an
  3903. usage, but the AM_PROG_CC_C_O macro takes care of them (it does so by
  3904. redefining $CC to use the Automake-provided 'compile' wrapper script
  3905. automatically, if a losing compiler is detected at configure runtime).
  3906. Unfortunately, in case the 'subdir-objects' option is specified in a
  3907. Makefile.am, but all the source files resided anyway in the top-level
  3908. directory (relative to the Makefile.am), Automake do *not* complain
  3909. if AM_PROG_CC_C_O wasn't invoked in 'configure.ac' -- all the while
  3910. still passing "-c -o" to the compiler invocations. This could cause
  3911. compilation failures with losing compilers if the user forget to call
  3912. AM_PROG_CC_C_O in 'configure.ac' (and Automake would not warn him of
  3913. the issue).
  3914. Expose this bug in the testsuite.
  3915. Issue identified by Nick Bowler in the discussion on automake bug#13378:
  3916. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
  3917. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
  3918. * t/ccnoco4.sh: New test.
  3919. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): List it.
  3920. 2013-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  3921. texi: remove extra verbosity in creation of dirstamp directory
  3922. * lib/am/texi-vers.am (%STAMPVTI%): Here.
  3923. 2013-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  3924. coverage: user can avoid distributing '.info' pages
  3925. Can be done like this:
  3926. AUTOMAKE_OPTIONS = info-in-builddir
  3927. dist-info:
  3928. @:
  3929. Note that this usage is not yet documented: we might decide to go
  3930. for a fully-fledged 'no-dist-info' flag, or something like that, in
  3931. future automake version (this is not yet decided); in which case,
  3932. it's better not to have people start to rely on the hack above.
  3933. Still, there's no good reason to break it gratuitously, hence this
  3934. test coverage.
  3935. * t/txinfo-nodist-info.sh: New test.
  3936. * t/list-of-tests.mk: Add it.
  3937. 2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  3938. Merge branch 'plans' into maint
  3939. * plans:
  3940. plans: add some on-going plans (already registered on the bug tracker)
  3941. 2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  3942. plans: add some on-going plans (already registered on the bug tracker)
  3943. 2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  3944. Merge branch 'plans' into maint
  3945. * plans:
  3946. plans: add the "PLANS" directory
  3947. Conflicts:
  3948. Makefile.am
  3949. 2013-01-04 Karl Berry <karl@gnu.org>
  3950. docs: mention dist-hook help for EXTRA_DIST
  3951. * automake.texi (Basics of Distribution): mention dist-hook
  3952. as working around the problems of whole directories in EXTRA_DIST.
  3953. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3954. texi: remove workaround for older Texinfo (4.1)
  3955. * lib/am/texibuild.am: Here, in the rules generating HTML output.
  3956. We can do so because, since Automake 1.13, we require Texinfo >= 4.9
  3957. anyway.
  3958. Basically a backport of Automake-NG commit '1.12.2-879-ge6caf5e'.
  3959. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3960. NEWS: improve wordings in entry deprecating suffix-less info files
  3961. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3962. build: don't enable 'color-tests' automake option explicitly
  3963. It's enabled by default since commit 'v1.12.2-136-g2d5571e' (this
  3964. change appeared in Automake 1.13).
  3965. * configure.ac (AM_INIT_AUTOMAKE): Drop 'color-tests'.
  3966. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3967. build: enable all warnings as fatal in our own build system
  3968. Automake should of course be able to bootstrap itself in a
  3969. warning-free manner w.r.t. the Autotools. So make any failure
  3970. to do so fatal. Not doing so caused the regression fixed by
  3971. previous commit 'v1.13.1-22-ga790fae' to go unnoticed.
  3972. * configure.ac (AM_INIT_AUTOMAKE): Add '-Werror' and '-Wall'.
  3973. * bootstrap.sh: Pass the '-Wall -Werror' options to aclocal,
  3974. automake and autoconf invocations.
  3975. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3976. texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
  3977. But they don't now, due to a regression introduced in commit
  3978. 'v1.13.1-4-gc1a8f56'. Fix it. The regression was hitting our
  3979. own build system!
  3980. * automake.in (handle_texinfo_helper): Only complain if the
  3981. 'info-in-builddir' is not active and a '.info' file (not any
  3982. random file!) is listed in CLEANFILES or DISTCLEANFILES.
  3983. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3984. tests: make two new test executable
  3985. * t/backslash-issues.sh: This.
  3986. * t/extra-data.sh: And this.
  3987. Issue revealed by the 'sc_tests_executable' maintainer check.
  3988. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3989. Merge branch 'info-in-builddir' into maint
  3990. * info-in-builddir:
  3991. texi: deprecate hack about info files in CLEANFILES variables
  3992. texi: info files can be generated in the builddir
  3993. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  3994. runtest: better command line API
  3995. * t/ax/runtest.in: Accept options '-k' and '--keep-testdirs' (same
  3996. as exporting '$keep_testdirs' to "yes"). To improve compatibility
  3997. with the "make check" interface, allow environment variables to be
  3998. passes on the command line. Minor adjustments while at it.
  3999. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  4000. tests: move runtest.in away from the top-lever directory
  4001. Not only this leaves the top-lever directory less cluttered, but
  4002. helps in keeping the testsuite-related files more "centralized".
  4003. * runtest.in: Move ...
  4004. * t/ax/runtest.in: ... here. While at it, add customary
  4005. '@configure_input@' comment line.
  4006. * Makefile.am (runtest, EXTRA_DIST): Adjust.
  4007. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  4008. maint: move more maintainer files in the 'maint/' subdir
  4009. * maint.mk: Move ...
  4010. * maint/maint.mk: ... here.
  4011. * syntax-checks.mk: Move ...
  4012. * maint/syntax-checks.mk: ... here.
  4013. * Makefile.am: Adjust.
  4014. * GNUmakefile: Likewise.
  4015. 2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  4016. plans: add the "PLANS" directory
  4017. Individual files or sub-directories about future and on-going
  4018. development plans in Automake will be added in follow-up commits.
  4019. This new set of documents is meant to help ensure a more controlled
  4020. and smooth development and evolution for Automake, in several ways.
  4021. - Having the plans clearly spelled out should will avoid messy
  4022. roadmaps with no clear way forward or with muddy or ill-defined
  4023. aims or purposes; a trap this is too easy to fall into.
  4024. - Keeping planned changes cooking and re-hashed for a while should
  4025. ensure rough edges are smoothed up, transitions are planned in a
  4026. proper way (hopefully avoiding debacles like the AM_MKDIR_PROG_P
  4027. deprecation and the AM_CONFIG_HEADER too-abrupt removal), and
  4028. "power users" have more chances of getting informed in due time,
  4029. thus having all the time to prepare for the changes or raise
  4030. objections against them.
  4031. - Having the plans clearly stated and registered in a "centralized"
  4032. location should make it more difficult to them to slip through
  4033. the cracks, getting forgotten or (worse) only half-implemented.
  4034. - Even for discussions and plans registered on the Bug Tracker
  4035. as well, a corresponding entry in the PLANS directory can help
  4036. in keeping main ideas summarized, and consensus and/or objections
  4037. registered and easily compared.
  4038. Motivation:
  4039. <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
  4040. Not a flatting picture for us (and maybe a little too harsh), but
  4041. basically true and even spot-on in some regards.
  4042. * PLANS/README: New.
  4043. * Makefile.am (EXTRA_DIST): Distribute the whole PLANS directory.
  4044. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4045. tests: more significant names for some tests
  4046. * t/spy.sh: Rename...
  4047. * t/spy-double-colon.sh: ... like this.
  4048. * t/yacc4.sh: Rename...
  4049. * t/yacc-misc.sh: ... like this.
  4050. * t/yaccdry.sh: Rename...
  4051. * t/yacc-dry.sh: ... like this.
  4052. * t/yaccpp.sh: Rename...
  4053. * t/yacc-cxx-grepping.sh: ... like this.
  4054. * t/yaccvpath.sh: Rename...
  4055. * t/yacc-vpath.sh: ... like this.
  4056. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4057. maint: add some of my maintainer-specific scripts
  4058. They are likely not general enough for widespread use, but they
  4059. are useful nonetheless.
  4060. In the best-case scenario, they will start to be used by other
  4061. people, and thus accordingly improved and made more general and
  4062. flexible.
  4063. In the worst case scenario, well, I still get to keep them in a
  4064. centralized, blessed place, simplifying the deployment and use
  4065. of them; so still a win for me :-)
  4066. * maint/am-ft: New script.
  4067. * maint/am-xft: Likewise.
  4068. * maint/rename-tests: Likewise.
  4069. * Makefile.am (EXTRA_DIST): Add them.
  4070. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4071. tests: reorganize tests on backslash issues
  4072. * t/backsl.sh, t/backsl2.sh, t/backsl3.sh: Merge ...
  4073. * t/backslash-issues.sh: ... into this test.
  4074. * t/backsl4.sh: Rename ...
  4075. * t/backslash-before-trailing-whitespace.sh: ... like this.
  4076. * t/list-of-tests.mk: Adjust.
  4077. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4078. style: add trailing ':' to some test cases
  4079. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4080. tests: tweak tests on obsolete EXTRA_DATA variable
  4081. * t/extra3.sh, t/extra4.sh: Merge ....
  4082. * t/extra-data.sh: ... into this, with updated comments.
  4083. * t/list-of-tests.mk: Adjust. Also Tweak the order in
  4084. which some other tests are listed.
  4085. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4086. tests: more significant names for some tests
  4087. * t/extra5.sh: Rename ....
  4088. * t/extra-dist-vpath-dir.sh: ... like this.
  4089. * t/extra6.sh: Rename ....
  4090. * t/extra-dist-dirs-and-subdirs.sh: ... like this.
  4091. * t/extra7.sh: Rename ....
  4092. * t/extra-dist-vpath-dir-merge.sh: ... like this.
  4093. * t/extra8.sh: Rename ....
  4094. * t/extra-programs-misc.sh: ... like this.
  4095. * t/extra9.sh: Rename ....
  4096. * t/extra-programs-and-libs.sh: ... like this.
  4097. * t/extra10.sh: Rename ....
  4098. * t/extra-dist-wildcards.sh: ... like this.
  4099. * t/extra11.sh: Rename ....
  4100. * t/extra-dist-wildcards-gnu.sh: ... like this.
  4101. * t/extra12.sh: Rename ....
  4102. * t/extra-dist-wildcards-vpath.sh: ... like this.
  4103. * t/extradep.sh: Rename ....
  4104. * t/extra-deps.sh: ... like this, and adjust heading comments.
  4105. * t/extradep2.sh: Rename ....
  4106. * t/extra-deps-lt.sh: ... like this, and adjust heading comments.
  4107. * t/list-of-tests.mk: Adjust.
  4108. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4109. cosmetics: remove few occurrences of trailing whitespace
  4110. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4111. docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation
  4112. Albeit obsolescent and raising warnings in the 'obsolete' category,
  4113. that usage is still supported, and will need to be until Autoconf
  4114. improves its handling of configure-time-generated package version
  4115. numbers. So it's better to explicitly document it again, stating
  4116. that it is obsoleted but still working (and why), rather then leaving
  4117. it as Yet Another Undocumented Feature (that will mysteriously and
  4118. suddenly break some random day in the future).
  4119. It's worth giving some background about how we ended up in the
  4120. situation that this patch fixes.
  4121. We had originally removed support for the long-deprecated two-args
  4122. AM_INIT_AUTOMAKE invocation (see commit v1.12-67-ge186355). Before
  4123. that removal could land in a released Automake version, Bob Friesenhahn
  4124. made a quite compelling point that the two-args AM_INIT_AUTOMAKE
  4125. invocation could still be useful for modern, maintained packages like
  4126. GraphicsMagick, at least until Autoconf is fixed to offer better support
  4127. for "dynamic" package versions (see commit v1.12.2-245-g2abe183 for more
  4128. in-depth rationales and references). However, in that commit we didn't
  4129. revert the removal of the *documentation* for this two-arguments
  4130. AM_INIT_AUTOMAKE invocation (and no rationale for not doing so was given
  4131. in the commit message). Time to remedy that.
  4132. Indirectly suggested by Diego Elio Pattenò:
  4133. <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
  4134. * doc/automake.texi: Adjust.
  4135. * NEWS: Update.
  4136. * THANKS: Likewise.
  4137. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4138. texi: warn against '.txi' and '.texinfo' input suffixes
  4139. The warning being in the 'obsolete' category. This is mostly to
  4140. ease transition to Automake-NG (see commit v1.12.1-416-gd5459b9),
  4141. and to discourage use of seldom-tested setups.
  4142. * automake.in (handle_texinfo_helper): Warn against Texinfo input
  4143. files with '.txi' or '.texinfo' suffixes.
  4144. * NEWS: Update.
  4145. * t/txinfo-other-suffixes.sh: Adjust and enhance.
  4146. * t/txinfo-no-repeated-targets.sh: No longer use '.txi' and
  4147. '.texinfo' extensions.
  4148. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4149. cleanup: remove two lines of dead code in automake
  4150. * automake.in (scan_texinfo_file): Here, the definition and
  4151. munging of '$infobase'.
  4152. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4153. texi: warn against suffix-less info files
  4154. The warning being in the 'obsolete' category. This is mostly to
  4155. ease transition to Automake-NG (see commit v1.12.1-392-ga0c7b6a),
  4156. and to discourage use of seldom-tested setups.
  4157. * automake.in (scan_texinfo_file): Warn against '@setfilename'
  4158. directives that specify suffix-less output info files.
  4159. * t/txinfo-without-info-suffix.sh: Adjust and enhance.
  4160. * t/txinfo-makeinfo-error-no-clobber.sh: No longer use suffix-less
  4161. info files in '@setfilename' directives.
  4162. * t/primary-prefix-valid-couples.sh: Likewise.
  4163. * t/txinfo-setfilename-repeated.sh: Likewise.
  4164. * t/txinfo-vtexi2.sh : Likewise.
  4165. * t/mdate2.sh: Likewise.
  4166. * NEWS: Update.
  4167. 2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  4168. texi: deprecate hack about info files in CLEANFILES variables
  4169. For quite a long time, Automake has been implementing an undocumented
  4170. hack which ensured that '.info' files which appeared to be cleaned (by
  4171. e.g. being listed in the CLEANFILES or DISTCLEANFILES variables) were
  4172. built in the builddir rather than in the srcdir; this hack was introduced
  4173. to ensure better backward-compatibility with packages such as Texinfo,
  4174. which did things like:
  4175. info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
  4176. DISTCLEANFILES = texinfo texinfo-* info*.info*
  4177. # Do not create info files for distribution.
  4178. dist-info:
  4179. @:
  4180. in order not to distribute .info files.
  4181. Now that we have the 'info-in-builddir' option that explicitly causes
  4182. generated '.info' files to be placed in the builddir, this hack should
  4183. be longer necessary, so we deprecate it with runtime warnings. It is
  4184. scheduled to be removed altogether in Automake 1.14.
  4185. * automake.in (handle_texinfo_helper): Raise proper runtime warnings
  4186. if the hack is triggered.
  4187. * NEWS: Update.
  4188. * t/txinfo28.sh: Adjust.
  4189. * t/txinfo23.sh: Likewise.
  4190. * t/txinfo25.sh: Adjust and extend.
  4191. * t/txinfo24.sh: Likewise.
  4192. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4193. texi: info files can be generated in the builddir
  4194. User can now ask info files to be built in the $(builddir), rather than
  4195. the $(srcdir), by specifying the Automake option 'info-in-builddir'.
  4196. This feature was requested by the developers of GCC, GDB, GNU binutils
  4197. and the GNU bfd library. See the extensive discussion about automake
  4198. bug#11034 for more details.
  4199. OK, to be honest, having '.info' files built in the builddir was
  4200. *already* possible, but only using ugly and undocumented hacks involving
  4201. definition of the CLEANFILES and/or DISTCLEANFILES. For example, the
  4202. binutils project did something like this in the relevant 'Makefile.am':
  4203. # Automake 1.9 will only build info files in the objdir if they are
  4204. # mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
  4205. # though, so we use a bogus condition.
  4206. if GENINSRC_NEVER
  4207. DISTCLEANFILES = binutils.info
  4208. endif
  4209. See also the extensive discussion about automake bug#11034; in
  4210. particular, the following messages:
  4211. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#65>
  4212. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#80>
  4213. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#86>
  4214. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#101>
  4215. * lib/Automake/Options.pm (_is_valid_easy_option): Recognize the
  4216. new 'info-in-builddir' option.
  4217. * automake.in (handle_texinfo_helper): If that option is set,
  4218. initialize '$insrc' to '0', so that info files will be generated
  4219. in the builddir. Adjust comments to match.
  4220. * t/txinfo-builddir.sh: New test.
  4221. * t/list-of-tests.mk: Add it.
  4222. * NEWS: Update.
  4223. * doc/automake.texi: Document the new options.
  4224. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4225. build: respect silent rules in generation of "amhello" example tarball
  4226. * Makefile.am ($(srcdir)/doc/amhello-1.0.tar.gz): Here.
  4227. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4228. NEWS: fixlets and updates
  4229. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4230. post-release: minor version bump (1.13.1a)
  4231. * configure.ac, m4/amversion.m4: Bump version to 1.13.1a.
  4232. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4233. release: stable minor release 1.13.1
  4234. * configure.ac (AC_INIT): Bump version number to 1.13.1.
  4235. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  4236. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4237. tests: don't always look for a C++ compiler named 'RCC'
  4238. On MacOS X (10.8), since the file system is case-insensitive, RCC
  4239. can point to the "Resource Compiler" of the Qt4 Toolkit:
  4240. <http://doc.qt.digia.com/4.2/rcc.html>
  4241. That mismatch causes our configure script to erroneously think that
  4242. no working C++ compiler is present, and that is thus necessary to
  4243. skip all the test cases requiring such a compiler.
  4244. So only look for a compiler named 'RCC' if the file system is
  4245. case-sensible.
  4246. Issue spotted analyzing the testsuite logs reported in bug#13317.
  4247. * configure.ac: Adjust.
  4248. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4249. tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs
  4250. Issue spotted perusing the testsuite logs reported in bug#13317.
  4251. * t/pkg-config-macros.sh: Don't use (uninitialized) '$dir' where '$d'
  4252. should have been used instead. Set IFS to ':' before looping on the
  4253. $PATH expansion. Fix typo: 'alocal' instead of 'aclocal'. These
  4254. issues were causing the location in PATH of the 'pkg-config' program
  4255. not to be found even when the program was present.
  4256. * THANKS: Update.
  4257. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4258. docs: autom4te cache can break CONFIGURE_DEPENDENCIES
  4259. In fact, the new test 'remake-configure-dependencies.sh' only
  4260. works because it disables the autom4te cache :-( That is more
  4261. of an AUtotools design issue than an Automake bug, so better
  4262. just document it ...
  4263. * doc/automake.texi (Rebuilding): ... here.
  4264. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4265. coverage: test CONFIGURE_DEPENDENCIES
  4266. * t/remake-configure-dependencies.sh: New test.
  4267. * t/list-of-tests.mk: Add it.
  4268. * doc/automake.texi: Reference it in comments.
  4269. 2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  4270. coverage: test CONFIG_STATUS_DEPENDENCIES
  4271. * t/remake-config-status-dependencies.sh: New test.
  4272. * t/list-of-tests.mk: Add it.
  4273. * doc/automake.texi: Reference it in comments.
  4274. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4275. tests: fix reference to related tests in some comments
  4276. * t/acloca10.sh: Here.
  4277. * t/check2.sh: And here.
  4278. * t/remake-deleted-m4-file.sh: And here.
  4279. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4280. tests: some enhancements to texinfo tests (from Automake-NG)
  4281. * t/txinfo-many-output-formats.sh: Backport improvements, almost verbatim,
  4282. from Automake-NG commit 'v1.13-768-gb434acc' (plus minor tweaks for the
  4283. sake of non-GNU make implementation).
  4284. * t/txinfo-many-output-formats-vpath.sh: New test, backported almost
  4285. verbatim from that same Automake-NG commit (again, with minor tweaks for
  4286. the sake of non-GNU make implementations).
  4287. * t/lsit-of-tests.mk: Adjust.
  4288. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4289. tests: fix reference to sister tests in two heading comments
  4290. * t/color-tests.sh: Here.
  4291. * t/color-tests2.sh: And here.
  4292. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4293. maint: update copyright year for 2013 (in branch maint)
  4294. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4295. docs: adjust comment w.r.t. recent tests renaming
  4296. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4297. tests: some more renames for texinfo tests
  4298. * t/txinfo.sh: Rename ...
  4299. * t/txinfo-tex-dist.sh: ... like this.
  4300. * t/txinfo10.sh: Rename ...
  4301. * t/txinfo-dvi-recurs.sh: ... like this.
  4302. * t/txinfo20.sh: Rename ...
  4303. * t/txinfo-makeinfo-error-no-clobber.sh: ... like this.
  4304. * t/txinfo-setfilename-suffix-match.sh: Rename ...
  4305. * t/txinfo-setfilename-suffix-strip.sh: ... like this.
  4306. * t/txinfo-suffix-less-info.sh: Rename ...
  4307. * t/txinfo-without-info-suffix.sh: ... like this.
  4308. * t/vtexi.sh: Rename ...
  4309. * t/txinfo-vtexi.sh: ... like this.
  4310. * t/vtexi2.sh: Rename ...
  4311. * t/txinfo-vtexi2.sh: ... like this.
  4312. * t/vtexi3.sh: Rename ...
  4313. * t/txinfo-vtexi3.sh: ... like this, and adjust heading comments.
  4314. * t/vtexi4.sh: Rename ...
  4315. * t/txinfo-vtexi4.sh: ... like this, and adjust heading comments.
  4316. * t/list-of-tests.mk: Adjust.
  4317. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4318. tests: enhance and tweak some texinfo tests
  4319. * t/txinfo-subdir-pr343.sh: Move the tests checking that '.info.bak'
  4320. files in subdirs are not unduly distributed into ...
  4321. * t/txinfo-no-extra-dist.sh: ... in here. Enhance a little while
  4322. at it.
  4323. * t/txinfo-other-suffixes.sh: Also check that the '.texinfo' suffix
  4324. is accepted and works.
  4325. * t/txinfo-setfilename-suffix-match.sh: Remove useless call to
  4326. autoconf, enhance a little.
  4327. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4328. tests: remove a redundant texinfo test
  4329. * t/txinfo-add-missing.sh: This one, its checks being already covered
  4330. by the more extensive 't/add-missing.tap' test.
  4331. * t/txinfo-add-missing2.sh: Rename ...
  4332. * t/txinfo-add-missing-and-dist.sh: Like this.
  4333. * t/list-of-tests.mk: Adjust.
  4334. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4335. tests: don't list a removed tests in XFAIL_TESTS
  4336. * t/list-of-tests.mk (XFAIL_TESTS): No longer list 't/txinfo5.sh' here,
  4337. it has been removed together with the Cygnus support.
  4338. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4339. tests: more explicative names for some tests
  4340. Do so for several Texinfo-related tests. Note that some of such tests
  4341. with suboptimal names are *not* renamed; that's because they are going
  4342. to be removed in the master branch anyway (since they check from some
  4343. soon-to-be-removed features), so renaming them would be wasted work,
  4344. and could even create useless merge conflicts.
  4345. * t/txinfo2.sh: Rename ...
  4346. * t/txinfo-no-extra-dist.sh: ... like this.
  4347. * t/txinfo3.sh: Rename ...
  4348. * t/txinfo-suffix-less-info.sh: ... like this.
  4349. * t/txinfo4.sh: Rename ...
  4350. * t/txinfo-unrecognized-info-suffix.sh: ... like this.
  4351. * t/txinfo6.sh: Rename ...
  4352. * t/txinfo-other-suffixes.sh: ... like this.
  4353. * t/txinfo7.sh: Rename ...
  4354. * t/txinfo-add-missing.sh: ... like this.
  4355. * t/txinfo8.sh: Rename ...
  4356. * t/txinfo-add-missing2.sh: ... like this.
  4357. * t/txinfo9.sh: Rename ...
  4358. * t/txinfo-no-repeated-targets.sh: ... like this.
  4359. * t/txinfo17.sh: Rename ...
  4360. * t/txinfo-setfilename-repeated.sh: ... like this.
  4361. * t/txinfo13.sh: Rename ...
  4362. * t/txinfo-subdir-pr343.sh: ... like this.
  4363. * t/txinfo16.sh: Rename ...
  4364. * t/txinfo-info-in-srcdir.sh: ... like this.
  4365. * t/txinfo21.sh: Rename ...
  4366. * t/txinfo-many-output-formats.sh: ... like this.
  4367. * t/txinfo22.sh: Rename ...
  4368. * t/txinfo-override-texinfo-tex.sh: ... like this.
  4369. * t/txinfo26.sh: Rename ...
  4370. * t/txinfo-absolute-srcdir-pr408.sh: ... like this.
  4371. * t/txinfo27.sh: Rename ...
  4372. * t/txinfo-no-installinfo.sh: ... like this.
  4373. * t/txinfo29.sh: Rename ...
  4374. * t/txinfo-override-infodeps.sh: ... like this.
  4375. * t/txinfo31.sh: Rename ...
  4376. * t/txinfo-setfilename-suffix-match.sh: ... like this.
  4377. * t/txinfo32.sh: Rename ...
  4378. * t/txinfo-bsd-make-recurs.sh: ... like this.
  4379. * t/txinfo33.sh: Rename ...
  4380. * t/txinfo-clean.sh: ... like this.
  4381. * t/list-of-tests.mk: Adjust.
  4382. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4383. cleanup: drop a redundant %?FIRST% transform
  4384. * lib/am/texinfos.am: Here: this file is only included one time
  4385. per Makefile by Automake.
  4386. Cherry picked from Automake-NG commit 'v1.12.2-864-g5c580b0'.
  4387. 2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  4388. maint: state when compatibility cruft should be removed or warned about
  4389. * automake.in: Here.
  4390. * lib/Automake/Options.pm: And here.
  4391. * m4/obsolete-err.m4: And here.
  4392. 2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  4393. fixup: copyright yars in two recent tests
  4394. 2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  4395. obsolete: fixup: don't use AU_DEFUN where AC_DEFUN is required
  4396. * m4/obsolete-err.m4: Here, for the definition of 'AM_PROG_CC_STDC'
  4397. 2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  4398. NEWS: minor fixup
  4399. 2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  4400. obsolete: better error message if AM_PROG_CC_STDC is used
  4401. In Automake 1.13, the long-deprecated (since 2002) macro AM_PROG_CC_STDC
  4402. has been removed. Such a removal, albeit sensible and justified, was
  4403. probably done in a too-abrupt way, since it didn't turn the pre-existing
  4404. warning messages into fatal error messages, but simply dropped the macro
  4405. definition, so that remaining usages of it would cause unclear error
  4406. messages, e.g.:
  4407. configure.ac:4: warning: macro 'AM_PROG_CC_STDC' not found in library
  4408. from aclocal, and:
  4409. configure.ac:4: error: possibly undefined macro: AM_PROG_CC_STDC
  4410. If this token and others are legitimate, please use m4_pattern_allow.
  4411. See the Autoconf documentation.
  4412. from autoconf.
  4413. In an attempt to mitigate this issue, we re-add an AM_PROG_CC_STDC
  4414. definition that simply raises a *clear* error message when the macro
  4415. is used.
  4416. * t/am-prog-cc-stdc-no-more.sh: New test.
  4417. * t/list-of-tests.mk: Add it.
  4418. * m4/obsolete-err.m4: Add the new "error-raising" definition for
  4419. AM_PROG_CC_STDC; the error message is a variation of the one already
  4420. present in the older version of this macro, before it got removed in
  4421. commit 'v1.12-15-gd2ca168'.
  4422. * NEWS: Update.
  4423. 2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  4424. obsolete: better error message if AM_CONFIG_HEADER is used
  4425. In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated
  4426. since 2002) has been removed in favour of AC_CONFIG_HEADERS. However,
  4427. the removal was done without a proper deprecation period, and that
  4428. caused packages upgrading to Automake 1.13 to fail with very unclear
  4429. error messages, e.g.:
  4430. configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library
  4431. from aclocal, and:
  4432. configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER
  4433. If this token and others are legitimate, please use m4_pattern_allow.
  4434. See the Autoconf documentation.
  4435. from autoconf.
  4436. In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER
  4437. definition that simply raises a *clear* error message when the macro
  4438. is used.
  4439. Report by Paolo Bonzini:
  4440. <http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html>
  4441. * t/am-config-header-no-more.sh: New test.
  4442. * t/list-of-tests.mk: Add it.
  4443. * m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER
  4444. "error-raising" definition, as well as the definition of the
  4445. similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES',
  4446. moved in from ...
  4447. * m4/protos.m4: ... this file, which has thus been removed.
  4448. * Makefile.am (dist_automake_ac_DATA): Adjust.
  4449. * t/ansi2knr-no-more.sh: Likewise.
  4450. * NEWS: Update.
  4451. 2012-12-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  4452. sync: update files from upstream with "make fetch"
  4453. * lib/config.sub: Update.
  4454. * lib/config.guess: Likewise.
  4455. 2012-12-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  4456. tests: better names for temporary configure.ac files
  4457. When editing a pre-existent 'configure.ac' file in a test script, name
  4458. the temporary file 'configure.tmp' rather than 'configure.int'; the
  4459. latter was a relict of the times when we used 'configure.in' as the
  4460. default name for the Autoconf input files throughout the testsuite.
  4461. * t/cond43.sh: Adjust.
  4462. * t/depcomp8a.sh: Likewise.
  4463. * t/depcomp8b.sh: Likewise.
  4464. * t/gettext.sh: Likewise.
  4465. * t/mmode.sh: Likewise.
  4466. * t/pr401.sh: Likewise.
  4467. * t/pr401b.sh: Likewise.
  4468. * t/pr401c.sh: Likewise.
  4469. * t/python11.sh: Likewise.
  4470. * t/cond42.sh: Likewise. Also, while at it, rename ...
  4471. (edit_configure_in): ... this function ...
  4472. (edit_configure_ac): ... like this.
  4473. 2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  4474. post-release: minor version bump
  4475. This is for the maint branch.
  4476. * configure.ac, m4/amversion.m4: Bump version to 1.13.0a.
  4477. 2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  4478. release: stable major release 1.13
  4479. * configure.ac (AC_INIT): Bump version number to 1.13.
  4480. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (regenerated
  4481. by "make bootstrap").
  4482. 2012-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  4483. news: fix botched URL
  4484. 2012-12-21 Akim Demaille <akim@lrde.epita.fr>
  4485. ylwrap: various fixes
  4486. Rename properly header guards in generated header files, instead of
  4487. leaving Y_TAB_H.
  4488. Convert header guards in implementation files. Because ylwrap failed
  4489. to rename properly #include in the implementation files, current
  4490. versions of Bison (e.g., 2.7) duplicate the generated header file in
  4491. the implementation file. The header guard then protects the
  4492. implementation file from duplicate definitions from the header file.
  4493. Generate header guards with a single '_' for series of non alphabetic
  4494. characters, instead of several. This is what Bison does.
  4495. Makes the test t/yacc-d-basic.sh pass again.
  4496. * lib/ylwrap (guard): Properly honor $1 to rename properly the
  4497. header guards.
  4498. Keep a single _ instead of several.
  4499. (rename_sed): Rename as...
  4500. (sed_fix_filenames): this.
  4501. Suggested by Stefano Lattarini.
  4502. (sed_fix_header_guards): New.
  4503. Use it.
  4504. 2012-12-21 Akim Demaille <akim@lrde.epita.fr>
  4505. tests: strengthen the ylwrap tests
  4506. * t/yacc-d-basic.sh: Comment changes.
  4507. (generated): New.
  4508. Use it to factor various tests.
  4509. Check that Y_TAB_H is not issued.
  4510. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4511. NEWS: we plan to ditch MS-DOS/DJGPP support in future Automake versions
  4512. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4513. maint: typofixes in makefile comments
  4514. * maint.mk (git-upload-release): Here.
  4515. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4516. maint: remove extra verbosity from a maintainer rule
  4517. * maint.mk (git-upload-release): Here, by adding a forgotten
  4518. '@' recipe modifier.
  4519. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4520. NEWS: fix grammaro
  4521. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4522. maint: version bump after beta release
  4523. * configure.ac (AC_INIT): Bump version number to 1.12c, as per
  4524. HACKING suggestion.
  4525. * m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
  4526. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4527. release: beta release 1.12b (will become 1.13)
  4528. * configure.ac (AC_INIT): Bump version number to 1.12b.
  4529. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  4530. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4531. cosmetics: comments fixlets in our Makefile
  4532. * Makefile.am: Prefer '#' comments over '##' ones where it makes sense.
  4533. Other minor style tweaks to comments about "updated later" variables.
  4534. 2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  4535. cosmetics: consistency changes in some make recipes
  4536. * Makefile.am (install-exec-hook, uninstall-hook): Don't use extra
  4537. quoting in variable assignments. More consistent use of whitespace.
  4538. 2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  4539. tests: avoid a spurious failure on NetBSD
  4540. * t/tags-pr12372.sh (configure.ac): AC_SUBST the LINK variable to a
  4541. dummy invocation, to avoid possible errors from make or the linker;
  4542. errors we do not care about in the least in this test.
  4543. (Makefile.am, sub/Makefile.am): Remove LINK definitions; simply
  4544. inherit that in configure.ac.
  4545. 2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  4546. tests: re-enable some checks disabled by mistake ...
  4547. * t/subpkg-macrodir.sh: ... in this test. And fix some typos that would
  4548. have caused the newly re-enabled check to spuriously fail. Issue revealed
  4549. by the lack of '.PHONY' support in Solaris CCS make (yes, so we've been
  4550. actually *helped* by that make implementation once, at last. Scary ;-)
  4551. 2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  4552. tests: avoid a "grep -E" portability issue
  4553. As stated in the Autoconf manual, the empty alternative is not portable
  4554. with "grep -E". For example, while with GNU grep we have:
  4555. $ echo b | grep -E '(|a)b'; echo status = $?
  4556. b
  4557. status = 0
  4558. with Solaris 10 /usr/xpg4/bin/grep we have:
  4559. $ echo b | grep -E '(|a)b'; echo status = $?
  4560. 1
  4561. status = 1
  4562. * t/silent-texi.sh: That was causing a spurious failure here. Fix it
  4563. by simply using '?' instead (as suggested by the Autoconf manual).
  4564. 2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  4565. tests: avoid a spurious failure due to a Clang bug
  4566. This version of clang:
  4567. clang version 3.2 (trunk 163574)
  4568. Target: powerpc64-unknown-linux-gnu
  4569. Thread model: posix
  4570. caused the test 't/ltcond2.sh' to spuriously fail due to what
  4571. appeared like a clang bug. Here is a part of the diagnostic (trimmed
  4572. down for better clarity):
  4573. clang: .../cfarm/llvm/lib/MC/MCAsmStreamer.cpp:338: \
  4574. virtual void {anonymous}::MCAsmStreamer::EmitLabel(llvm::MCSymbol*): \
  4575. Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' \
  4576. failed.
  4577. ...
  4578. 7 clang 0x0000000012a459c4 llvm::AsmPrinter::EmitGlobalVariable\
  4579. (llvm::GlobalVariable const*) + 18446744073680468044
  4580. 8 clang 0x0000000012a490a8 llvm::AsmPrinter::doFinalization\
  4581. (llvm::Module&) + 18446744073680481840
  4582. ...
  4583. Stack dump:
  4584. 0. Program arguments: .../opt/cfarm/clang-2012.09.10/bin/clang \
  4585. -cc1 -triple powerpc64-unknown-linux-gnu -S -disable-free \
  4586. ...
  4587. 1. <eof> parser at end of file
  4588. 2. Code generation
  4589. 3. Running pass 'Function Pass Manager' on module 'hello-generic.c'.
  4590. clang: error: unable to execute command: Aborted
  4591. clang: error: clang frontend command failed due to signal (use -v to \
  4592. see invocation)
  4593. clang version 3.2 (trunk 163574)
  4594. Target: powerpc64-unknown-linux-gnu
  4595. Thread model: posix
  4596. So tweak the affected test case to avoid triggering this bug. This is
  4597. the easiest way for us to keep the testsuite result clean and meaningful
  4598. on our main Clang test bed.
  4599. * t/ltcond2.sh: Prefer using "extern const char *" variables rather
  4600. than functions returning a statically allocated "const char *" variable.
  4601. 2012-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  4602. NEWS: start preparing for the 1.13 release
  4603. * NEWS: Here. In particular, list (some of) the planned future
  4604. backward-incompatibilities that will take place in Automake 1.14.
  4605. 2012-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  4606. Merge branch 'maint'
  4607. * maint:
  4608. tests: typofix in the shebang line of 't/py-compile-destdir.sh'
  4609. HACKING: release process: fixlets about the announcement
  4610. maint: post-release minor version bump
  4611. release: stable release 1.12.5
  4612. tests: avoid errors due to underquoted third-party macros
  4613. maintcheck: also consider contrib tests for syntax checks
  4614. cosmetics: whitespace fixlets in syntax-checks.mk
  4615. maint: prefer $(MKDIR_P) over $(mkinstalldirs) in maintainer rules
  4616. 2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  4617. tests: typofix in the shebang line of 't/py-compile-destdir.sh'
  4618. 2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  4619. HACKING: release process: fixlets about the announcement
  4620. * HACKING: The announcement should be generate *before* bumping
  4621. the version number to the next alpha number. Also, only an
  4622. abridged version of the announcement should be copied on the
  4623. Savannah news feed (a link to the complete announcement should
  4624. be linked from there, though).
  4625. 2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  4626. maint: post-release minor version bump
  4627. * configure.ac (AC_INIT): Bump version number to 1.12.6a.
  4628. * m4/amversion.m4: Likewise (automatically regenerated by
  4629. "make bootstrap").
  4630. 2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  4631. release: stable release 1.12.5
  4632. * configure.ac (AC_INIT): Bump version number to 1.12.5.
  4633. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  4634. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4635. tests: avoid errors due to underquoted third-party macros
  4636. * t/pkg-config-macros.sh: Call aclocal with the warnings in the
  4637. "syntax" category disabled.
  4638. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4639. maintcheck: also consider contrib tests for syntax checks
  4640. * syntax-checks.mk (xtests): By listing them here.
  4641. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4642. cosmetics: whitespace fixlets in syntax-checks.mk
  4643. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4644. maint: prefer $(MKDIR_P) over $(mkinstalldirs) in maintainer rules
  4645. * maint.mk (check-coverage-run, recheck-coverage-run): Here. This
  4646. is especially useful since $(mkinstalldirs) is no longer available
  4647. in Automake-NG.
  4648. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4649. Merge branch 'maint'
  4650. * maint:
  4651. sync: update files from upstream with "make fetch"
  4652. gitignore: align with recent changes
  4653. fixup: add dummy rule for ChangeLog generation in Makefile.am
  4654. maint: no longer use AM_MAKEFLAGS in maintainer rules
  4655. maint: use more GNU make features in maintainer rules
  4656. maint: move maintainer make rules in maint.mk
  4657. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4658. sync: update files from upstream with "make fetch"
  4659. * lib/gnupload: Update. See:
  4660. <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00050.html>
  4661. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4662. gitignore: align with recent changes
  4663. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4664. fixup: add dummy rule for ChangeLog generation in Makefile.am
  4665. So that automake won't complain about the missing ChangeLog.
  4666. The real rule for ChangeLog generation is now in maint.mk (as
  4667. it is maintainer-specific).
  4668. * Makefile.am (ChangeLog): Dummy.
  4669. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4670. maint: no longer use AM_MAKEFLAGS in maintainer rules
  4671. They are not required with GNU make.
  4672. * maint.mk: Adjust accordingly.
  4673. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4674. maint: use more GNU make features in maintainer rules
  4675. * maint.mk: Here, throughout the file. Other minor cleanups
  4676. and refactorings while at it.
  4677. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4678. maint: move maintainer make rules in maint.mk
  4679. This is done for two reasons:
  4680. 1. It will enable us to take advantage of more GNU make
  4681. features in our maintainer-specific recipes, if we
  4682. want to (and we probably will).
  4683. 2. The Makefile.am won't have to be modified each time a
  4684. maintainer rule needs to be changed or tweaked; this
  4685. will prevent useless remaking of (in particular) the
  4686. 't/testsuite-part.am' file.
  4687. * maint.mk: New, several recipes, rules and variables for
  4688. maintainer-specific tasks, extracted (with some tweaks)
  4689. from ...
  4690. * Makefile.am: ... this file.
  4691. (EXTRA_DIST): Add 'maint.mk'.
  4692. * GNUmakefile: Include 'maint.mk' after 'Makefile'.
  4693. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4694. fixup: source 'test-init.sh', not './defs', in a test
  4695. * t/pkg-config-macros.sh: Here.
  4696. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4697. Merge branch 'maint'
  4698. * maint:
  4699. docs: fixlet about xz compression levels and command line options
  4700. maint: more files excluded in 'update-copyright'
  4701. maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
  4702. HACKING: update instructions to update the manuals at www.gnu.org
  4703. maint: add an explicative comment in Makefile
  4704. maint: factor out the name of the dir where web manuals are generated
  4705. maint: rename rules to build/upload web manuals
  4706. cosmetic: minor variable and rules reordering in Makefile.am
  4707. docs: build the web manuals for CVS in the builddir, not in the srcdir
  4708. release: automate uploading of web manuals in CVS
  4709. docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  4710. tests: avoid two spurious failures on FreeBSD
  4711. tests: improve 'pkg-config' requirement
  4712. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4713. Merge branch 'improve-release-process' into maint
  4714. * improve-release-process:
  4715. HACKING: update instructions to update the manuals at www.gnu.org
  4716. maint: add an explicative comment in Makefile
  4717. maint: factor out the name of the dir where web manuals are generated
  4718. maint: rename rules to build/upload web manuals
  4719. cosmetic: minor variable and rules reordering in Makefile.am
  4720. docs: build the web manuals for CVS in the builddir, not in the srcdir
  4721. release: automate uploading of web manuals in CVS
  4722. docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  4723. tests: avoid two spurious failures on FreeBSD
  4724. 2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  4725. Merge branch 'pkgconfing-tests-requirement' into maint
  4726. * pkgconfing-tests-requirement:
  4727. tests: improve 'pkg-config' requirement
  4728. 2012-12-14 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
  4729. docs: fixlet about xz compression levels and command line options
  4730. * doc/automake.texi (The types of distributions): To display a
  4731. progress bar, xz takes "-v" for verbose.
  4732. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4733. maint: more files excluded in 'update-copyright'
  4734. This will avoid the following spurious warnings when
  4735. "make update-copyright" is run:
  4736. .autom4te.cfg: warning: copyright statement not found
  4737. .git-log-fix: warning: copyright statement not found
  4738. .gitattributes: warning: copyright statement not found
  4739. .gitignore: warning: copyright statement not found
  4740. AUTHORS: warning: copyright statement not found
  4741. THANKS: warning: copyright statement not found
  4742. contrib/README: warning: copyright statement not found
  4743. contrib/multilib/README: warning: copyright statement not found
  4744. doc/amhello/README: warning: copyright statement not found
  4745. lib/install-sh: warning: copyright statement not found
  4746. lib/mkinstalldirs: warning: copyright statement not found
  4747. m4/acdir/README: warning: copyright statement not found
  4748. t/README: warning: copyright statement not found
  4749. * Makefile.am (files_without_copyright): New.
  4750. (update-copyright): Use it when computing '$exclude_list'.
  4751. Also, skip any README file.
  4752. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4753. maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
  4754. This is a fixup for commit v1.12.5-27-g71ce1b4 of 2012-12-09, "fetch:
  4755. improve, and reduce code duplication".
  4756. * Makefile.am (update-copyright): Adjust.
  4757. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4758. HACKING: update instructions to update the manuals at www.gnu.org
  4759. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4760. maint: add an explicative comment in Makefile
  4761. * Makefile.am (web-manual-update): Here, about a slightly tricky
  4762. feature of rsync(1) used in the recipe.
  4763. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4764. maint: factor out the name of the dir where web manuals are generated
  4765. Just a minor refactoring to reduce duplication; no semantic change is
  4766. intended.
  4767. * Makefile.am (web_manual_dir): New.
  4768. (web-manual, web-manual-update, clean-web-manual): Use it.
  4769. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4770. maint: rename rules to build/upload web manuals
  4771. The new names are the same used by the similar-purpose rules provided by
  4772. the 'top/maint.mk' makefile in gnulib (as of commit v0.0-7741-g4a8c422).
  4773. No need to have gratuitous incompatibilities.
  4774. * Makefile.am (web-manuals): Rename ...
  4775. (web-manual): ... like this.
  4776. (upload-web-manuals): Rename ...
  4777. (web-manual-update): ... like this.
  4778. (clean-web-manuals): Rename ...
  4779. (clean-web-manual): ... like this.
  4780. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4781. cosmetic: minor variable and rules reordering in Makefile.am
  4782. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4783. docs: build the web manuals for CVS in the builddir, not in the srcdir
  4784. We can do so using the '-I' option of the gendocs.sh script.
  4785. Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided
  4786. by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in
  4787. its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda).
  4788. * Makefile.am (web-manuals): Modify and simplify to take advantage
  4789. of gendocs.sh's '-I' option.
  4790. (upload-we-manuals): Accordingly adjust sanity checks and the rsync
  4791. invocation in the recipe.
  4792. (clean_texinfo_clutter_cmd): Delete this variable, it's no longer
  4793. required.
  4794. (clean-texinfo-clutter): Delete this phony target, it's no longer
  4795. required.
  4796. (clean-local): Don't depend on it.
  4797. * configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S)
  4798. in the new 'web-manuals' recipe.
  4799. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4800. release: automate uploading of web manuals in CVS
  4801. This is partly inspired to the 'gnu-web-doc-update' script from
  4802. gnulib. Unfortunately, we can't use that script directly, because
  4803. as of now it assumes a build system integrated with gnulib.
  4804. * Makefile.am (upload-web-manuals): New .PHONY rule.
  4805. (RSYNC, CVS, CVSU, CVS_USER, WEBCVS_ROOT): New variables, used by
  4806. the new rule.
  4807. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4808. docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  4809. * doc/automake.texi (Program variables): Here. Reported by NightStrike:
  4810. <http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>
  4811. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4812. tests: avoid two spurious failures on FreeBSD
  4813. Due to the FreeBSD make bug that causes of the well-known automake
  4814. bug#7884, two of our bison-requiring tests were failing on FreeBSD.
  4815. To avoid this, simply skip the part of these tests affected by that
  4816. bug.
  4817. * t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
  4818. * t/yacc-bison-skeleton-cxx.sh: Likewise.
  4819. * t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
  4820. as well, instead of running "$MAKE distcheck" only when $MAKE
  4821. is GNU make.
  4822. 2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  4823. tests: improve 'pkg-config' requirement
  4824. This improves (and unifies among different tests) the detection of
  4825. both the 'pkg-config' program and m4 macros provided by it; they are
  4826. needed in particular by tests on Vala support.
  4827. Before this, some Vala-related tests were failing spuriously when the
  4828. pkg-config program was available but the macros from pkg.m4 were not
  4829. made explicitly available in ACLOCAL_PATH. These tests were:
  4830. vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath
  4831. See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22,
  4832. "tests: better handling of gettext and libtool requirements".
  4833. * t/ax/am-test-lib.sh (process_requirements): If a requirement
  4834. matches the 'pkg-config*' wildcard, try to make available to it
  4835. the pkg-config m4 macros, and skip it if it's not possible.
  4836. This is done by sourcing the 'get.sh' fragment generated by ...
  4837. * t/pkg-config-macros.sh: ... this new test, which looks in
  4838. advance for the 'pkg-config' program and the m4 macros that
  4839. comes with it.
  4840. * t/list-of-tests.mk: Add the new test.
  4841. * gen-testsuite-part (%deps_extractor): Tests requiring pkg-config
  4842. will need the m4 macros coming with it; so these tests should be
  4843. run after the 'pkg-config-macros.sh' test. Automatically generate
  4844. proper declarations for such dependencies.
  4845. * t/vala-header.sh: No need to explicitly check that the macro
  4846. PKG_CHECK_MODULES has been expanded by autoconf.
  4847. * t/vala-libs.sh: Likewise.
  4848. * t/vala-non-recursive-setup.sh: Likewise.
  4849. * t/vala-per-target-flags.sh: Likewise.
  4850. * t/vala-recursive-setup.sh: Likewise.
  4851. 2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  4852. Merge branch 'maint'
  4853. * maint:
  4854. docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  4855. maintcheck: prefer '$(am__cd)' over plain 'cd'
  4856. fetch: improve, and reduce code duplication
  4857. docs: add rule to generate manuals for www.gnu.org
  4858. docs: copy the 'gendocs.sh' script from Texinfo CVS repository
  4859. sync: update files from upstream with "make fetch"
  4860. release: generate a stub for the release announcement
  4861. release: distinguish major and minor releases
  4862. tests: avoid two spurious failures on FreeBSD
  4863. 2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  4864. Merge branch 'improve-release-process' into maint
  4865. * improve-release-process:
  4866. maintcheck: prefer '$(am__cd)' over plain 'cd'
  4867. fetch: improve, and reduce code duplication
  4868. docs: add rule to generate manuals for www.gnu.org
  4869. docs: copy the 'gendocs.sh' script from Texinfo CVS repository
  4870. sync: update files from upstream with "make fetch"
  4871. release: generate a stub for the release announcement
  4872. release: distinguish major and minor releases
  4873. 2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  4874. docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
  4875. * doc/automake.texi (Program variables): Here. Reported by NightStrike:
  4876. <http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>
  4877. 2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  4878. maintcheck: prefer '$(am__cd)' over plain 'cd'
  4879. In a couple of rules in out own build system, as suggested by the
  4880. maintainer check 'sc_cd_relative_dir'.
  4881. * Makefile.am (web-manuals, clean_texinfo_clutter_cmd): Adjust.
  4882. 2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  4883. fetch: improve, and reduce code duplication
  4884. * Makefile.am (WGET_SV_CVS, WGET_SV_GIT_CF, WGET_SV_GIT_AC,
  4885. WGET_SV_GIT_GL): Delete.
  4886. (SV_CVS, SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): New.
  4887. (fetch): Simplify and enhance.
  4888. (update-copyright): Adjust.
  4889. 2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  4890. docs: add rule to generate manuals for www.gnu.org
  4891. Less clerical work to do by hand.
  4892. * Makefile.am (web-manuals): New rule.
  4893. (clean_texinfo_clutter): New macro.
  4894. * clean-web-manuals, clean-texinfo-clutter: New cleaning
  4895. rules.
  4896. (clean-local): Depend on them.
  4897. * .gitignore: Update.
  4898. * HACKING: Adjust instructions for generation of manuals.
  4899. 2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  4900. docs: copy the 'gendocs.sh' script from Texinfo CVS repository
  4901. As well as the 'gendocs_template' file. And enhance the "make fetch"
  4902. target to keep them synced. It's better than having to fetch these
  4903. files by hand each time a release is to be made.
  4904. * Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'.
  4905. (fetch): Fetch them, into 'lib/'.
  4906. (EXRA_DIST): Distribute them.
  4907. * HACKING: Adjust instructions for generation of manuals.
  4908. 2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  4909. sync: update files from upstream with "make fetch"
  4910. * lib/config.sub: Update.
  4911. 2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  4912. release: generate a stub for the release announcement
  4913. It's much better than having to write it my hand each time; after all,
  4914. most of it is either boilerplate or a cope of NEWS entries.
  4915. * Makefile.am (determine_release_type): Also set the shell variable
  4916. '$announcement_type' appropriately.
  4917. (print-release-type): Print the value of this new variable as well.
  4918. (announcement): New phony target, generate a files with the same name.
  4919. The recipe uses the shell variable '$announcement_type'.
  4920. (CLEANFILES): Clean it.
  4921. (PACKAGE_MAILINGLIST): New make macro, used when generating the
  4922. 'announcement' file.
  4923. * HACKING: Explain how to take advantage of the new convenience
  4924. target.
  4925. * .gitignore: Ignore the 'announcement' file.
  4926. 2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  4927. release: distinguish major and minor releases
  4928. This is mostly a preparatory change, in view of future
  4929. improvements in our release process.
  4930. * Makefile.am (determine_release_type): Also distinguish
  4931. between major and minor releases, with the help of ...
  4932. (stable_major_version_rx, stable_minor_version_rx): ... these
  4933. new macros.
  4934. (stable_version_rx): Remove, it's obsolete now.
  4935. (version_rx): Rename ...
  4936. (base_version_rx): ... like this, and adjust.
  4937. (print-release-type): New target; helps in debugging the code
  4938. that determines the release type.
  4939. 2012-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  4940. tests: avoid two spurious failures on FreeBSD
  4941. Due to the FreeBSD make bug that causes of the well-known automake
  4942. bug#7884, two of our bison-requiring tests were failing on FreeBSD.
  4943. To avoid this, simply skip the part of these tests affected by that
  4944. bug.
  4945. * t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
  4946. * t/yacc-bison-skeleton-cxx.sh: Likewise.
  4947. * t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
  4948. as well, instead of running "$MAKE distcheck" only when $MAKE
  4949. is GNU make.
  4950. 2012-11-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  4951. Merge branch 'depcomp-work'
  4952. * depcomp-work:
  4953. depcomp: remove 'icc' depmode, add 'tcc' one
  4954. news: update w.r.t. recent depcomp changes
  4955. tests: fix spurious failures with tcc
  4956. depcomp: improve comments about tcc support
  4957. depcomp: remove last relics of libtool 1.4 support
  4958. depcomp: remove an unused variable
  4959. depcomp: rewrite a sed invocation for less quoting
  4960. depcomp: whitespace fixes
  4961. depcomp: shell code style changes
  4962. depcomp: make some code more self-documenting
  4963. depcomp: less duplication between AIX and Tru64 modes
  4964. depcomp: avoid an extra fork when possible
  4965. depcomp: reduce code duplication
  4966. depcomp: don't rely on character ranges working as in C locale
  4967. depcomp: cosmetic fixlets to a comment
  4968. depcomp: safer quoting in variable expansion
  4969. depcomp: correctly propagate exit status in exit trap
  4970. depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
  4971. depcomp: remove useless quoting in variable definitions
  4972. depcomp: be more idiomatic in checking for zero exit statuses
  4973. 2012-11-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  4974. Merge branch 'maint'
  4975. * maint:
  4976. news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
  4977. tests: give few vala tests more significant names
  4978. vala tests: don't use the 'posix' profile, it's no longer supported
  4979. news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
  4980. news: document the fix for automake bug#10227
  4981. tests: fix a spurious testsuite failure on Solaris
  4982. python: make installed modules find by default on Debian and Ubuntu
  4983. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  4984. news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
  4985. See also commit v1.12.4-158-gdf23daf.
  4986. * NEWS (Future backward-incompatibilities): Adjust accordingly.
  4987. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  4988. tests: give few vala tests more significant names
  4989. * t/vala.sh: Rename ...
  4990. * t/vala-grepping.sh: ... like this.
  4991. * t/vala2.sh: Rename ...
  4992. * t/vala-recursive-setup.sh: ... like this.
  4993. * t/vala3.sh: Rename ...
  4994. * t/vala-non-recursive-setup.sh: ... like this.
  4995. * t/vala4.sh: Rename ...
  4996. * t/vala-configure.sh: ... like this.
  4997. * t/vala5.sh: Rename ...
  4998. * t/vala-per-target-flags.sh: ... like this, and slightly
  4999. improve heading comments.
  5000. * t/list-of-tests.mk: Adjust.
  5001. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  5002. vala tests: don't use the 'posix' profile, it's no longer supported
  5003. Fixes automake bug#12934 a.k.a. bug#12522.
  5004. Some of automake's Vala tests used to rely on "valac --profile posix"
  5005. (which makes it not use glib). However, the posix profile was removed
  5006. in August 2012, and is no longer present in the GNOME 3.6.2 version
  5007. of valac (see commit ca020bf0 in the vala Git repository).
  5008. * t/vala-libs.sh: Adjust to avoid using the posix profile.
  5009. * t/vala-mix.sh: Likewise.
  5010. * t/vala-mix2.sh: Likewise.
  5011. * t/vala-parallel.sh: Likewise.
  5012. * t/vala-vapi.sh: Likewise.
  5013. * t/vala-vpath.sh: Likewise.
  5014. * NEWS: Update and adjust.
  5015. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  5016. news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
  5017. * NEWS (Bugs fixed in 1.12.5): So move it from here ...
  5018. (Bugs fixed in 1.12.6): ... to here.
  5019. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  5020. news: document the fix for automake bug#10227
  5021. This is a follow-up commit for v1.12.5-14-g1f113f6.
  5022. * NEWS: Update.
  5023. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  5024. Merge branch 'python-fix-pr10227' into maint
  5025. * python-fix-pr10227:
  5026. python: make installed modules find by default on Debian and Ubuntu
  5027. 2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  5028. tests: fix a spurious testsuite failure on Solaris
  5029. Reported in automake bug#11524.
  5030. * t/amhello-binpkg.sh: When non-GNU tar is in use, relax grepping of
  5031. "tar cvf ..." output a little more.
  5032. 2012-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  5033. tests: give few aclocal tests more significant names
  5034. * t/dirlist-abspath.sh: Rename ...
  5035. * t/aclocal-dirlist-abspath.sh: ... like this.
  5036. * t/dirlist.sh: Rename ...
  5037. * t/aclocal-dirlist.sh: ... like this.
  5038. * t/dirlist2.sh: Rename ...
  5039. * t/aclocal-dirlist-globbing.sh: ... like this.
  5040. * t/list-of-tests.mk: Adjust.
  5041. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5042. tests: remove a redundant workaround for a testsuite weakness
  5043. * t/warnings-unknown.sh: Here, since we have improved our wrapper
  5044. scripts for aclocal and automake enough to make that workaround
  5045. unneeded.
  5046. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5047. depcomp: remove 'icc' depmode, add 'tcc' one
  5048. According to the comments in the now-removed test 'depcomp5.test' (removed
  5049. by commit 'v1.11-1829-g5066c1b' of 2012-02-08, "tests: improve and rework
  5050. tests on dependency tracking") "icc 8.0 and greater understand gcc options,
  5051. so depmode is set to gcc". According to Wikipedia, the 8.0 version of the
  5052. Intel C compiler has been released in December 2003, that is, almost nine
  5053. yeas ago. So we can remove explicit support for icc 7.x from the depcomp
  5054. script.
  5055. Since our support for tcc has so far been relied on the icc depmode, we
  5056. must write a new explicit 'tcc' depmode. That is easy to do, since we can
  5057. rely on the simpler and better-specified format of tcc-specified makefiles;
  5058. for more info, see:
  5059. <http://lists.gnu.org/archive/html/automake/2012-10/msg00043.html>
  5060. * lib/depcomp (icc): Remove.
  5061. (tcc): New.
  5062. * NEWS: Update.
  5063. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5064. news: update w.r.t. recent depcomp changes
  5065. * NEWS: Here.
  5066. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5067. tests: fix spurious failures with tcc
  5068. * t/depcomp8a.sh, t/depcomp8b.sh: Here, by avoiding initialization of
  5069. global 'extern' variables, preferring functions definitions instead.
  5070. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5071. depcomp: improve comments about tcc support
  5072. * lib/depcomp (icc): Here. See also tcc commit 0394caf7 "Emit spaces
  5073. for -MD" and automake commit v1.11-768-gb96263 "depcomp: support tcc
  5074. (Tiny C Compiler)".
  5075. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5076. depcomp: remove last relics of libtool 1.4 support
  5077. * lib/depcomp (tru64): Here.
  5078. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5079. depcomp: remove an unused variable
  5080. * lib/depcomp ($alnum): This.
  5081. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5082. depcomp: rewrite a sed invocation for less quoting
  5083. * lib/depcomp (dashmstdout): Here.
  5084. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5085. depcomp: whitespace fixes
  5086. * lib/depcomp: We indent by two spaces, and without using tabs.
  5087. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5088. depcomp: shell code style changes
  5089. * lib/depcomp: Here, in comments and line continuations.
  5090. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5091. depcomp: make some code more self-documenting
  5092. * lib/depcomp (make_dummy_makefile): With the help of this function.
  5093. Use it throughout.
  5094. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5095. depcomp: less duplication between AIX and Tru64 modes
  5096. * lib/depcomp (tru64, aix): In these entries of the big 'case'
  5097. switch, with the help of ...
  5098. (aix_post_process_depfile): ... this new function.
  5099. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5100. depcomp: avoid an extra fork when possible
  5101. * lib/depcomp (set_dir_from): Here.
  5102. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5103. depcomp: reduce code duplication
  5104. * lib/depcomp: Here, when we have to get the directory and basename
  5105. components of objects or source files; do so with the help of ...
  5106. (set_dir_from, set_base_from): ... these new shell functions.
  5107. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5108. depcomp: don't rely on character ranges working as in C locale
  5109. * lib/depcomp (pgcc): Here.
  5110. Related reorganization, with the unconditional definition of ...
  5111. ($upper, $lower, $digits, $alnum, $alpha): ... these shell variables.
  5112. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5113. depcomp: cosmetic fixlets to a comment
  5114. * lib/depcomp (pgcc): Here, as that's unportable according to the
  5115. autoconf manual. In fact, there's no need to re-trap the signals
  5116. just before exiting, since at that point a signal would cause at
  5117. most a useless but harmless attempt to remove the
  5118. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5119. depcomp: safer quoting in variable expansion
  5120. * lib/depcomp (pgcc): Here. Probably not needed, but since the
  5121. rest of the script seems to employ proper quoting, better to be
  5122. consistent.
  5123. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5124. depcomp: correctly propagate exit status in exit trap
  5125. * lib/depcomp (pgcc): Here.
  5126. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5127. depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
  5128. * lib/depcomp (pgcc): Here.
  5129. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5130. depcomp: remove useless quoting in variable definitions
  5131. * lib/depcomp (pgcc): Here.
  5132. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5133. depcomp: be more idiomatic in checking for zero exit statuses
  5134. * lib/depcomp: Prefer "if test $stat -ne 0; then ..." over the longer
  5135. "if test $stat -eq 0; then :; else ...".
  5136. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5137. tests: give some tests more significant names
  5138. * t/req.sh: Rename ...
  5139. * t/aclocal-req.sh: ... like this.
  5140. * t/reqd.sh: Rename ...
  5141. * t/add-missing-multiple.sh: ... like this.
  5142. * t/block.sh: Rename ...
  5143. * t/comment-block.sh: ... like this.
  5144. * t/list-of-tests.mk: Adjust.
  5145. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5146. Merge branch 'maint'
  5147. * maint:
  5148. tests: fix a spurious failure with older flex versions
  5149. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5150. python: make installed modules find by default on Debian and Ubuntu
  5151. This change fixes automake bug#10227.
  5152. The code used to get the python package directory was wrong for Python 3,
  5153. at least on Debian and Ubuntu distributions. In the case the installation
  5154. was using the default prefix "/usr/local", python modules were incorrectly
  5155. installed in the directory
  5156. /usr/local/lib/python3/dist-packages
  5157. (which is *not* searched by default), rather than in a directory like
  5158. /usr/local/lib/python3.x/dist-packages
  5159. which is searched by default.
  5160. * m4/python.m4 (AM_PATH_PYTHON): Try to use the 'sysconfig' module if
  5161. possible, for better interactions with python 3.x.
  5162. Helped-by: Reuben Thomas <rrt@sc3d.org>
  5163. Helped-by: Roumen Petrov <bugtrack@roumenpetrov.info>
  5164. 2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  5165. tests: fix a spurious failure with older flex versions
  5166. See automake bug#11524 and bug#12836.
  5167. * t/lex-header.sh: Here, we use flex option '--header-file',
  5168. but that option is not supported by some older flex versions.
  5169. Simply skip this test if such an old flex version is detected.
  5170. 2012-11-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  5171. tests: avoid a failure due to m4 builtin 'sinclude' in package name
  5172. Even with Autoconf 2.69, AC_INIT is not very robust when to package
  5173. names that contain some selected m4 builtins; for example:
  5174. $ echo 'AC_INIT([sinclude], [1.0])' | autoconf -o/dev/null -
  5175. stdin:1: warning: file `' included several times
  5176. $ echo 'AC_INIT([dnl], [1.0])' | autoconf -o/dev/null -
  5177. /usr/bin/m4:stdin:1: excess arguments to builtin `m4_define' ignored
  5178. autom4te: /usr/bin/m4 failed with exit status: 1
  5179. Reference:
  5180. <http://lists.gnu.org/archive/html/bug-autoconf/2012-11/msg00005.html>
  5181. * t/aclocal-m4-sinclude.sh (configure.ac): Use 'm4sinclude' as package
  5182. name in the AC_INIT invocation, to avoid tickling the just-described
  5183. bug.
  5184. 2012-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  5185. Merge branch 'maint'
  5186. * maint:
  5187. tests: fix a spurious failure when $PYTHON is in the environment
  5188. python tests: support PEP-3147 installation layout
  5189. python: uninstall cater to PEP-3147
  5190. tests: improve a comment
  5191. tests: honour $PYTHON override
  5192. tests: typofix in message
  5193. news: document fix for bug#8847 (PEP-3147, __pycache__)
  5194. python: improve support for modern python (CPython 3.2 and PyPy)
  5195. 2012-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  5196. Merge branch 'python-pep-3147' into maint
  5197. * python-pep-3147:
  5198. tests: fix a spurious failure when $PYTHON is in the environment
  5199. python tests: support PEP-3147 installation layout
  5200. python: uninstall cater to PEP-3147
  5201. tests: improve a comment
  5202. tests: honour $PYTHON override
  5203. tests: typofix in message
  5204. news: document fix for bug#8847 (PEP-3147, __pycache__)
  5205. python: improve support for modern python (CPython 3.2 and PyPy)
  5206. 2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  5207. tests: fix a spurious failure when $PYTHON is in the environment
  5208. * t/python11.sh: This test doesn't interact well with user-overrides of
  5209. $PYTHON; and, given its particular nature, neither should it be expected
  5210. to honour that override. Just unset that $PYTHON variable and live
  5211. happy.
  5212. 2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  5213. python tests: support PEP-3147 installation layout
  5214. This fixes several spurious testsuite failures with python >= 3.2,
  5215. introduced by recent commit v1.12.4-43-ge0e99ed, "python: improve
  5216. support for modern python (CPython 3.2 and PyPy)".
  5217. * t/ax/am-test-lib.sh (python_has_pep3147, pyc_location, py_installed):
  5218. New functions.
  5219. ($am_pep3147_tag): New variable.
  5220. * t/py-compile-basic2.sh: Deleted, too difficult to adapt for the
  5221. gain it would offer; move the still relevant parts ...
  5222. * t/py-compile-basic.sh: ... here. Adapt and adjust the rest of
  5223. the test as well.
  5224. * t/nobase-python.sh: Adapt and adjust.
  5225. * t/py-compile-basedir.sh: Likewise.
  5226. * t/py-compile-destdir.sh: Likewise.
  5227. * t/py-compile-option-terminate.sh: Likewise.
  5228. * t/python-pr10995.sh: Likewise.
  5229. * t/python-virtualenv.sh: Likewise.
  5230. * t/python10.sh: Likewise.
  5231. * t/python12.sh: Likewise.
  5232. * t/python3.sh: Likewise.
  5233. * t/list-of-tests.mk: Adjust list of tests.
  5234. 2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  5235. python: uninstall cater to PEP-3147
  5236. After recent commit commit v1.12.4-43-ge0e99ed, "python: improve
  5237. support for modern python (CPython 3.2 and PyPy)", the python install
  5238. rules have been made smart enough to install "*.pyc" byte-compiled
  5239. files according to PEP-3147 with modern (post-3.2) pythons. However,
  5240. the uninstall rules hadn't been updated accordingly, causing leftover
  5241. files to remain around after "make uninstall", as well as failures in
  5242. "make distcheck".
  5243. * lib/am/python.am (am__pep3147_tweak): New internal macro, used
  5244. in ...
  5245. (uninstall-%DIR%PYTHON): ... the recipe of this target, which has
  5246. been adjusted to cater to PEP-3147
  5247. 2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  5248. tests: more explicative names for few aclocal tests
  5249. * t/aclocal3.sh: Rename ...
  5250. * t/aclocal-missing-macros.sh: ... like this.
  5251. * t/aclocal4.sh: Rename ...
  5252. * t/aclocal-deps.sh: ... like this.
  5253. * t/aclocal5.sh: Rename ...
  5254. * t/aclocal-deps-subdir.sh: ... like this.
  5255. * t/aclocal6.sh: Rename ...
  5256. * t/aclocal-remake-misc.sh: ... like this.
  5257. * t/aclocal7.sh: Rename ...
  5258. * t/aclocal-no-force.sh: ... like this.
  5259. * t/acloca8.sh: Rename ...
  5260. * t/aclocal-no-unused-required.sh: ... like this.
  5261. * t/acloca9.sh: Rename ...
  5262. * t/aclocal-I-order-1.sh: ... like this.
  5263. * t/acloca11.sh: Rename ...
  5264. * t/aclocal-I-order-2.sh: ... like this, and update heading comments.
  5265. * t/acloca12.sh: Rename ...
  5266. * t/aclocal-I-order-3.sh: ... like this, and update heading comments.
  5267. * t/acloca13.sh: Rename ...
  5268. * t/aclocal-m4-sinclude.sh: ... like this, and update heading comments.
  5269. * t/acloca14.sh: Rename ...
  5270. * t/aclocal-m4-include-are-scanned.sh: ... like this.
  5271. * t/acloca14.sh: Rename ...
  5272. * t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this,
  5273. and update heading comments.
  5274. * t/acloca15.sh: Rename ...
  5275. * t/aclocal-scan-configure-ac-pr319.sh: ... like this.
  5276. * t/acloca16.sh: Rename ...
  5277. * t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly.
  5278. * t/acloca18.sh: Rename ...
  5279. * t/aclocal-serial.sh: ... like this.
  5280. * t/acloca19.sh: Rename ...
  5281. * t/aclocal-pr450.sh: ... like this.
  5282. * t/acloca20.sh: Rename ...
  5283. * t/aclocal-no-symlinked-overwrite.sh: ... like this.
  5284. * t/acloca21.sh: Rename ...
  5285. * t/aclocal-comments-respected.sh: ... like this.
  5286. * t/acloca22.sh: Rename ...
  5287. * t/aclocal-deleted-header.sh: ... like this.
  5288. * t/acloca22b.sh: Rename ...
  5289. * t/aclocal-deleted-header-aclocal-amflags.sh: ... like this.
  5290. * t/acloca23.sh: Rename ...
  5291. * t/aclocal-underquoted-defun.sh: ... like this.
  5292. * t/list-of-tests.mk: Update.
  5293. 2012-11-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  5294. tests: improve coverage on Texinfo + silent rules
  5295. * t/silent-texi.sh: Here, by basic importing the version of the
  5296. test that is the 'ng/master' branch (that of Automake-NG), plus
  5297. a minor tweak to avoid a spurious failure with NetBSD make.
  5298. 2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  5299. Merge branch 'maint'
  5300. * maint:
  5301. build: fix rebuild rules for Makefile.in and aclocal.m4
  5302. hacking: release procedure: fix order of some steps
  5303. maint: post-release minor version bump
  5304. release: stable release 1.12.5
  5305. 2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  5306. build: fix rebuild rules for Makefile.in and aclocal.m4
  5307. They have been broken after our removal of the 'perllibdir' hack
  5308. in yesterday's commit v1.12.4-45-g4872dfe.
  5309. * configure.ac: Rather then redefining AUTOMAKE and ACLOCAL to
  5310. explicitly override the perllibdir, the acdir and the libdir, use
  5311. the ready-made t/wrap/{aclocal,automake}-$APIVERSION scripts.
  5312. * NEWS: Document the fix.
  5313. 2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  5314. hacking: release procedure: fix order of some steps
  5315. * HACKING (Release procedure): The manuals should be rebuilt and
  5316. uploaded at at www.gnu.org *before* bumping the version number to
  5317. the next alpha release.
  5318. 2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  5319. maint: post-release minor version bump
  5320. * configure.ac (AC_INIT): Bump version number to 1.12.5a.
  5321. * m4/amversion.m4: Likewise (automatically regenerated by
  5322. "make bootstrap").
  5323. 2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  5324. release: stable release 1.12.5
  5325. * configure.ac (AC_INIT): Bump version number to 1.12.5.
  5326. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  5327. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5328. Merge branch 'maint'
  5329. * maint:
  5330. maintcheck: avoid failures, sync with 'ng/master' more
  5331. maintcheck: remove 'sc_perl_syntax'
  5332. sync: update files from upstream with "make fetch"
  5333. maint: get rid of $perllibdir environment variable hack
  5334. configure: respect the '-q' option better
  5335. cosmetics: de-tabify configure.ac
  5336. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5337. maintcheck: avoid failures, sync with 'ng/master' more
  5338. * syntax-checks.mk (sc_diff_aclocal_in_aclocal,
  5339. sc_diff_automake_in_automake): Rename ...
  5340. (sc_diff_aclocal, sc_diff_automake): ... respectively to these, rewrite
  5341. to use static pattern rules and 'diff -u' instead of bare 'diff'. This
  5342. makes the rules more robust in the face of edits to 'automake.in' and
  5343. 'aclocal.in', and get them in sync with the corresponding checks in the
  5344. 'ng/master' branch.
  5345. (syntax_check_rules): Adjust.
  5346. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5347. maintcheck: remove 'sc_perl_syntax'
  5348. It is quite useless, since a "make bootstrap" or "make check" would
  5349. immediately catch a breakage in the 'aclocal' or 'automake' scripts
  5350. anyway. In addition, the recent removal of the 'perllibdir' environment
  5351. variable hack has broken this check.
  5352. * syntax-checks.mk (sc_perl_syntax): Remove.
  5353. (syntax_check_rules): No longer list it.
  5354. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5355. sync: update files from upstream with "make fetch"
  5356. * lib/texinfo.tex, lib/config.sub: Update.
  5357. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5358. maint: get rid of $perllibdir environment variable hack
  5359. That was needed when the automake-$APIVERSION and aclocal-$APIVERSION
  5360. wrapper scripts used by the testsuite were shell script, rather than
  5361. perl scripts acting as a thin layers.
  5362. * aclocal.in (BEGIN): Update @INC based on the contents of the array
  5363. '@Aclocal::perl_libdirs', rather than of the environment variable
  5364. 'perllibdir'.
  5365. * t/wrap/aclocal.in (BEGIN): Initialize '@Aclocal::perl_libdirs'
  5366. rather than $ENV{'perllibdir'}.
  5367. * automake.in (BEGIN): Update @INC based on the contents of the array
  5368. '@Automake::perl_libdirs', rather than of the environment variable
  5369. 'perllibdir'.
  5370. * t/wrap/automake.in (BEGIN): Initialize '@Automake::perl_libdirs'
  5371. rather than $ENV{'perllibdir'}.
  5372. * NEWS: Update.
  5373. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5374. configure: respect the '-q' option better
  5375. * configure.ac: Here, by avoiding to print the warnings about
  5376. using a non-stable Automake version if the '$silent' variable
  5377. is set to "yes".
  5378. 2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  5379. cosmetics: de-tabify configure.ac
  5380. 2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  5381. fixup: Automake installation works again
  5382. By renaming 'dist_automake_ac_DATA' to 'nobase_dist_automake_ac_DATA' in
  5383. a recent patch, we have broken the Automake installation, since m4 files
  5384. that were expected to be installed in '${prefix}/aclocal-${APIVERSION}'
  5385. are now being installed in '${prefix}/aclocal-${APIVERSION}/m4' instead.
  5386. Fix this mess.
  5387. * Makefile.am (nobase_dist_automake_ac_DATA): Rename ...
  5388. (dist_automake_ac_DATA): ... like this. And move
  5389. 'm4/internal/ac-config-macro-dirs.m4' ...
  5390. (dist_automake_internal_ac_DATA): ... here.
  5391. (automake_internal_acdir): New, simply defined to
  5392. '$(automake_acdir)/internal'.
  5393. 2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  5394. Merge branch 'ac-config-macro-dirs'
  5395. * ac-config-macro-dirs:
  5396. tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
  5397. aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
  5398. aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well
  5399. 2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  5400. tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
  5401. When "older" version of autoconf are used (that is, those before commit
  5402. v2.69-44-g1ed0548), we have no sane way to prevent the autom4te invocation
  5403. issued from aclocal to possibly display warnings "MACRO m4_require'd but
  5404. not m4_defun'd". That's not a big deal, because that just means that
  5405. people using pre-2.70 autoconf with cutting-edge automake will see few
  5406. spurious warnings, but the actual semantics will remain correct.
  5407. However, this blemish was causing a couple of annoying testsuite failures.
  5408. Solve this by simply skipping the affected tests when older (pre-2.70)
  5409. autoconf versions are used.
  5410. * t/aclocl-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
  5411. AC_REQUIRE"): Skip when older autoconf is in use.
  5412. * t/aclocl-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
  5413. AC_REQUIRE"): Likewise.
  5414. 2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  5415. recursion: remove _AM_EXTRA_RECURSIVE_TARGETS indirection
  5416. Since automake automatically smashes extra whitespace and newlines
  5417. in the arguments of the macros it traces, we can remove the extra
  5418. indirection with the _AM_EXTRA_RECURSIVE_TARGETS. This doesn't
  5419. truly simplify the existing code, but make it slightly easier to
  5420. understand anyway, since leave it with one less indirection.
  5421. * automake.in: Trace AM_EXTRA_RECURSIVE_TARGETS directly, rather
  5422. than tracing _AM_EXTRA_RECURSIVE_TARGETS. Remove trailing and
  5423. leading empty fields in the extracted arguments.
  5424. * m4/extra-recurs.m4 (_AM_EXTRA_RECURSIVE_TARGETS): Remove, no longer
  5425. needed.
  5426. (AM_EXTRA_RECURSIVE_TARGETS): Adjust by making it a simple no-op.
  5427. 2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  5428. aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
  5429. The autom4te program coming with autoconf 2.68 and earlier had a bug
  5430. which caused the "-" command line argument (with which we tell it to
  5431. read some input from from standard input) to aways be pushed at the
  5432. *end* of the command line, regardless of where the user specified it
  5433. (that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt:
  5434. new Autom4te::Getopt module").
  5435. This broken semantics conflict with our usage in aclocal, where we
  5436. need to pass some input to the invoked autom4te program early, and
  5437. have so far been using the stdin to do so. Now we start using an
  5438. external file instead.
  5439. * m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback
  5440. definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf
  5441. releases.
  5442. * aclocal.in (trace_used_macros): When invoking autom4te, use that
  5443. file instead of "abusing" standard input.
  5444. * Makefile.am (dist_automake_ac_DATA): Rename ...
  5445. (nobase_dist_automake_ac_DATA): ... like this.
  5446. Add 'm4/internal/ac-config-macro-dirs.m4' to it.
  5447. * t/aclocal-acdir.sh: Adjust to avoid spurious failures.
  5448. Helped-by: Eric Blake <eblake@redhat.com>
  5449. 2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  5450. aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well
  5451. This will allow our users to interact also with pre-2.70 autoconf without
  5452. need for the user to add ACLOCAL_AMFLAGS in Makefile.am. For example,
  5453. before this change, in order to have aclocal look for macros in 'm4/dir1'
  5454. and 'm4/dir2' also when (say) autoconf 2.69 was used, our users would
  5455. have had to add something like:
  5456. ACLOCAL_AMFLAGS = -I m4/dir1 -I m4/dir2
  5457. in Makefile.am, in addition to the
  5458. AC_CONFIG_MACRO_DIRS([m4/dir1 m4/dir2])
  5459. in configure.ac. Now, the AC_CONFIG_MACRO_DIRS call is enough.
  5460. See the long-winded discussion on automake bug#12845 for more details:
  5461. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12845>
  5462. * aclocal.in ($ac_config_macro_dirs_fallback): New global variable,
  5463. contains m4 code to issue a fallback definition of AC_CONFIG_MACRO_DIRS
  5464. as an alias for the private macro _AM_CONFIG_MACRO_DIRS.
  5465. (trace_used_macros): Handle and trace that macro. Do some code
  5466. reorganization and fix related botched indentation while at it.
  5467. (write_aclocal): Output '$ac_config_macro_dirs_fallback' early in
  5468. the generated aclocal.m4.
  5469. * t/aclocal-macrodirs.tap: Run unconditionally, even with older
  5470. autoconf.
  5471. * t/subpkg-macrodir.sh: Likewise.
  5472. * doc/automake.texi: Document only AC_CONFIG_MACRO_DIRS, rather
  5473. than AC_CONFIG_MACRO_DIR.
  5474. 2012-11-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  5475. Merge branch 'ac-config-macro-dirs'
  5476. * ac-config-macro-dirs:
  5477. news: we trace AC_CONFIG_MACRO_DIRS
  5478. aclocal: trace AC_CONFIG_MACRO_DIR_TRACE
  5479. aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
  5480. coverage: expose a bug in aclocal (spurious warnings)
  5481. aclocal: smash newlines in arguments of traced macros
  5482. tests: better coverage for AC_CONFIG_MACRO_DIRS
  5483. aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
  5484. aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
  5485. 2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  5486. tests: improve a comment
  5487. * t/ax/am-test-lib.sh (require_tool): Here, about python support
  5488. for '--version' option.
  5489. 2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  5490. tests: honour $PYTHON override
  5491. * t/ax/am-test-lib.sh (require_tool): Here.
  5492. * t/python-too-old.sh: And here.
  5493. * t/python-vars.sh: And here.
  5494. * t/python-virtualenv.sh: And here. Also add some sanity
  5495. checks while at it.
  5496. 2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  5497. tests: typofix in message
  5498. * t/python-virtualenv.sh: Here.
  5499. 2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  5500. news: document fix for bug#8847 (PEP-3147, __pycache__)
  5501. * NEWS (Bugs fixed in 1.12.5): Here.
  5502. 2012-11-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> (tiny change)
  5503. python: improve support for modern python (CPython 3.2 and PyPy)
  5504. This fixes automake bug#8847.
  5505. * m4/python.m4 (AM_PATH_PYTHON): Add python3.3 to
  5506. _AM_PYTHON_INTERPRETER_LIST.
  5507. * lib/py-compile: Fix compiled filenames for PEP-3147, currently
  5508. implemented in CPython 3.2 and newer. Do not create '.pyo' files
  5509. for PyPy.
  5510. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5511. news: we trace AC_CONFIG_MACRO_DIRS
  5512. * NEWS (New in 1.13): Update accordingly.
  5513. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5514. news: improve wording
  5515. * NEWS (New in 1.13): Prefer "no longer" over "not anymore",
  5516. wherever possible. Related re-wrapping of text.
  5517. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5518. aclocal: trace AC_CONFIG_MACRO_DIR_TRACE
  5519. This is now the documented way, and indeed the only correct way, to
  5520. support AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS in third-party
  5521. tools. See autoconf commit v2.69-45-g5269030 of 2012-11-09,
  5522. "AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks".
  5523. * aclocal.in (trace_used_macros): Trace 'AC_CONFIG_MACRO_DIR_TRACE'
  5524. rather than 'AC_CONFIG_MACRO_DIRS'. We still have to trace
  5525. 'AC_CONFIG_MACRO_DIR' explicitly though, for compatibility with
  5526. Autoconf versions before 2.70.
  5527. * t/aclocal-macrodirs.tap: Enhance w.r.t. precedence of arguments
  5528. in one and several AC_CONFIG_MACRO_DIRS calls.
  5529. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5530. aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
  5531. When some macro expanded in configure.ac calls AC_REQUIRE on another
  5532. macro that is defined in one of the local m4 macro dirs specified
  5533. with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like:
  5534. configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
  5535. configure.ac:3: MY_FOO is expanded from...
  5536. Such warnings come from autom4te, and are due to the fact that the
  5537. *first* autom4te invocation issued by aclocal is not yet able to
  5538. "see" the m4 macro definitions in the local m4 dirs (because they
  5539. can be looked for only after the AC_CONFIG_MACRO_DIRS call has been
  5540. traced, and tracing it requires running autom4te).
  5541. To allow us to work around this issue, autom4te has introduced a new
  5542. "witness" macro 'm4_require_silent_probe', that, when defined, allows
  5543. us to silence that particular kind of warnings (and only it).
  5544. Reported by Nick Bowler; see point (4) of:
  5545. <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
  5546. * aclocal.in (trace_used_macros): Pre-define the special macro
  5547. 'm4_require_silent_probe' when invoking autom4te.
  5548. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
  5549. AC_REQUIRE"): This test passes now: remove the "TODO" directive.
  5550. * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with
  5551. AC_REQUIRE"): Likewise.
  5552. * t/acloca17.sh: Remove.
  5553. * t/list-of-tests.mk: Adjust.
  5554. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5555. coverage: expose a bug in aclocal (spurious warnings)
  5556. When some macro expanded in configure.ac calls AC_REQUIRE on another
  5557. macro that is defined in one of the local m4 macro dirs specified
  5558. with one of the macros AC_CONFIG_MACRO_DIRS or AC_CONFIG_MACRO_DIR,
  5559. aclocal prints spurious warnings like:
  5560. configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
  5561. configure.ac:3: MY_FOO is expanded from...
  5562. Expose this weakness in our testsuite.
  5563. Reported by Nick Bowler; see point (4) of:
  5564. <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
  5565. * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
  5566. AC_REQUIRE"): New test, still xfailing.
  5567. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS interaction with
  5568. AC_REQUIRE"): Likewise.
  5569. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5570. aclocal: smash newlines in arguments of traced macros
  5571. This change fixes the existing issues with AC_CONFIG_MACRO_DIRS
  5572. containing newlines:
  5573. <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
  5574. Likely, it will also allow a less involved implementation of the
  5575. AM_EXTRA_RECURSIVE_TARGETS macro (but that is left for potential
  5576. follow-up patches).
  5577. * aclocal.in (trace_used_macros): When calling autom4te, pass its
  5578. '--trace' option an argument containing '${::}%' rather than '$1'.
  5579. According to the autoconf manual (as of version 2.69), that will expand
  5580. to the concatenation, with the '::' string, of all the arguments passed
  5581. to a macro, with all newline characters in such arguments smashed.
  5582. Related adjustments when handling the macro AC_CONFIG_MACRO_DIRS, to
  5583. ensure leading whitespace in its argument are handled correctly.
  5584. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS: extra whitespace"):
  5585. No longer declare it as an xfailing test.
  5586. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5587. tests: better coverage for AC_CONFIG_MACRO_DIRS
  5588. Suggested by a report from Nick Bowler:
  5589. <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
  5590. * t/aclocal-macrodirs.tap: Enhance to check use of extra whitespaces
  5591. and newline characters in the arguments to AC_CONFIG_MACRO_DIRS. This
  5592. test currently fails, so mark it as "TODO". While at it, throw in other
  5593. minor edits and enhancements.
  5594. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5595. aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
  5596. This new implementation ensures that any directory (possibly excluding
  5597. the first one, if the '--install' option is used) that is declared with
  5598. AC_CONFIG_MACRO_DIRS and that is non-existent will cause an error from
  5599. aclocal.
  5600. * aclocal.in (scan_m4_dirs): Add a new argument, telling whether it's OK
  5601. for the scanned directory to be non-existing. Adjust the implementation
  5602. accordingly.
  5603. ($first_user_m4dir): Remove, no more needed.
  5604. (scan_m4_files): Update 'scan_m4_dirs' invocations so that aclocal will
  5605. not complain if the first user macro directory is non-existing and the
  5606. '--install' option is given: such directory will be created later by
  5607. aclocal itself.
  5608. * t/aclocal-macrodir.tap: Do not mark the last test as TODO anymore;
  5609. it now passes. Make stricter by ensuring a non-existing directory in
  5610. AC_CONFIG_MACRO_DIRS causes an hard error, not a warning.
  5611. 2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  5612. aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
  5613. A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in
  5614. autoconf (and is expected to appear in the autoconf 2.70 release),
  5615. allowing us to declare several local m4 macro directories for a
  5616. package.
  5617. It can be done either passing several arguments to a single invocation:
  5618. AC_CONFIG_MACRO_DIRS([dir1 dir2])
  5619. or issuing more invocations:
  5620. AC_CONFIG_MACRO_DIRS([dir1])
  5621. AC_CONFIG_MACRO_DIRS([dir2])
  5622. or a combination of the two:
  5623. AC_CONFIG_MACRO_DIRS([dir1 dir2])
  5624. AC_CONFIG_MACRO_DIRS([dir3])
  5625. This will allow projects to use several m4 macro local dirs, without the
  5626. need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally
  5627. remove). This is especially important for projects that are used as
  5628. nested subpackages of larger projects.
  5629. For more information and rationales, refer to these past discussions:
  5630. <http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html>
  5631. <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>
  5632. <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html>
  5633. <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html>
  5634. <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/>
  5635. <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087>
  5636. <http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956>
  5637. as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03,
  5638. "aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead",
  5639. autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS:
  5640. new macro, mostly for aclocal".
  5641. * aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ...
  5642. (@ac_config_macro_dirs): ... this global array.
  5643. (trace_used_macros): Update '@ac_config_macro_dirs' instead of
  5644. re-defining '$ac_config_macro_dir'. Cater to calls the now-preferred
  5645. macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one
  5646. AC_CONFIG_MACRO_DIR.
  5647. (main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir',
  5648. to '@user_includes'.
  5649. * t/subpkg-macrodir.sh: New test.
  5650. * t/aclocal-macrodirs.tap: Likewise.
  5651. * t/list-of-tests.mk: Add them.
  5652. * t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in
  5653. sync with 'aclocal-macrodirs.tap'.
  5654. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5655. tests: remove an obsolete comment
  5656. * t/silent-yacc.sh: Here.
  5657. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5658. tests: remove mostly-redundant tests on silent rules
  5659. We used to have several couples of tests named like 'silent-foo-gcc.sh'
  5660. and 'silent-foo-generic.sh'. Differently from what the names suggest,
  5661. the first test in such a couple (that is, "silent-foo-gcc.sh") was not
  5662. meant to check specific GCC-related features, but rather to check how
  5663. the silent rules behave in combination with automatic dependency tracking
  5664. when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x
  5665. release series) is forced.
  5666. Such depmode forcing was done exclusively to cover the code paths in
  5667. 'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather
  5668. than using the inlined, GCC-specific compiler invocation (the so-called
  5669. "fastdep" mode), which is the default with modern GCC or with other
  5670. modern compilers that can emulate the GCC command-line interface (e.g.,
  5671. clang 3.0).
  5672. But whenever we run the silent-*-generic.sh" tests with other supported
  5673. compilers which have an associated depmode different from 'gcc3', these
  5674. same "non-fastdep" code paths are covered, since in those tests we run
  5675. ./configure with the '--enable-dependency-tracking' option, which causes
  5676. slower depmodes not to be rejected. Examples of such compilers are the
  5677. Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio
  5678. 12.1), and the Tiny C Compiler (from version 0.9.26); and I run the
  5679. Automake testsuite quite regularly with those compilers.
  5680. So, the "silent-*-gcc.sh" test cases don't offer any real coverage
  5681. enhancements, while still using testsuite runtime and causing some
  5682. (admittedly minor, but still annoying) synchronization headaches with
  5683. the sister tests "silent-foo-general.sh" tests. So let's just remove
  5684. these "silent-*-gcc.sh" tests.
  5685. * t/silent-c-gcc.sh: Remove.
  5686. * t/silent-cxx-gcc.sh: Likewise.
  5687. * t/silent-lt-gcc.sh: Likewise.
  5688. * t/silent-many-gcc.sh: Likewise.
  5689. * t/silent-c-generic.sh: Rename ...
  5690. * t/silent-c.sh: ... like this, and adjust heading comments.
  5691. * t/silent-cxx-generic.sh: Rename ...
  5692. * t/silent-cxx.sh: ... like this, and adjust heading comments.
  5693. * t/silent-lt-generic.sh: Rename ...
  5694. * t/silent-lt.sh: ... like this, and adjust heading comments.
  5695. * t/silent-many-generic.sh: Rename ...
  5696. * t/silent-many-languages.sh: ... like this, and adjust heading
  5697. comments.
  5698. * t/list-of-tests.mk: Adjust.
  5699. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5700. tests: enhance coverage on silent-rules and C compilation rules a little
  5701. * t/silent-c-generic.sh: Here, by trying them also with automatic
  5702. dependency tracking explicitly disabled.
  5703. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5704. Merge branch 'maint'
  5705. * maint:
  5706. tests: new variable $am_testaux_builddir
  5707. tests: rename $am_testauxdir -> $am_testaux_srcdir
  5708. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5709. tests: rename few tests (on silent-rules support)
  5710. Either to more informative names, or to names more consistent with the
  5711. ones of similar/related tests.
  5712. * t/silent.sh: Rename ...
  5713. * t/silent-c-generic.sh: ... like this, and adjust heading comments.
  5714. * t/silent2.sh: Rename ...
  5715. * t/silent-c-gcc.sh: ... like this, and adjust heading comments.
  5716. * t/silent3.sh: Rename ...
  5717. * t/silent-lt-generic.sh: ... like this, and adjust heading comments.
  5718. * t/silent4.sh: Rename ...
  5719. * t/silent-lt-gcc.sh: ... like this, and adjust heading comments.
  5720. * t/silentcxx.sh: Rename ...
  5721. * t/silent-cxx-generic.sh: ... like this, and adjust heading comments.
  5722. * t/silentcxx-gcc.sh: Rename ...
  5723. * t/silent-cxx-gcc.sh: ... like this, and adjust heading comments.
  5724. * t/silentf77.sh: Rename ...
  5725. * t/silent-f77.sh: ... like this, and adjust heading comments.
  5726. * t/silentf90.sh: Rename ...
  5727. * t/silent-f90.sh: ... like this, and adjust heading comments.
  5728. * t/silent7.sh: Rename ...
  5729. * t/silent-gen.sh: ... like this, and adjust heading comments.
  5730. * t/silent6.sh: Rename ...
  5731. * t/silent-custom.sh: ... like this.
  5732. * t/silent8.sh: Rename ...
  5733. * t/silent-texi.sh: ... like this.
  5734. * t/list-of-tests.mk: Adjust.
  5735. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5736. tests: merge two tests on silent-rules with libtool
  5737. This helps to reduce code duplication, and also to (marginally)
  5738. speed up the involved tests.
  5739. Before this change, we had:
  5740. $ diff -u t/silent3.sh t/silent9.sh
  5741. --- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100
  5742. +++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100
  5743. @@ -14,9 +14,9 @@
  5744. # You should have received a copy of the GNU General Public License
  5745. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  5746. -# Check silent-rules mode, with libtool, standard depmode case.
  5747. +# Check silent-rules mode, with libtool, nodep case.
  5748. -# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
  5749. +# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
  5750. required='cc libtoolize'
  5751. . test-init.sh
  5752. @@ -26,8 +26,8 @@
  5753. cat >>configure.ac <<'EOF'
  5754. AC_CONFIG_FILES([sub/Makefile])
  5755. AC_PROG_CC
  5756. -AM_PROG_AR
  5757. AM_PROG_CC_C_O
  5758. +AM_PROG_AR
  5759. AC_PROG_LIBTOOL
  5760. AC_OUTPUT
  5761. EOF
  5762. @@ -61,7 +61,7 @@
  5763. $AUTOMAKE --add-missing
  5764. $AUTOCONF
  5765. -./configure --enable-silent-rules
  5766. +./configure --disable-dependency-tracking --enable-silent-rules
  5767. $MAKE >stdout || { cat stdout; exit 1; }
  5768. cat stdout
  5769. $EGREP ' (-c|-o)' stdout && exit 1
  5770. * t/silent9.sh: Remove, merge ...
  5771. * t/silent3.sh: ... in here.
  5772. * t/list-of-tests.mk: Adjust.
  5773. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5774. tests: new variable $am_testaux_builddir
  5775. And a related fix that solves a spurious testsuite failures in
  5776. VPATH builds.
  5777. * t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of
  5778. $am_testaux_srcdir, but pointing inside the build directory.
  5779. * t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir,
  5780. not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash'
  5781. script.
  5782. 2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  5783. tests: rename $am_testauxdir -> $am_testaux_srcdir
  5784. This is just a preparatory change in view of a future commit.
  5785. * t/ax/test-defs.in: Here.
  5786. * t/ax/tap-summary-aux.sh: And here.
  5787. * t/ax/testsuite-summary-checks.sh: And here.
  5788. * t/distcheck-missing-m4.sh: And here.
  5789. * t/distcheck-outdated-m4.sh: And here.
  5790. * t/self-check-shell-no-trail-bslash.sh: And here.
  5791. * t/test-driver-acsubst.sh: And here.
  5792. * t/test-driver-cond.sh: And here.
  5793. * t/test-driver-custom-multitest.sh: And here.
  5794. * t/test-driver-custom-multitest-recheck.sh: And here.
  5795. * t/test-driver-custom-multitest-recheck2.sh: And here.
  5796. * t/testsuite-summary-count-many.sh: And here.
  5797. 2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  5798. Merge branch 'maint'
  5799. * maint:
  5800. vala tests: source test-init.sh, not ./defs
  5801. tests: fix a spurious typo-related failure
  5802. tests: remove spurious leftover use of 'Exit'
  5803. tests: can check our recipes avoid trailing backslashes
  5804. vala: improve comments to AM_PROG_VALAC
  5805. news: update w.r.t. recent vala changes
  5806. vala: if no proper compiler found, set $(VALAC) to 'valac'
  5807. vala: AM_PROG_VALAC should not produce an error for tool-old valac
  5808. docs: document recent changes to AM_PROG_VALAC
  5809. tests: enhance tests on AM_PROG_VALAC
  5810. vala: style fixes in vala.m4
  5811. vala: add action arguments, for when no proper vala compiler is found
  5812. 2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  5813. vala tests: source test-init.sh, not ./defs
  5814. This will avoid spurious errors when the new vala tests (introduced
  5815. in the 'vala-work' branch) will be merged back to master.
  5816. * t/vala-headers.sh: Adjust as said.
  5817. * t/vala-libs.sh: Likewise.
  5818. * t/vala-mix.sh: Likewise.
  5819. * t/vala-mix2.sh: Likewise.
  5820. * t/vala-parallel.sh: Likewise.
  5821. * t/vala-vapi.sh: Likewise.
  5822. * t/vala-vpath.sh: Likewise.
  5823. * t/vala.sh: Likewise.
  5824. * t/vala2.sh: Likewise.
  5825. * t/vala3.sh: Likewise.
  5826. * t/vala4.sh: Likewise.
  5827. * t/vala5.sh: Likewise.
  5828. 2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  5829. tests: fix a spurious typo-related failure
  5830. * t/self-check-shell-no-trail-bslash.sh: Here, due to a mistaken
  5831. use of "||" instead of "&&".
  5832. 2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  5833. Merge branch 'vala-work' into maint
  5834. * vala-work:
  5835. vala: improve comments to AM_PROG_VALAC
  5836. news: update w.r.t. recent vala changes
  5837. vala: if no proper compiler found, set $(VALAC) to 'valac'
  5838. vala: AM_PROG_VALAC should not produce an error for tool-old valac
  5839. docs: document recent changes to AM_PROG_VALAC
  5840. tests: enhance tests on AM_PROG_VALAC
  5841. vala: style fixes in vala.m4
  5842. vala: add action arguments, for when no proper vala compiler is found
  5843. 2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  5844. tests: remove spurious leftover use of 'Exit'
  5845. Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.
  5846. Commit 'v1.12.4-184-g9fed1c8' in master made the same fix basically,
  5847. but we mistakenly applied it to master only, rather than to maint.
  5848. * t/per-target-flags.sh: Here.
  5849. 2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  5850. tests: can check our recipes avoid trailing backslashes
  5851. This is related to commit v1.11-1704-g254227b of 2012-05-01,
  5852. "parallel-tests: avoid trailing backslashes in make recipes",
  5853. and automake bug#10436.
  5854. Recipes with a trailing backslash character (possibly followed by
  5855. blank characters only) can cause spurious syntax errors with at
  5856. least older bash versions (e.g., bash 2.05b), and can be potentially
  5857. be unportable to other weaker shells.
  5858. So provide a target that runs the testsuite looking for this kind
  5859. of breakage (without requiring a real bugged shell).
  5860. * t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c'
  5861. commands having a trailing '\' (possibly followed by whitespace only).
  5862. * Makefile (t/ax/shell-no-trail-bslash): Generate this script from it.
  5863. (noinst_SCRIPTS, CLEANFILES): Add it.
  5864. (EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'.
  5865. (check-no-trailing-backslash-in-recipes): New target, runs the testsuite
  5866. with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible
  5867. recipes having a trailing backslash character (possibly followed by
  5868. * .gitignore: Update.
  5869. * t/self-check-shell-no-trail-bslash.sh: New testsuite self-check.
  5870. * t/parallel-tests-trailing-bslash.sh: Remove as obsolete.
  5871. * t/list-of-tests.mk: Adjust.
  5872. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5873. Merge branch 'maint'
  5874. * maint:
  5875. configure: correctly identify missing GNU compilers as such
  5876. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5877. configure: correctly identify missing GNU compilers as such
  5878. * configure.ac: Here, instead of mistakenly diagnose them as "botched".
  5879. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5880. tests: get rid of ./defs, it's no longer used.
  5881. * defs: Delete.
  5882. * configure.ac (AC_CONFIG_LINKS): No longer link it.
  5883. * t/ax/tap-setup.sh: Don't look for a file named 'defs' in
  5884. the grandparent directory of the current test directory to
  5885. decide whether we're running in the correct directory.
  5886. * syntax-check.mk (xdefs): Remove '$(srcdir)/defs'.
  5887. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5888. maintcheck: fix the name of a check
  5889. * (sc_tests_Exit_not_exit): Rename ...
  5890. (sc_tests_exit_not_Exit): ... like this, which is more faithful
  5891. to what the check actually does. Adjust a grammaro in comments
  5892. while at it.
  5893. (syntax_check_rules): Adjust.
  5894. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5895. maintcheck: guard against uses of ./defs in tests
  5896. Now, 'test-init.sh' should be used instead.
  5897. * (sc_tests_no_source_defs): New maintainer check.
  5898. (syntax_check_rules): Add it.
  5899. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5900. tests: remove spurious leftover use of 'Exit'
  5901. * t/per-target-flags.sh: Here, and simply use 'exit' instead.
  5902. Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.
  5903. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5904. tests: remove an obsolete, and probably now wrong, comment
  5905. * t/dirlist.sh: Here.
  5906. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5907. tests: remove obsolescent references to './defs'
  5908. * t/distcom-subdir.sh, t/distcom2.sh, t/ax/depcomp.sh, t/conff2.sh,
  5909. t/ccnoco3.sh, t/ccnoco.sh, t/self-check-dir.tap, t/self-check-exit.tap,
  5910. t/self-check-me.tap: Here. Instead, refer to "am-test-lib.sh",
  5911. "test-init.sh", or simply "the testsuite setup", as appropriate.
  5912. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5913. tests: prefer including 'test-init.sh' rather than './defs'
  5914. This is a follow-up to today's commit v1.12.4-22-g0610fc8,
  5915. "tests: prepare to move ./defs to t/ax/test-init.sh"
  5916. * All tests: To run the common setup, use the command:
  5917. . test-init.sh
  5918. instead of the older, "historical" one:
  5919. . ./defs || exit 1
  5920. Note that the "|| exit 1" wasn't really useful, since the 'errexit'
  5921. shell flag is in effect in both './defs' and 'test-init.sh', and all
  5922. the known shells that are good enough to run the automake testsuite
  5923. do automatically exit with error when a sourced file cannot be found
  5924. (at least, they do so in non-interactive mode, which is the only
  5925. mode that concerns us in the testsuite).
  5926. * t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise.
  5927. * gen-testsuite-part: Do the same in the generated tests.
  5928. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5929. Merge branch 'maint'
  5930. * maint:
  5931. tests: merge, tweak and modernize few test scripts
  5932. tests: move coverage about BUILT_SOURCES
  5933. tests: more meaningful names for some test cases
  5934. tests: merge some grepping tests on Yacc support
  5935. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5936. tests: merge, tweak and modernize few test scripts
  5937. Basically an adjusted-and-improved cherry-pick from Automake-NG
  5938. commit v1.12.1-343-gff30f83.
  5939. * t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ...
  5940. * t/per-target-flags.sh: ... this test.
  5941. * t/fo.sh: Remove, its weak grepping checks well superseded by
  5942. the semantic checks in 't/fort4.sh'.
  5943. * t/cxxo.sh: Remove, its weak grepping checks well superseded
  5944. by the semantic checks in 't/cxx-demo.sh'.
  5945. * t/cxxcpp.sh: Enhance a little.
  5946. * t/empty.sh: Renamed ...
  5947. * t/empty-data-primary.sh: ... to this. Add trailing ':' command.
  5948. * t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ...
  5949. * t/empty-sources-primary.tap: ... into this new test.
  5950. * t/no-outdir-option.sh: Remove. A test to check than an obsolete
  5951. and now deleted option ("--output-dir") stays deleted is way too
  5952. much even for the most test-infected person ;-)
  5953. * t/list-of-tests.mk: Adjust.
  5954. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5955. tests: move coverage about BUILT_SOURCES
  5956. Basically a backport of some tests from Automake-NG.
  5957. * t/built-sources-check.sh: Sync it with the version in the ng/master
  5958. branch. Accordingly, move part of the checks out ...
  5959. * t/built-sources-install.sh: ... into this new test, synced from
  5960. ng/master as well.
  5961. * t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it
  5962. with the version in ng/master.
  5963. * t/built-sources-cond.sh: New test, synced from ng/master.
  5964. * t/built-sources.sh: Likewise, with minor edits to avoid a spurious
  5965. failure.
  5966. * t/built-sources-fork-bomb.sh: Likewise.
  5967. * t/list-of-tests.mk: Update.
  5968. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5969. tests: more meaningful names for some test cases
  5970. * t/yacc5.sh: Renamed ...
  5971. * t/yacc-grepping2.sh: ... like this.
  5972. * t/yacc7.sh: Renamed ...
  5973. * t/yacc-headers-and-pr47.sh: ... like this.
  5974. * t/yacc8.sh: Renamed ...
  5975. * t/yacc-subdir.sh: ... like this.
  5976. * t/subdir10.sh: Rename ...
  5977. * t/subdir-env-interference.sh: ... like this.
  5978. * t/specflg10.sh: Rename ...
  5979. * t/am-default-source-ext.sh: ... like this.
  5980. * t/suffix12.sh: Rename ...
  5981. * t/suffix-custom-subobj.sh: ... like this.
  5982. * t/suffix13.sh: Rename ...
  5983. * t/suffix-custom-subobj-and-specflg.sh: ... like this.
  5984. * t/check3.sh: Rename ...
  5985. * t/built-sources-check.sh: ... like this.
  5986. * t/subdirbuiltsources.sh: Rename ...
  5987. * t/built-sources-subdir.sh: ... like this.
  5988. * t/bsource.sh: Rename ...
  5989. * t/no-spurious-install-recursive.sh: ... like this.
  5990. * t/list-of-tests.mk: Adjust.
  5991. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5992. tests: merge some grepping tests on Yacc support
  5993. * t/yacc.sh, t/yacc2.sh: Merge ...
  5994. * t/yacc-grepping.sh: ... into this test.
  5995. * t/list-of-tests.mk: Adjust.
  5996. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  5997. Merge branch 'maint'
  5998. * maint:
  5999. tests: prepare to move ./defs to t/ax/test-init.sh
  6000. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  6001. tests: prepare to move ./defs to t/ax/test-init.sh
  6002. We don't do this in a sweeping passage, because that would cause
  6003. endless headaches in the synchronization between the maint, master
  6004. and ng/master branches. Instead, we setup our framework to allow
  6005. test scripts to work by sourcing either './defs' or 'test-init.sh',
  6006. so that we'll be able to make the transition gradual and painless.
  6007. * t/ax/test-init.sh: New, copied from the previous ./defs file.
  6008. * defs: Simply work by sourcing the new file.
  6009. * Makefile.am (dist_noinst_DATA): List the new file.
  6010. * t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
  6011. than of './defs'.
  6012. * t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is
  6013. done to verify our new setup actually works.
  6014. * t/ac-output-old.tap: Likewise.
  6015. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  6016. Merge branch 'maint'
  6017. * maint:
  6018. depcomp: avoid potential interferences from the environment
  6019. depcomp: improve comments about the 'gcc' depmode
  6020. sync: update files from upstream with "make fetch"
  6021. maintcheck: remove an obsolescent check
  6022. tests: rename some tests to more expressive names, again
  6023. tests: remove an obsolescent grepping check
  6024. tests: merge two tests on automatic remake functionality
  6025. tests: rename some test to more expressive names
  6026. news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
  6027. tests: ensure generation of wrapper tests matching multiple conditions
  6028. tests: simplify a loop in gen-testsuite-part
  6029. compile: support libfoo.a naming when wrapping Microsoft tools
  6030. NEWS: fix wording and grammaros, re-wrap text accordingly
  6031. cosmetics: fix typo in 'lib/depcomp' comments
  6032. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  6033. depcomp: avoid potential interferences from the environment
  6034. * lib/depcomp (gccflag, dashmflag): By explicitly initializing these
  6035. variables to the empty string by default.
  6036. 2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  6037. depcomp: improve comments about the 'gcc' depmode
  6038. It is not only needed by obsolescent gcc compilers (pre-3.x),
  6039. but also by modern compiler like IBM C/C++. State that ...
  6040. * lib/depcomp: ... here...
  6041. * gen-testsuite-part: ... and here, where we generate the
  6042. 'depcomp*.tap' tests.
  6043. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6044. vala: improve comments to AM_PROG_VALAC
  6045. * m4/vala.m4 (AM_PROG_VALAC): Here.
  6046. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6047. news: update w.r.t. recent vala changes
  6048. * NEWS: Here.
  6049. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6050. vala: if no proper compiler found, set $(VALAC) to 'valac'
  6051. This is better than setting it to ':' (as is currently done), because
  6052. a triggered makefile rule invoking a vala compilation will then clearly
  6053. fail with an informative error message like "valac: command not found",
  6054. rather than silently, with the error possibly going unnoticed, or
  6055. triggering harder-to-diagnose fallout failures in later steps.
  6056. For a precedent of a similar behaviour, see the AC_PROG_YACC macro.
  6057. * m4/valac.m4: Implement the new semantic.
  6058. * doc/automake.texi (Vala Support): Document it.
  6059. * t/vala4.sh: Adjust.
  6060. 2012-10-26 Sébastien Wilmet <swilmet@gnome.org> (tiny change)
  6061. Matthieu Baerts <matttbe@glx-dock.org>
  6062. Stefano Lattarini <stefano.lattarini@gmail.com>
  6063. vala: AM_PROG_VALAC should not produce an error for tool-old valac
  6064. This change fixes automake bug#12688.
  6065. In the AM_PROG_VALAC macro, when the optional parameter specifying the
  6066. minimum release number is not provided, and/or if the Vala compiler is
  6067. not found, then there is a _warning_ message.
  6068. On the other hand, when the version number is specified and if the Vala
  6069. compiler is too old, there is an _error_ message.
  6070. This error message is problematic, because for a tarball, the Vala
  6071. compiler is not required: the generated C code is included in the
  6072. tarball. So if a user wants to compile the software, he shouldn't
  6073. need the valac program with the right version.
  6074. * m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead
  6075. of AC_MSG_ERROR.
  6076. * t/vala4.sh: Adjust and enhance.
  6077. * doc/automake.texi (Vala Support): Likewise.
  6078. * THANKS: Update.
  6079. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6080. docs: document recent changes to AM_PROG_VALAC
  6081. * doc/automake.texi (Vala Support): Here. This is a follow-up to
  6082. recent commit 'v1.12.4-20-gdf202a3', "vala: add action arguments,
  6083. for when no proper vala compiler is found".
  6084. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6085. tests: enhance tests on AM_PROG_VALAC
  6086. * t/vala4.sh: Here.
  6087. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6088. vala: style fixes in vala.m4
  6089. * m4/vala.m4 (AM_PROG_VALAC): Here.
  6090. 2012-10-26 Daiki Ueno <ueno@unixuser.org> (tiny change)
  6091. vala: add action arguments, for when no proper vala compiler is found
  6092. * m4/vala.m4 (AM_PROG_VALAC): Add optional action arguments to
  6093. control the behavior if specified version of valac is not found.
  6094. This emulates the behaviour of AM_PATH_PYTHON.
  6095. * t/vala4.sh: Enhance.
  6096. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6097. sync: update files from upstream with "make fetch"
  6098. * lib/config.guess, lib/config.sub: Update.
  6099. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6100. maintcheck: remove an obsolescent check
  6101. * syntax-checks.mk (sc_test_names): Remove this check, which verified
  6102. that no test name contained an m4/m4sugar builtin or macro name. Since
  6103. most tests use their own name as the first argument to AC_INIT, doing
  6104. that would have tickled a bug in Autoconf 2.62; but the bug was fixed
  6105. in Autoconf 2.63 already; and we are going to soon require Autoconf
  6106. 2.65 anyway (in automake 1.13), so this check has become more annoying
  6107. than useful.
  6108. (syntax_check_rules): Don't list the removed check.
  6109. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6110. tests: rename some tests to more expressive names, again
  6111. * t/parallel-tests.sh: Rename ...
  6112. * t/parallel-tests-basics.sh: ... like this.
  6113. * t/parallel-tests3.sh: Rename ...
  6114. * t/parallel-tests-concurrency.sh: ... like this.
  6115. * t/parallel-tests5.sh: Rename ...
  6116. * t/parallel-tests-concurrency-2.sh: ... like this.
  6117. * t/parallel-tests6.sh: Rename ...
  6118. * t/parallel-tests-empty.sh: ... like this. Adjust comments.
  6119. * t/parallel-tests8.sh: Rename ...
  6120. * t/parallel-tests-generated-and-distributed.sh: ... like this.
  6121. * t/parallel-tests9.sh: Rename ...
  6122. * t/parallel-tests-recheck.sh: ... like this.
  6123. * t/parallel-tests10.sh: Rename ...
  6124. * t/parallel-tests-trailing-whitespace.sh: ... like this.
  6125. * t/remake3a.sh: Rename ...
  6126. * t/remake-subdir-no-makefile.sh: ... like this.
  6127. * t/remake4.sh: Rename ...
  6128. * t/remake-not-after-make-dist.sh: ... like this.
  6129. * t/remake5.sh: Rename ...
  6130. * t/remake-maintainer-mode.sh: ... like this.
  6131. * t/remake6.sh: Rename ...
  6132. * t/remake-subdir3.sh: ... like this.
  6133. * t/remake7.sh: Rename ...
  6134. * t/remake-fail.sh: ... like this.
  6135. * t/remake11.sh: Rename ...
  6136. * t/remake-deeply-nested.sh: ... like this
  6137. * t/remake12.sh: Rename ...
  6138. * t/remake-mild-stress.sh: ... like this
  6139. * t/pr8365-remake-timing.sh: Rename ...
  6140. * t/remake-timing-bug-pr8365.sh: ... like this.
  6141. * t/list-of-tests.mk: Adjust.
  6142. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6143. tests: remove an obsolescent grepping check
  6144. * t/remake3.sh: This one, superseded by ...
  6145. * t/remake3a.sh: ... this semantic test, whose comments have been
  6146. djusted accordingly.
  6147. * t/list-of-tests.mk: Adjust.
  6148. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6149. tests: merge two tests on automatic remake functionality
  6150. * t/remake2.sh: Merge ...
  6151. * t/remake-subdir-grepping.sh: ... in here.
  6152. * t/list-of-tests.mk: Adjust.
  6153. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6154. tests: rename some test to more expressive names
  6155. * t/remake.sh: Rename ...
  6156. * t/remake-subdir-grepping.sh: ... like this.
  6157. * t/remake8a.sh: Rename ...
  6158. * t/remake-makefile-intree.sh: ... like this, and adjust comments.
  6159. * t/remake8b.sh: Rename ...
  6160. * t/remake-makefile-vpath.sh: ... like this, and adjust comments.
  6161. * t/remake9a.sh: Rename ...
  6162. * t/remake-after-configure-ac.sh: ... like this, and adjust comments.
  6163. * t/remake9b.sh: Rename ...
  6164. * t/remake-after-makefile-am.sh: ... like this, and adjust comments.
  6165. * t/remake9c.sh: Rename ...
  6166. * t/remake-after-acinclude-m4.sh: ... like this, and adjust comments.
  6167. * t/remake9d.sh: Rename ...
  6168. * t/remake-after-aclocal-m4.sh: ... like this, and adjust comments.
  6169. * t/remake10a.sh: Rename ...
  6170. * t/remake-include-configure.sh: ... like this, and adjust comments.
  6171. * t/remake10b.sh: Rename ...
  6172. * t/remake-include-makefile.sh: ... like this, and adjust comments.
  6173. * t/remake10c.sh: Rename ...
  6174. * t/remake-include-aclocal.sh: ... like this, and adjust comments.
  6175. * t/list-of-tests.mk: Adjust.
  6176. 2012-10-26 Jim Meyering <jim@meyering.net>
  6177. compat: reinstate AM_PROG_MKDIR_P, for gettext
  6178. Do not remove AM_PROG_MKDIR_P just yet.
  6179. gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its
  6180. intl.m4 and po.m4 files, which are pulled into *many* projects.
  6181. When I try to build one of those projects (coreutils) using the latest
  6182. from automake.git/master, I see this failure:
  6183. $ aclocal -I m4
  6184. configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \
  6185. but not m4_defun'd
  6186. m4/po.m4:23: AM_PO_SUBDIRS is expanded from...
  6187. m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
  6188. configure.ac:477: the top level
  6189. That is because AM_PROG_MKDIR_P was removed (via commit
  6190. v1.12-20-g8a1c64f) in preparation for the next release of automake.
  6191. * NEWS: Remove the paragraph that announced the removal of
  6192. AM_PROG_MKDIR_P.
  6193. * Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4.
  6194. * m4/mkdirp.m4: Re-add file.
  6195. * t/mkdirp-deprecation.sh: Likewise.
  6196. * t/list-of-tests.mk: Add it.
  6197. * automake.in: Restore removed code, and adjust comments, s/1.13/1.14/
  6198. to reflect new plan for removal.
  6199. * doc/automake.texi (Obsolete Macros): Restore the section, but
  6200. now with only one entry: the one for AM_PROG_MKDIR_P.
  6201. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6202. news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
  6203. This is a follow-up to commit 'v1.12.4-10-g3c5c939' of 2012-10-04,
  6204. "compile: support libfoo.a naming when wrapping Microsoft tools".
  6205. * NEWS (Bugs fixed in 1.12.5): Update.
  6206. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6207. tests: ensure generation of wrapper tests matching multiple conditions
  6208. * gen-testsuite-part: Our old code to generate wrapper tests had a
  6209. severe limitation, in that if a test matched two or more conditions
  6210. calling for generation of wrapper tests, still only one wrapper test
  6211. was generated, instead of the three that would have been expected --
  6212. that is, one using the setup code triggered by the first condition,
  6213. one using the setup code triggered by the second condition, and one
  6214. using both this setup code fragments.
  6215. Admittedly, this was only a theoretical limitation for the moment,
  6216. since since so far no test exists that matches two or more conditions
  6217. for wrapping. Still, this might change in the future, and easily in
  6218. an unnoticed way, so better fix the issue now, before it might become
  6219. a real problem.
  6220. 2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6221. tests: simplify a loop in gen-testsuite-part
  6222. * gen-testsuite-part: No need to loop on the (key, value) entries
  6223. of the %test_generators has: we only use the value, and never the
  6224. key. So loop simply on the values.
  6225. 2012-10-14 Peter Rosin <peda@lysator.liu.se>
  6226. compile: support libfoo.a naming when wrapping Microsoft tools
  6227. There is a future plan to provide some means to have Automake
  6228. create static libraries that are named differently depending
  6229. on the system [1].
  6230. The background is that everyone has always named static libraries
  6231. libfoo.a, except the Redmond crowd who names them foo.lib, and
  6232. you have to jump through hoops to have Automake create libraries
  6233. named foo.lib in the land of non-GNU Windows while still creating
  6234. libfoo.a everywhere else.
  6235. However, there is probably no sane way to accomplish that system
  6236. dependent naming discussed in [1] without user intervention,
  6237. which makes it necessary to support the classic libfoo.a naming
  6238. when using Microsoft tools in the best possible way, for the
  6239. benefit of all projects today and for future projects not
  6240. opting in to whatever scheme is selected for the problem at
  6241. hand.
  6242. [1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html
  6243. * lib/compile (func_cl_dashl): As a last resort, match -lfoo with
  6244. libfoo.a, if that file exist on the library search path.
  6245. * t/compile4.sh: Remove obsolescent workaround for the above.
  6246. * t/compile6.sh: Extend to check that libbaz.a is indeed found
  6247. when baz.lib and baz.dll.lib does not exist and that bar.lib
  6248. and bar.dll.lib are preferred over libbar.a.
  6249. 2012-10-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  6250. NEWS: fix wording and grammaros, re-wrap text accordingly
  6251. Reported-by: Peter Rosin <peda@lysator.liu.se>
  6252. 2012-10-14 Paul Eggert <eggert@cs.ucla.edu>
  6253. cosmetics: fix typo in 'lib/depcomp' comments
  6254. Fixes automake bug#12578.
  6255. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6256. Merge branch 'maint'
  6257. * maint:
  6258. config headers: remove stale comment in makefile fragment
  6259. NEWS: wording and quoting fixlets in few older entries
  6260. config headers: don't emit rules for headers not generated by autoheader
  6261. docs: fix minor typo: s/expending/expanding/
  6262. sync: update files from upstream with "make fetch"
  6263. maint: post-release minor version bump
  6264. maint: typo fixes s/lies into/lies in/
  6265. release: stable release 1.12.4
  6266. NEWS: minor fix
  6267. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6268. config headers: remove stale comment in makefile fragment
  6269. * lib/am/remake-hdr.am: Here.
  6270. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6271. NEWS: wording and quoting fixlets in few older entries
  6272. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6273. config headers: don't emit rules for headers not generated by autoheader
  6274. This change fixed automake bug#12495.
  6275. Even if an AC_CONFIG_HEADERS invocation is passed a list of several files
  6276. as the first argument, only the first one of those file is considered by
  6277. autoheader for automatic generation of the corresponding '.in' template.
  6278. This is done on purpose, and is clearly documented in the Autoconf manual,
  6279. which (as of the 2.69 version) reads something like this:
  6280. The autoheader program searches for the first invocation of
  6281. AC_CONFIG_HEADERS in configure sources to determine the name of
  6282. the template. If the first call of AC_CONFIG_HEADERS specifies
  6283. more than one input file name, autoheader uses the first one.
  6284. That is, an invocation like:
  6285. AC_CONFIG_HEADERS([config.h config2.h])
  6286. should cause autoheader to generate only a 'config.h.in' template,
  6287. and not also a 'config2.h.in' one.
  6288. Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate
  6289. remake rules only for the template associated to the first input file
  6290. name passed to that macro. In some situations, however, automake failed
  6291. to properly limit itself in this way; for example, with an input like:
  6292. AC_CONFIG_HEADERS([config.h sub/foo.h])
  6293. in configure.ac, and with the 'sub' directory listed in the SUBDIRS
  6294. variable of the top-level Makefile, automake would erroneously generate
  6295. in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by
  6296. invoking autoheader.
  6297. This issue was likely introduced in commit 'Release-1-8-23-g262bb92'
  6298. of 2004-01-05.
  6299. * NEWS: Update.
  6300. * doc/automake.texi (Optional): Improve wording in the description of
  6301. hat rules automake generates in response to an 'AC_CONFIG_HEADERS'
  6302. invocation.
  6303. * lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for
  6304. the %CONFIG_HIN% template if that corresponds to the first argument of
  6305. AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time
  6306. conditional %?FIRST-HDR%, that is properly passed ...
  6307. * automake.in (handle_configure): ... from a 'file_contents' invocation
  6308. in here.
  6309. * t/autohdr-subdir-pr12495.sh: New test.
  6310. * t/list-of-tests.mk: Add it.
  6311. * THANKS: Update.
  6312. Helped-by: Hib Eris <hib@hiberis.nl>
  6313. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6314. docs: fix minor typo: s/expending/expanding/
  6315. * doc/automake.texi (Wildcards): Here. Fixes automake bug#12516.
  6316. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6317. sync: update files from upstream with "make fetch"
  6318. * lib/texinfo.tex: Update.
  6319. 2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6320. maint: post-release minor version bump
  6321. * configure.ac (AC_INIT): Bump version number to 1.12.4a.
  6322. * m4/amversion.m4: Likewise (automatically regenerated by
  6323. "make bootstrap").
  6324. 2012-09-23 Jim Meyering <meyering@redhat.com>
  6325. maint: typo fixes s/lies into/lies in/
  6326. 2012-09-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  6327. release: stable release 1.12.4
  6328. * configure.ac (AC_INIT): Bump version number to 1.12.4.
  6329. * m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
  6330. 2012-09-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  6331. NEWS: minor fix
  6332. 2012-09-12 Jim Meyering <meyering@redhat.com>
  6333. fix typos in mk-dirp.m4
  6334. * t/gettext-macros.sh: Fix typo in name of macro emitted into
  6335. mk-dirp.m4: s/AM_MKDIR_P/AM_PROG_MKDIR_P/,
  6336. and as Stefano Lattarini noted, also fix this typo:
  6337. s/AC_MKDIR_P/AC_PROG_MKDIR_P/.
  6338. 2012-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  6339. tags: automake bug bug#12372 is fixed
  6340. It has been fixed as a side effect of the overhauling of tags support.
  6341. * t/list-of-tests.mk (XFAIL_TESTS): No longer list 'tags-pr12372.sh'.
  6342. * NEWS: Update.
  6343. 2012-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  6344. Merge branch 'maint'
  6345. * maint:
  6346. coverage: better exposure for automake bug#12372 (tags-related)
  6347. coverage: expose automake bug#12372 (tags-related)
  6348. 2012-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  6349. coverage: better exposure for automake bug#12372 (tags-related)
  6350. Alas, in contrast with what is said in the commit message of previous
  6351. commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the
  6352. current maint branch (which will become automake version 1.12.4); it
  6353. is just that it only triggers when a _SOURCES variable contains only
  6354. files with custom extension.
  6355. * t/tags-pr12372.sh: Extend.
  6356. * t/list-of-tests.mk: Add it.
  6357. Suggested-by: Юрий Пухальский <aikipooh@gmail.com>
  6358. 2012-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  6359. coverage: expose automake bug#12372 (tags-related)
  6360. That bug is somehow already been fixed in the latest automake
  6361. version (1.12.4); but exercise it anyway in the testsuite, to
  6362. ensure we won't regress.
  6363. * t/tags-pr12372.sh: New test.
  6364. * t/list-of-tests.mk: Add it.
  6365. 2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6366. Merge branch 'maint'
  6367. * maint:
  6368. sync: update files from upstream with "make fetch"
  6369. news: cygnus will be removed in automake 1.13
  6370. news: some changes for 1.13 has been "de-planned"
  6371. news: report that the have seen fixlets after 1.12.3
  6372. warns: enable category 'obsolete' by default
  6373. 2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6374. sync: update files from upstream with "make fetch"
  6375. * lib/texinfo.tex: Update.
  6376. 2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6377. news: cygnus will be removed in automake 1.13
  6378. * NEWS (Future backward-incompatibilities): So document it here.
  6379. 2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6380. news: some changes for 1.13 has been "de-planned"
  6381. * NEWS (Future backward-incompatibilities): The planned Automake release
  6382. 1.13 already has too much stuff on its plate; so we are not going to
  6383. In Automake 1.13, we are definitely not going to change the exact order
  6384. in which the directories in the aclocal macro search path are looked up.
  6385. Also, experience and user feedback have shown that the "obsolescent"
  6386. two-arguments invocation for AM_INIT_AUTOMAKE:
  6387. AM_INIT_AUTOMAKE(PACKAGE-NAME, PACKAGE-VERSION)
  6388. is still useful (until at least Autoconf is fixed to offer better support
  6389. for "dynamically" package versions), so we are not going to remove
  6390. support for that usage in Automake 1.13. For more details, see commit
  6391. v1.12.2-245-g2abe183 of 2012-08-24, "AM_INIT_AUTOMAKE: allow obsolescent
  6392. two-args invocation once again".
  6393. (New in 1.12.1): Adjust accordingly.
  6394. 2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6395. news: report that the have seen fixlets after 1.12.3
  6396. * NEWS: Here.
  6397. 2012-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6398. warns: enable category 'obsolete' by default
  6399. No surprise that our users were bitten by backward-incompatible changes
  6400. especially hard: the warnings in the 'obsolete' category, that might
  6401. have informed them of the upcoming incompatibilities, and help them to
  6402. prepare for the transition, where not enabled by default!
  6403. * NEWS, doc/automake.texi: Update.
  6404. * lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete'
  6405. by default.
  6406. * t/warnings-obsolete-default.sh: New test.
  6407. * t/list-of-tests.mk: Add it.
  6408. * t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as
  6409. autoconf input file, to avoid spurious aclocal errors.
  6410. * t/backcompat2.sh: Likewise.
  6411. * t/backcompat3.sh: Likewise.
  6412. * t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust
  6413. heading comments.
  6414. * t/backcompat6.sh: Likewise.
  6415. * t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake.
  6416. 2012-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  6417. tests: fix a maintainer-check failure ('Exit' used instead of 'exit')
  6418. * t/lisp-loadpath.sh: Here.
  6419. 2012-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  6420. Merge branch 'maint'
  6421. * maint:
  6422. sync: update files from upstream with "make fetch"
  6423. automake: don't define many identical 'lang_*_rewrite' subroutines
  6424. coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
  6425. 2012-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  6426. sync: update files from upstream with "make fetch"
  6427. * lib/config.guess, lib/config.sub: Update.
  6428. 2012-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  6429. automake: don't define many identical 'lang_*_rewrite' subroutines
  6430. This is just a simplifying refactoring, with no semantic change intended.
  6431. Cherry-picked from the Automake-NG commit 'v1.12.1-312-g63aa4a9' of
  6432. 2012-06-07.
  6433. 2012-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6434. coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
  6435. * t/flex-header.sh: New test, show that automake bug#8844 and bug#9933
  6436. have already been fixed by the recent-ish improvements to ylwrap (merged
  6437. with commit v1.12.2-27-gec5cb49 of 2012-07-16, "Merge branch 'yacc-work'
  6438. into maint").
  6439. * t/list-of-tests.mk: Update.
  6440. 2012-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6441. Merge branch 'maint'
  6442. * maint:
  6443. docs: don't suggest to use recursive makefile setup
  6444. tests: fix a timestamp race in python tests
  6445. tests: fixup: make distcheck-override-infodir pass again
  6446. sync: update files from upstream with "make fetch"
  6447. maint: post-release minor version bump
  6448. release: stable release 1.12.3
  6449. maintcheck: fix spurious warnings
  6450. docs: fix typo: s/make install-info/make uninstall-info/
  6451. tests: fixup: make a couple of tests executable
  6452. 2012-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  6453. AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again
  6454. This partially reverts commit 'v1.12-67-ge186355' of 2012-05-25,
  6455. "init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore"
  6456. Some users still need to be able to define the version number for
  6457. their package dynamically, at configure runtime.
  6458. Their user case is that, for development snapshots, they want to be
  6459. able to base the complete version of the package on the VCS revision
  6460. ID (mostly Git or Mercurial). They could of course do so by
  6461. specifying such version dynamically in their call to AC_INIT, as is
  6462. done by several GNU packages. But then they would need to regenerate
  6463. and re-run the configure script before each snapshot, which might be
  6464. very time-consuming for complex packages, to the point of slowing
  6465. down and even somewhat impeding development.
  6466. The situation should truly be solved in Autoconf, by allowing a way
  6467. to specify the version dynamically in a way that doesn't force the
  6468. configure script to be regenerated and re-run every time the package
  6469. version changes. But until Autoconf has been improved to allow
  6470. this, Automake will have to support the obsolescent two-arguments
  6471. invocation for AM_INIT_AUTOMAKE, to avoid regressing the suboptimal
  6472. but working solution for the use case described above.
  6473. See also:
  6474. <http://lists.gnu.org/archive/html/automake/2012-08/msg00025.html>
  6475. * NEWS: Update.
  6476. * m4/init.m4 (AM_INIT_AUTOMAKE): Support once again invocation with
  6477. two or three arguments.
  6478. * t/aminit-moreargs-no-more.sh: Renamed ...
  6479. * t/aminit-moreargs-deprecated.sh: ... like this, and updated.
  6480. * t/nodef.sh: Recovered test, with minor adjustments.
  6481. * t/backcompat.sh: Likewise.
  6482. * t/backcompat2.sh: Likewise.
  6483. * t/backcompat3.sh: Likewise.
  6484. * t/backcompat6.sh: Likewise.
  6485. * t/list-of-tests.mk: Adjust.
  6486. Suggested-by: Bob Friesenhahn n<bfriesen@simple.dallas.tx.us>
  6487. 2012-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  6488. docs: don't suggest to use recursive makefile setup
  6489. * doc/automake.texi (Introduction): Here, by erroneously telling that
  6490. "there should generally be one Makefile.am per directory of a project".
  6491. For reference, see commit 'v1.12.1-25-g61dfb47' of 2012-06-12, "docs:
  6492. recursive make considered harmful".
  6493. 2012-08-16 Adam Sampson <ats@offog.org> (tiny change)
  6494. Stefano Lattarini <stefano.lattarini@gmail.com>
  6495. tests: fix a timestamp race in python tests
  6496. Fixes automake bug#12210.
  6497. * t/python-missing.sh: Call aclocal and autoconf with the "--force"
  6498. option. We need this because, on fast machines, it's possible for
  6499. 'mypy.m4' and 'aclocal.m4' to end up with the same timestamp as configure,
  6500. so autoconf (without the "--force" options) wouldn't bother to rebuild it,
  6501. and would just rerun the previous AM_PATH_PYTHON test, succeeding rather
  6502. than failing as expected.
  6503. * t/python-am-path-iftrue.sh: Likewise.
  6504. 2012-08-14 Peter Rosin <peda@lysator.liu.se>
  6505. tests: fixup: make distcheck-override-infodir pass again
  6506. Fixes Automake bug#12198.
  6507. * t/distcheck-override-infodir.sh (main.texi): Remove all leading
  6508. cruft added by commit v1.12.2-96-g133307b "maintcheck: fix spurious
  6509. warnings".
  6510. 2012-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  6511. sync: update files from upstream with "make fetch"
  6512. * lib/config.guess, lib/config.sub, lib/gitlog-to-changelog,
  6513. lib/texinfo.tex: Update.
  6514. 2012-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  6515. maint: post-release minor version bump
  6516. * configure.ac (AC_INIT): Bump version number to 1.12.3a.
  6517. * m4/amversion.m4: Likewise (automatically regenerated by
  6518. "make bootstrap").
  6519. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6520. release: stable release 1.12.3
  6521. * configure.ac (AC_INIT): Bump version number to 1.12.3.
  6522. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
  6523. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6524. maintcheck: fix spurious warnings
  6525. * t/distcheck-override-infodir.sh: Be sure that valid occurences
  6526. of the "aclocal" and "automake" strings, which can confuse the
  6527. 'sc_tests_plain_automake' check, are protected by leading "#"
  6528. characters.
  6529. * t/ax/test-lib.sh: Always use '$(...)' for command subtitution,
  6530. to avoid triggering the 'sc_tests_command_subst' check; there was
  6531. still once place where `...` was used. While at it, fix a related
  6532. comment.
  6533. * t/ax/test-defs.in ($sleep): Use creative quoting to avoid
  6534. spuriously triggering the 'sc_tests_plain_sleep' check.
  6535. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6536. docs: fix typo: s/make install-info/make uninstall-info/
  6537. * doc/automake.texi (Texinfo): Here. And a minor wording improvement
  6538. while we are at it.
  6539. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6540. tests: fixup: make a couple of tests executable
  6541. * t/python-am-path-iftrue.sh: This.
  6542. * t/python-missing.sh: And this.
  6543. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6544. Merge branch 'maint'
  6545. * maint:
  6546. tests: rework tests on AM_PATH_PYTHON
  6547. cosmetics: fix typos and references in comments
  6548. typofix: in a test diagnostic
  6549. readme: fixlets to HACKING
  6550. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6551. tests: rework tests on AM_PATH_PYTHON
  6552. * t/python8.sh, t/python9.sh: Merge into ...
  6553. * t/python-am-path-iftrue.sh: ... this new test, with minor adjustments.
  6554. * t/python4.sh, t/python5.sh, t/python6.sh, t/python7.sh: Merge into ...
  6555. * t/python-missing.sh: ... this new test.
  6556. * t/python5b.sh: Rename ...
  6557. * t/python-too-old.sh: ... like this, and adjust/extend.
  6558. * t/list-of-tests.mk: Adjust.
  6559. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6560. cosmetics: fix typos and references in comments
  6561. * lib/am/check.am: Here.
  6562. * doc/automake.texi: And here.
  6563. * t/*.sh: And in several of these tests.
  6564. 2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  6565. typofix: in a test diagnostic
  6566. * t/cscope.tap: Here.
  6567. 2012-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  6568. readme: fixlets to HACKING
  6569. * HACKING: Use longer "=====" lines to separate different section (this
  6570. is just eye-candy admittedly, but I prefer it).
  6571. (Release procedure): Don't tell to "update NEWS"; that should be updated
  6572. throughout the normal course of development. Instead, tell to just check
  6573. it. Improve description of the re-bootstrapping and rechecking procedure,
  6574. also suggesting to use "git clean" beforehand (with all due warnings!).
  6575. 2012-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  6576. Merge branch 'maint'
  6577. * maint:
  6578. cleanup: remove stale references to 'lzma' option
  6579. 2012-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  6580. cleanup: remove unused transform '%HAVE-MANS%'
  6581. * automake.in (preprocess_file): Here.
  6582. 2012-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  6583. cleanup: remove stale references to 'lzma' option
  6584. * automake.in (preprocess_file): Here.
  6585. (handle_dist): And here.
  6586. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6587. Merge branch 'maint'
  6588. * maint:
  6589. automake: remove an unused local variable
  6590. distcheck: more resilient against possible failures
  6591. cleanup: remove almost-unused global var 'am_relative_dir'
  6592. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6593. automake: remove an unused local variable
  6594. * automake.in (handle_dist): Here, the '$extra_dist' variable.
  6595. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6596. distcheck: more resilient against possible failures
  6597. * lib/am/distdir.am (distcheck): Ensure that a failure in the commands
  6598. making the just-extracted source tree read-only cause the recipe to fail.
  6599. While at it, save a fork by creating the '_build' and '_inst' subdir
  6600. with a single mkdir invocation.
  6601. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6602. cleanup: remove almost-unused global var 'am_relative_dir'
  6603. Cherry picked from commit v1.12.2-741-g53b5d11 of Automake-NG.
  6604. * automake.in ($am_relative_dir): Delete, it was only used once ...
  6605. (generate_makefile): ... in here, so it's simpler to inline its
  6606. expansion.
  6607. (initialize_per_input): Don't reset the deleted variable.
  6608. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6609. Merge branch 'maint'
  6610. * maint:
  6611. cleanup: remove two almost-unused global variables: {am,in}_file_name
  6612. cleanup: remove almost-unused global var 'topsrcdir'
  6613. automake: remove an unused variable
  6614. tests: make a test script more semantic
  6615. tests: remove an obsolete, no-op test script
  6616. tests: remove an obsolete test script
  6617. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6618. cleanup: remove two almost-unused global variables: {am,in}_file_name
  6619. Cherry picked from commit v1.12.2-739-gbf2a8b0 of Automake-NG.
  6620. * automake.in ($am_file_name, $in_file_name): Delete these, which were
  6621. used only in the 'read_main_am_file' subroutine; instead ...
  6622. (read_main_am_file): ... modify it to only work from the '$makefile_am'
  6623. argument (which it was already receiving), and the new '$makefile_in'
  6624. argument, which is now passed to it ...
  6625. (generate_makefile): ... from here.
  6626. (initialize_per_input): Don't reset the two deleted variables anymore.
  6627. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6628. cleanup: remove almost-unused global var 'topsrcdir'
  6629. Cherry picked from commit v1.12.2-740-ga7f24eb in Automake-NG.
  6630. * automake.in ($topsrcdir): Delete, it was only used once ...
  6631. (handle_LIBOBJS_or_ALLOCA): ... in here, so it's simpler to inline
  6632. its expansion. Improve formatting of immediately surrounding code
  6633. a little while we are at it.
  6634. (initialize_per_input): Don't reset the deleted variable.
  6635. 2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  6636. automake: remove an unused variable
  6637. * automake.in ($canonical_location): This.
  6638. (scan_autoconf_traces): Don't initialize it.
  6639. 2012-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  6640. tests: make a test script more semantic
  6641. This is mostly useful for Automake-NG, that is heavily overhauling the
  6642. generated Makefiles and thus is prone to break grepping checks (which
  6643. can sometimes end up causing false negatives in the testsuite, sadly).
  6644. But this is not a reason not to strengthen the test for mainline
  6645. Automake as well.
  6646. * t/noinstdir.sh: Add semantic checks.
  6647. 2012-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  6648. tests: remove an obsolete, no-op test script
  6649. * t/info.sh: This: it tried to operate by checking the contents of the
  6650. variable '$(INFOS)', but that is not even defined (and probably has been
  6651. obsolete for quite a long time). Since other tests already do thorough
  6652. testing of the Texinfo support, just remove this test.
  6653. * t/list-of-tests.mk: Adjust.
  6654. 2012-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  6655. tests: remove an obsolete test script
  6656. * t/scripts.sh: This: it used to check that the 'AC_PROG_INSTALL' macro
  6657. was not uselessly required, but today that macro is AC_REQUIRE'd by
  6658. 'AM_INIT_AUTOMAKE' anyway, so that the test is no more significant.
  6659. * t/list-of-tests.mk: Adjust.
  6660. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6661. Merge branch 'maint'
  6662. * maint:
  6663. tests: avoid spurious failures with older Texinfo
  6664. tests: avoid tons of spurious failures on NetBSD
  6665. runtest: avoid spurious failures on NetBSD
  6666. news: dependency tracking for Portland Group Compilers is now supported
  6667. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6668. tests: avoid spurious failures with older Texinfo
  6669. * t/distcheck-override-infodir.sh (main.texi): Add explicit calls to
  6670. '@dircategory' and '@direntry', to ensure a 'dir' file will be created
  6671. also by 'install-info' coming with Texinfo 4.8.
  6672. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6673. tests: avoid tons of spurious failures on NetBSD
  6674. * t/ax/am-test-lib.sh (process_requirements): Set the '$am_tool' variable
  6675. to the empty string before trying to unset it; otherwise, we might be
  6676. attempting to unset an already-unset variable, which (together with the
  6677. presence of the 'errexit' shell flag) causes spurious failures at least
  6678. with the /bin/sh shell from NetBSD 5.1. This was actually causing the
  6679. great majority of the Automake tests (all those not using a "required=..."
  6680. declaration) to fail spuriously on that platform!
  6681. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6682. runtest: avoid spurious failures on NetBSD
  6683. * runtest.in: Use ${1+"$@"} rather than simply "$@", because the 'set -u'
  6684. setting used in the script causes the latter to trigger a spurious error
  6685. with the NetBSD 5.1 /bin/sh ("./runtest: @: parameter not set") if there
  6686. are no arguments to the test.
  6687. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6688. news: dependency tracking for Portland Group Compilers is now supported
  6689. * NEWS: So document it here.
  6690. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6691. Merge branch 'elisp-work'
  6692. * elisp-work:
  6693. news: document all the recent elisp-related changes and improvements
  6694. coverage: byte-compiling elisp files in different subdirectories
  6695. elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
  6696. elisp: --batch implies -q, remove -q
  6697. elisp: support elisp files in subdirectories properly
  6698. elisp: simplify suffix rules using emacs '-L' option
  6699. elisp: no need to "absolutize" $(srcdir) and $(builddir) ...
  6700. elisp: prefer $(builddir) files over $(srcdir) ones
  6701. elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
  6702. coverage: elisp path contains $(srcdir) and $(builddir)
  6703. coverage: emacs lisp files in subdirectories
  6704. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6705. Merge branch 'maint'
  6706. * maint:
  6707. tests: cater to OpenSolaris 'zip'
  6708. 2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  6709. tests: cater to OpenSolaris 'zip'
  6710. * t/dist-formats.tap: Here: OpenSolaris zip do not accept the
  6711. '--version' option, but accept the '-v' one with a similar
  6712. meaning (if no further arguments are given).
  6713. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6714. Merge branch 'maint'
  6715. * maint:
  6716. tests: fix a spurious XPASS on OpenIndiana
  6717. tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
  6718. tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
  6719. tests: reimplement wrappers for automake and aclocal in perl
  6720. tests: work around a ksh bug w.r.t. ${1+"$@"}
  6721. depcomp: style changes to Portland Group Compilers support
  6722. depcomp: initial support for Portland Group Compilers
  6723. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6724. tests: fix a spurious XPASS on OpenIndiana
  6725. * t/instspc.tap: Here, by isolating the $(DESTDIR) used by runs with
  6726. different "problematic strings" to prevent them to unduly interfering
  6727. with each other. With this, the Automake testsuite finally run cleanly
  6728. on the OpenIndiana and Solaris 10 systems I have access to.
  6729. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6730. tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
  6731. * t/vala-vapi.sh: Use 'printf', not 'echo', to print strings containing
  6732. substrings like '\n', that can be interpreted like escape strings. That
  6733. because the /bin/sh and the /bin/bash shell from OpenIndiana actually
  6734. interpret them that way:
  6735. $ /bin/sh -c 'echo "foo\nbar"'
  6736. foo
  6737. bar
  6738. $ /bin/bash -c 'echo "foo\nbar"'
  6739. foo
  6740. bar
  6741. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6742. tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
  6743. On current OpenIndiana (based on what once was OpenSolaris 11), the shell
  6744. /bin/sh (which, differently from what happens on Solaris, is a true POSIX
  6745. shell, thus worthy of consideration) somehow manages to "eat" the
  6746. error message from 'rm' when that fails to remove a file due to lacking
  6747. permission on the parent directory:
  6748. $ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
  6749. $ echo rc = $?
  6750. rc = 1
  6751. $ /bin/bash -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
  6752. rm: foo not removed: Permission denied
  6753. $ echo rc = $?
  6754. rc = 2
  6755. $ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; env rm -f foo"
  6756. rm: foo not removed: Permission denied
  6757. $ echo rc = $?
  6758. rc = 2
  6759. That is probably due to an improper optimization, that is, the shell tries
  6760. to be smart and remove the file itself instead of invoking 'rm', but fails
  6761. spectacularly in the attempt.
  6762. * t/uninstall-fail.sh: The just-described bug was causing a spurious
  6763. failure in this test case. Cater to thus situation, by relaxing the
  6764. test when a faulty shell is detected. And while at it, fix and improve
  6765. an unrelated comment.
  6766. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6767. tests: reimplement wrappers for automake and aclocal in perl
  6768. This will allow us to avoid one extra shell invocation per automake
  6769. and aclocal invocation in our testsuite, and, more importantly, will
  6770. allow us not to worry about potential shell portability issues, at
  6771. least in those wrappers. For an example of such a portability issue,
  6772. refer to the recent commit v1.12.2-80-g65dadf6 "tests: work around a
  6773. ksh bug w.r.t. ${1+"$@"}".
  6774. * t/wrap/automake.in, t/wrap/aclocal.in: Rewritten in perl.
  6775. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6776. tests: work around a ksh bug w.r.t. ${1+"$@"}
  6777. Fixes automake bug#10898. See also the older (much older) thread:
  6778. <http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00036.html>
  6779. At least the AT&T and OpenSolaris versions of the Korn shell, as well
  6780. as the /bin/sh from OpenIndiana 11, have a strange bug regarding the
  6781. expansion of ${1+"$@"}: when exactly *one empty* argument is passed to
  6782. a script run by one of this shells, inside that script ${1+"$@"} will
  6783. expand to *nothing*, rather than to to the single empty string, as
  6784. one would expect (OTOH, $# will correctly expand to 1). This buggy
  6785. behaviour was causing a spurious failure in our testsuite (test 6 in
  6786. 't/automake-cmdline.tap'). Work around it.
  6787. * t/wrap/automake.in: Here.
  6788. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6789. news: document all the recent elisp-related changes and improvements
  6790. * NEWS (Elisp byte-compilation): Here. Also notice that the recent
  6791. changes have fixed the long-standing (almost two years old!) automake
  6792. bug#7441.
  6793. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6794. coverage: byte-compiling elisp files in different subdirectories
  6795. Where a '.el' file in a subdirectory might require a '.el' file in
  6796. another one. This does not work out of the box, but can be made to
  6797. work with a judicious use of $(AM_ELCFLAGS) (just introduced in the
  6798. previous commit).
  6799. * t/lisp-subdir-mix.sh: New test.
  6800. * t/list-of-tests.mk: Add it.
  6801. 2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  6802. elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
  6803. * lib/am/lisp.am (.el.elc): Add "$(AM_ELCFLAFS) $(ELCFLAGS)"
  6804. to the emacs command line.
  6805. * t/lisp-flags.sh: New test.
  6806. * t/list-of-tests.mk: Add it.
  6807. * doc/automake.texi (Emacs Lisp): Update.
  6808. 2012-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  6809. Merge branch 'depcomp-pgcc' into maint
  6810. * depcomp-pgcc:
  6811. depcomp: style changes to Portland Group Compilers support
  6812. depcomp: initial support for Portland Group Compilers
  6813. 2012-07-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  6814. Merge branch 'maint'
  6815. * maint:
  6816. build: fix build in VPATH setup
  6817. gen-tests: simplify sourcing of helper shell files
  6818. 2012-07-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  6819. build: fix build in VPATH setup
  6820. * Makefile.am (t/ax/test-defs.sh): Ensure the 't/ax' directory exists,
  6821. before trying to create 'test-defs.sh' in there. This is required in
  6822. VPATH builds.
  6823. Reported-by: Akim Demaille <akim@lrde.epita.fr>
  6824. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6825. news: fix a couple of minor formatting issues
  6826. * NEWS (New in 1.13): Here.
  6827. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6828. gen-tests: simplify sourcing of helper shell files
  6829. This is a follow-up on commit v1.12.2-49-g42fb45b, for an occurrence
  6830. of '. "$am_testauxdir"/foo.sh' that wasn't in a test script, but
  6831. rather in 'gen-testsuite-part' (ending up in the tests generated by
  6832. that script).
  6833. * gen-testsuite-part: In the generated 'depcomp*.tap' tests, use
  6834. simply:
  6835. . depcomp.sh
  6836. rather than:
  6837. . "$am_testauxdir/depcomp.sh"
  6838. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6839. typofix: in a comment in Makefile.am
  6840. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6841. Merge branch 'maint'
  6842. * maint: (38 commits)
  6843. maintcheck: fixup list of files in $(xdefs)
  6844. tests: never source test-defs.sh directly, source test-lib.sh instead
  6845. runtest: sanitize test environment
  6846. tests: remove an obsolescent self test
  6847. tests: "am_using_tap=yes" -> "am_test_protocol=tap"
  6848. tests: protect test libs against multiple inclusion
  6849. configure: testsuite shell can return early from "dot-sourced" files
  6850. tests: move sanitization and "Bournification" in the generic test lib
  6851. tests: source test defs in the generic test lib
  6852. test defs: no need to re-add $srcdir/t/ax to $PATH
  6853. tests: split test libs into "generic" and "automake-specific"
  6854. test setup: move actual calling of testsuite setup in ./defs
  6855. test setup: merge definitions of function for simple tests
  6856. test init: refactor: new function 'am_test_setup'
  6857. test init: refactor: move displaying of debugging info later
  6858. test init: refactor: new function 'am_setup_testdir'
  6859. test init: refactor: new function 'am_set_exit_traps'
  6860. configure: testsuite shell set exit traps in shell functions
  6861. test init: refactor: new function 'am_exit_trap'
  6862. test init: refactor: new function 'process_requirements'
  6863. ...
  6864. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6865. Merge branch 'testsuite-refactor' into maint
  6866. * testsuite-refactor: (33 commits)
  6867. maintcheck: fixup list of files in $(xdefs)
  6868. tests: never source test-defs.sh directly, source test-lib.sh instead
  6869. runtest: sanitize test environment
  6870. tests: remove an obsolescent self test
  6871. tests: "am_using_tap=yes" -> "am_test_protocol=tap"
  6872. tests: protect test libs against multiple inclusion
  6873. configure: testsuite shell can return early from "dot-sourced" files
  6874. tests: move sanitization and "Bournification" in the generic test lib
  6875. tests: source test defs in the generic test lib
  6876. test defs: no need to re-add $srcdir/t/ax to $PATH
  6877. tests: split test libs into "generic" and "automake-specific"
  6878. test setup: move actual calling of testsuite setup in ./defs
  6879. test setup: merge definitions of function for simple tests
  6880. test init: refactor: new function 'am_test_setup'
  6881. test init: refactor: move displaying of debugging info later
  6882. test init: refactor: new function 'am_setup_testdir'
  6883. test init: refactor: new function 'am_set_exit_traps'
  6884. configure: testsuite shell set exit traps in shell functions
  6885. test init: refactor: new function 'am_exit_trap'
  6886. test init: refactor: new function 'process_requirements'
  6887. ...
  6888. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6889. Merge branch 'fix-pr12041' into maint
  6890. * fix-pr12041:
  6891. tests: avoid spurious failure when running as root
  6892. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6893. maintcheck: fixup list of files in $(xdefs)
  6894. syntax-checks.mk (xdefs): Adjust to recent changes: add 't/ax/test-lib.sh'
  6895. and 't/ax/test-lib.sh', remove the now-deleted 't/ax/test-init.sh'
  6896. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6897. tests: never source test-defs.sh directly, source test-lib.sh instead
  6898. After the recent re-organization, sourcing 'test-defs.sh' directly might
  6899. not work well and cause spurious failures or other unexpected behaviours.
  6900. We should source 'test-lib.sh' instead, which contains not more direct
  6901. code execution (only definition of shell variables/functions, or sourcing
  6902. of other '*.sh' with the same property), is protected against multiple
  6903. inclusions, and sources 'test-defs.sh' automatically in in a proper way.
  6904. * t/testsuite-summary-count.sh, t/tap-summary.sh, t/tap-summary-color.sh,
  6905. t/testsuite-summary-color.sh: Source 'test-lib.sh', not 'test-defs.sh'.
  6906. * gen-testsuite-part: Likewise, in the generated wrapper scripts.
  6907. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6908. runtest: sanitize test environment
  6909. * runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT
  6910. in Makefile.am, unset variables that should be under the complete control
  6911. of the test framework, and that could create havoc if inherited from the
  6912. environment. This remove the need to check against possible environment
  6913. "pollution" ...
  6914. * t/ax/test-defs.in: ... in here.
  6915. * Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of
  6916. synchronization with 'runtest.in'.
  6917. * t/self-check-env-sanitize.tap: Remove as obsolete.
  6918. * t/list-of-tests.mk: Adjust.
  6919. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6920. tests: remove an obsolescent self test
  6921. * t/self-check-tap.sh: This. The recent reorganization and code
  6922. moving between 'test-defs.sh' and 'test-lib.sh' has made it
  6923. brittle and prone to failures. Since the usefulness of this self
  6924. check is extremely limited, it's not worth trying to fix it. Just
  6925. remove it.
  6926. * t/list-of-tests.mk: Adjust.
  6927. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6928. tests: "am_using_tap=yes" -> "am_test_protocol=tap"
  6929. And similarly, "am_using_tap=no" -> "am_test_protocol=none".
  6930. The new '$am_test_protocol' name is clearer, and will allow the easy
  6931. addition of further test protocols in the future. This is not truly
  6932. relevant for automake, but we are trying to make some parts of our
  6933. testsuite framework as general as possible, in view of a future move
  6934. to a more generic project like Gnulib.
  6935. * Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh,
  6936. t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust.
  6937. * syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to
  6938. the list of obsolete variables to check against.
  6939. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6940. tests: protect test libs against multiple inclusion
  6941. * t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced.
  6942. Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced',
  6943. respectively, for this purpose.
  6944. * runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced'
  6945. and 'am_test_lib_sourced', to avoid interferences from the environment.
  6946. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6947. configure: testsuite shell can return early from "dot-sourced" files
  6948. * configure.ac: Check that the shell selected to run the test
  6949. scripts can call 'return' form within a file being sourced
  6950. with the '.' built-in.
  6951. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6952. tests: move sanitization and "Bournification" in the generic test lib
  6953. * t/ax/test-defs.sh: From here ...
  6954. * t/ax/test-lib.sh: ... to here. Also move the initialization of
  6955. '$argv0' and '$me'.
  6956. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6957. tests: source test defs in the generic test lib
  6958. * t/ax/test-lib.sh: That is, here ...
  6959. * defs: ... rather than here.
  6960. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6961. test defs: no need to re-add $srcdir/t/ax to $PATH
  6962. * t/ax/test-defs.sh: Here. That is already done by both 'runtest' and
  6963. AM_TESTS_ENVIRONMENT, and the presence of '$srcdir/t/ax' in $PATH is
  6964. anyway required, after the recent changes, for our testsuite framework
  6965. to work at all.
  6966. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6967. tests: split test libs into "generic" and "automake-specific"
  6968. This is the first step in the quest to merge the generically useful
  6969. parts of our test suite framework in a more generic project, like
  6970. Gnulib. Time will tell if we'll succeed, and whether the success will
  6971. be worth the extra hassle.
  6972. * t/ax/test-init.sh: Split out ...
  6973. * t/ax/am-test-lib.sh, t/ax/test-lib.sh: ... into these two tests.
  6974. * defs, Makefile.am: Adjust.
  6975. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6976. test setup: move actual calling of testsuite setup in ./defs
  6977. * t/ax/test-init.sh: Move call to 'am_test_setup' ...
  6978. * defs: ... here.
  6979. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6980. test setup: merge definitions of function for simple tests
  6981. * t/ax/plain-functions.sh: Delete, moving the definitions of ...
  6982. ($stderr_fileno_): ... this variable ...
  6983. (warn_, fail_, skip_, skip_all_, fatal_, framework_failure_): ... and
  6984. these functions ...
  6985. * t/ax/test-init.sh: ... in here. This allow us to use those functions
  6986. earlier in this file (instead of having to duplicate their behaviour
  6987. with inlined code). The TAP-based tests are still able to override these
  6988. functions later to their TAP-enhanced equivalents when 'tap-functions.sh'
  6989. is sourced.
  6990. * Makefile.am (dist_noinst_DATA): Remove 't/ax/plain-functions.sh'.
  6991. * t/ax/tap-functions.sh: Adjust a comment.
  6992. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6993. test init: refactor: new function 'am_test_setup'
  6994. * t/ax/test-init.sh (am_test_setup): Here.
  6995. Call it from the main code. Remove other calls of functions and
  6996. settings that are now duly called by 'am_test_setup'.
  6997. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  6998. test init: refactor: move displaying of debugging info later
  6999. * t/ax/test-init.sh: Here, about the values of $PATH, $am_using_tap
  7000. and $am_running_installcheck.
  7001. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7002. test init: refactor: new function 'am_setup_testdir'
  7003. * t/ax/test-init.sh (am_setup_testdir): Here.
  7004. Use it instead of inlining its contents in the main code.
  7005. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7006. test init: refactor: new function 'am_set_exit_traps'
  7007. * t/ax/test-init.sh (am_set_exit_traps): Here.
  7008. (trap): Use it instead of inlining the cleanup/finalization code.
  7009. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7010. configure: testsuite shell set exit traps in shell functions
  7011. * configure.ac: Check that the shell selected to run the test
  7012. scripts can set an exit trap in a shell function, without having
  7013. that trap executed at the termination of the function rather
  7014. than of the scripts. According to the Autoconf manual, at least
  7015. AUX 5.3 /bin/sh suffers of such a bug.
  7016. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7017. test init: refactor: new function 'am_exit_trap'
  7018. * t/ax/test-init.sh (am_exit_trap): Here.
  7019. (trap): Use it instead of inlining the cleanup/finialization code.
  7020. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7021. test init: refactor: new function 'process_requirements'
  7022. * t/ax/test-init.sh (process_requirements): Here.
  7023. Use it in to check that the tools in $required are present.
  7024. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7025. test init: refactor: new function 'require_tool'
  7026. * t/ax/test-init.sh (require_tool): Here.
  7027. Use it in the loop in the prerequisites in $required.
  7028. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7029. test init: remove a couple of paranoid sanity checks
  7030. * t/ax/test-init.sh: Here, about 'am_top_srcdir' and 'am_top_builddir';
  7031. the values of those variables are AC_SUBST'd, so it's nigh impossible
  7032. for the to be wrong or get "messed up".
  7033. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7034. tests: simplify sourcing of helper shell files
  7035. Now that the early $PATH setup in both 'runtest' and AM_TESTS_ENVIRONMENT
  7036. allow the '.' built-in to find to-be-sourced shell scripts in the 't/ax/'
  7037. directory automatically, we can simplify several usages like:
  7038. . "$am_testauxdir"/foo.sh
  7039. to just:
  7040. . foo.sh
  7041. Also, because our test scripts run with the 'errexit' flag active, and
  7042. because POSIX mandates that, when the '.' built-in is used,
  7043. ... if no readable file is found, a non-interactive shell shall abort ...
  7044. we can further simplify usages like:
  7045. . "$am_testauxdir"/foo.sh || fatal_ "sourcing foo.sh"
  7046. once again to to just:
  7047. . foo.sh
  7048. * ./defs, several tests: Adjusted.
  7049. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7050. test defs: move in 't/ax/test-defs.sh'
  7051. We can do so with minimal churn, now that the early setup of $PATH in
  7052. both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find
  7053. to-be-sourced shell scripts in 't/ax' automatically, both in in-tree
  7054. and VPATH builds.
  7055. With this change, we take another step forward a more rational and
  7056. "segregated" organization of our testsuite framework.
  7057. * defs-static.in: Rename ...
  7058. * t/ax/test-defs.in: ... like this, and adjust.
  7059. * Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part,
  7060. t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore,
  7061. t/testsuite-summary-color.sh, t/testsuite-summary-count.sh,
  7062. t/self-check-tap.sh, defs: Adjust.
  7063. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7064. tests: update PATH early from AM_TESTS_ENVIRONMENT and runtest
  7065. Because the POSIX standards mandate that sourcing a file with ". FILE"
  7066. will cause FILE (assuming it is a relative containing no slashes) to be
  7067. looked for in PATH, such a move will allow us to simplify our sourcing
  7068. of shell testing libraries like (currently) 't/ax/test-init.sh' and
  7069. 'defs', and to modularize and re-organize them better in the feature,
  7070. with minimal churn.
  7071. * runtest.in, Makefile.am (AM_TEST_ENVIRONMENT): Prepend $(abs_srcdir)/t/ax
  7072. and $(abs_builddir)/t/ax (in that order) to PATH; do so avoiding repetition
  7073. in the common case of non-VPATH builds.
  7074. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7075. runtest: export $srcdir for use by the test scripts
  7076. This is mostly a preparatory change in view of future ones. But it
  7077. also make the behaviour of runtest more similar to that of the test
  7078. harness used by "make check".
  7079. * runtest.in: Export srcdir (was already defined to '@srcdir@').
  7080. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7081. gen-tests: $testdir/ax -> $testauxdir
  7082. * gen-testsuite-part ($testauxdir): New, defined to "$testdir/ax".
  7083. Use it throughout, for better encapsulation and less duplication.
  7084. ($auxdir): Remove as unneeded.
  7085. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7086. gen-tests: less hard-coding of 't' as the test directory
  7087. This will make life easier for us in case we decide to rename the
  7088. testsuite directory in the future (perhaps to something like 'tests',
  7089. which is somewhat less cryptic than the current 't').
  7090. * gen-testsuite-part ($testdir): New variable, used throughout instead
  7091. of hard-coding the name of the test directory to 't'.
  7092. All the script adjusted to make proper use of '$testdir'.
  7093. ($auxdir): Move its definition earlier, for consistency with the one
  7094. of '$testdir'.
  7095. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7096. build: auxiliary testsuite files/scripts built by "make all"
  7097. This will allow the developers to run a tests case by hand out of
  7098. a newly extracted tarball simply doing:
  7099. $ ./configure && make
  7100. $ ./runtest t/the-test-case.sh
  7101. while before this change one has to resort to:
  7102. $ ./configure && make && make check TESTS=
  7103. $ ./runtest t/the-test-case.sh
  7104. or, with some non-GNU makes, even:
  7105. $ ./configure && make && make check TESTS= AM_MAKEFLAGS="TESTS="
  7106. $ ./runtest t/the-test-case.sh
  7107. This come very handy sometimes, especially when doing one-shot
  7108. debugging. Admittedly not a big deal, but one less friction in
  7109. the build system is always nice.
  7110. * Makefile.am (check_SCRIPTS, dist_check_DATA, nodist_check_DATA):
  7111. Move their content to ...
  7112. (noinst_SCRIPTS, dist_noinst_DATA, nodist_noinst_DATA): ... these
  7113. variables.
  7114. Adjust comments.
  7115. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7116. perf tests: reorganize
  7117. * t/list-of-tests.mk (handwritten_TESTS): Don't list ($perf_TESTS) in
  7118. here anymore.
  7119. * Makefile.am (EXTRA_DIST): Add them explicitly.
  7120. (perf): New target, run the performance tests and save the logs of
  7121. the ones with unexpected results in the file 't/perf/test-suite.log',
  7122. which is thus ...
  7123. (PERF_TEST_SUITE_LOG): ... defined in this variable ...
  7124. (CLEANFILES): ... and added to this.
  7125. (test_subdirs): Remove 't/perf': the tests in there are no more
  7126. listed in $(TESTS).
  7127. * t/ax/test-init.sh: Don't explicitly skip "perf" test here.
  7128. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7129. runtest: pass *all* the given shell options to the test invocation
  7130. * runtest.in: Here. This didn't work previously because, in our
  7131. option parsing loop, we were mistakenly redefining '$shell_opts'
  7132. each time, instead of appending to it.
  7133. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7134. runtest: correctly pass shell option also for TAP tests
  7135. * runtest.in: Here. This required code refactoring not
  7136. completely trivial.
  7137. 2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  7138. cosmetics: remove leftover comment fragment from runtest.in
  7139. 2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  7140. test defs: improve a comment
  7141. * defs-static.in: Here, about the unsetting of CDPATH.
  7142. 2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  7143. test defs: remove obsolete comment
  7144. * defs-static.in: Here: do not state anymore that this file should execute
  7145. correctly with any system's /bin/sh shell, as this is not true anymore: the
  7146. testsuite assumes a POSIX shell throughout these days.
  7147. 2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  7148. runtest: support option --shell, tell which shell should run the test
  7149. * runtest.in: Here. The same effect could have been obtained by
  7150. exporting AM_TEST_RUNNER_SHELL to the desired value, but the new
  7151. API is simpler and requires less typing and less thinking.
  7152. 2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  7153. runtest: support passing options over to the shell
  7154. * runtest.in: Here. Also, support '--help' to display a nice
  7155. help screen.
  7156. 2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  7157. tests: avoid spurious failure when running as root
  7158. Fixes automake bug#12041.
  7159. * t/primary-prefix-couples-force-valid.sh: If run as root, don't expect
  7160. a "test -x" on a non-executable files to fail: for root, all files are
  7161. executable (as well as readable and writable), and at least on Solaris
  7162. 10 that causes "test -x" to succeed also on non-executable files.
  7163. 2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  7164. Merge branch 'maint'
  7165. * maint:
  7166. tests: avoid non-textual output in a '.log' file
  7167. 2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  7168. tests: avoid non-textual output in a '.log' file
  7169. * t/dist-formats.tap: Here. Otherwise, some inferior awk implementations,
  7170. like OpenIndiana /usr/xpg4/bin/awk, could be confused and cause spurious
  7171. errors in the testsuite harness.
  7172. 2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  7173. tags: refactor to reduce code duplication (2)
  7174. No semantic change is intended.
  7175. * lib/am/tags.am (am__define_uniq_tagged_files): New variable,
  7176. factor out some code common to ...
  7177. (ctags-am, tags-am, ID): ... the recipes of these targets.
  7178. 2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  7179. tags: refactor to reduce code duplication (1)
  7180. No semantic change is intended.
  7181. * lib/am/tags.am (am__uniquify_input): New variable, factor
  7182. out some code common to ...
  7183. (ctags-am, tags-am, ID): ... the recipes of these targets.
  7184. 2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  7185. Merge branches 'tags-simplify-recursion' and 'color-tests-always'
  7186. * tags-simplify-recursion:
  7187. tags: unify recursion for tags targets with that of "usual" targets
  7188. * color-tests-always:
  7189. tests: better name for a couple of tests
  7190. check: support colorized testsuite output by default
  7191. 2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  7192. tests: avoid a spurious failure with Solaris /bin/sh
  7193. The /bin/sh shell on Solaris is dumb enough not to set the exit
  7194. status to 127 after the execution of a non-existing command is
  7195. attempted:
  7196. $ /bin/sh -c 'nonesuch'; echo stat = $?
  7197. /bin/sh: nonesuch: not found
  7198. stat = 1
  7199. This means that the missing script, when run through that shell,
  7200. cannot discriminate between a real failure of a maintainer tool
  7201. and a failure due to its absence. This is not a big deal in
  7202. practice (especially because all the 'missing' invocations in
  7203. our Makefiles are done with $(SHELL), and that is almost surely
  7204. set by configure to a proper POSIX shell), but was causing an
  7205. annoying failure in our testsuite. Fix it.
  7206. * t/missing3.sh: If 'missing' is run with a /bin/sh shell suffering
  7207. from the just-described bug, skip the check that would spuriously
  7208. fail due to that bug.
  7209. 2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  7210. tests: fix buglet in t/missing3.sh
  7211. * t/missing3.sh: Be sure to use 'run_cmd' also in the first invocation
  7212. of 'missing', to ensure the stderr will actually be saved in a file we
  7213. can later grep.
  7214. 2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  7215. Merge branch 'maint'
  7216. * maint:
  7217. self tests: avoid spurious failures on older bash
  7218. tests: remove t/parallel-tests-many.sh (fixes spurious failure)
  7219. typofix: in a comment in the automake script
  7220. news: minor fixlets and reordering
  7221. 2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  7222. Merge branch 'fix-pr11909' into maint
  7223. * fix-pr11909:
  7224. self tests: avoid spurious failures on older bash
  7225. 2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  7226. self tests: avoid spurious failures on older bash
  7227. Fixes automake bug#11909.
  7228. * t/self-check-explicit-skips.sh: Remove or rework few checks for use
  7229. cases that are no more relevant nor supported now that we've got rid
  7230. of the need to use the 'Exit' function explicitly. Make the other
  7231. existing checks stricter.
  7232. 2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  7233. tests: remove t/parallel-tests-many.sh (fixes spurious failure)
  7234. That test was checking for automake#7868 "parallel-tests and command-line
  7235. length limit issue". That bug is still open, and the tests was xfailing.
  7236. What concerns us is that the test was also causing an annoying problem.
  7237. On Solaris 10, it produced a '.log' file with two overly-long lines (more
  7238. than 1 million characters long!) and that was causing the test harness to
  7239. experience spurious failures, with Solaris XPG4 awk complaining that:
  7240. /usr/xpg4/bin/awk: line 0 (NR=734): Record too long (LIMIT: 19999 bytes)
  7241. A little consideration shows that the bug#7868 checked by the culprit
  7242. test cannot be solved "by accident", e.g., by another bug fix or some
  7243. simple refactoring, so there is little added value in keeping the xfailing
  7244. test for it, if this causes other problems (and we've seen it does).
  7245. So we just remove the test. In case we ever manage to fix the bug in
  7246. mainline automake, we can copy over the similar test(s) from Automake-NG,
  7247. which has actually managed to fix the bug (and have simpler test cases
  7248. for it).
  7249. * t/parallel-tests-many.sh: Delete.
  7250. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Remove it.
  7251. 2012-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  7252. tests: better name for a couple of tests
  7253. * t/color.sh: Rename ...
  7254. * t/color-tests.sh: ... like this.
  7255. * t/color2.sh: Rename ...
  7256. * t/color-tests2.sh: ... like this.
  7257. * t/list-of-tests.mk: Adjust.
  7258. 2012-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  7259. check: support colorized testsuite output by default
  7260. Fixes automake bug#11855.
  7261. With this change, we make the 'color-tests' option enabled by default.
  7262. That option remains still silently accepted as a no-op, for backward
  7263. compatibility.
  7264. The developer of a package is still free to disable testsuite coloring on
  7265. a per-makefile basis (by adding "AM_COLOR_TESTS = no" to the Makefile.am)
  7266. or on a whole-project basis (by AC_SUBST'ing AM_COLOR_TESTS to "no" in
  7267. configure.ac). But now the user will be able to request the testsuite
  7268. output to be colorized, if he really wants to:
  7269. # With GNU make:
  7270. make AM_COLOR_TESTS=yes check
  7271. # With non-GNU make:
  7272. make AM_COLOR_TESTS=yes AM_MAKEFLAGS=AM_COLOR_TESTS=yes check
  7273. * NEWS: Update.
  7274. * doc/automake.texi: Updated, and some related minor reformatting
  7275. and rewording.
  7276. * automake.in (handle_tests): No need to pass the transform '%COLOR%'
  7277. when processing "check.am".
  7278. * lib/am/parallel-tests.am: Remove use of the '%?COLOR%' transform;
  7279. just act as if it were unconditionally TRUE.
  7280. * t/color.sh: No need to specify 'color-tests' in 'AUTOMAKE_OPTIONS'
  7281. nor in 'AM_INIT_AUTOMAKE'.
  7282. * t/ax/testsuite-summary-checks.sh: Likewise.
  7283. * t/ax/tap-summary-aux.sh: Likewise.
  7284. * t/color2.sh: Likewise. Also, ensure that colorized testsuite output
  7285. can be disabled by default by calling "AC_SUBST([AM_COLOR_TESTS], [no])".
  7286. * t/tap-realtime.sh: Define 'AM_COLOR_TESTS' to "no" in Makefile.am, to
  7287. avoid spurious colorization of the output due to the use of the 'expect'
  7288. program.
  7289. * t/color-tests-opt.sh: New test, check that the 'color-tests' option is
  7290. still recognized as a no-op.
  7291. * t/list-of-tests.mk: Add the new test.
  7292. 2012-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  7293. tags: unify recursion for tags targets with that of "usual" targets
  7294. This change has a side effect: now any failure of the 'tags', 'ctags',
  7295. 'cscope' and 'cscopelist' targets in a subdirectory will cause the
  7296. recursive command issued from the top directory to fail. We believe
  7297. that this behavioural change is not only justified by the simplification
  7298. this patch entails, but actually offers better semantics: ignoring
  7299. failures by default is never a good idea, and with make, the user can
  7300. anyway order the completion of commands in the face of possible failures
  7301. with the '-k' option.
  7302. * NEWS: Update.
  7303. * automake.in (%required_targets): Add keys 'cscopelist-am', 'tags-am'
  7304. and 'ctags-am'.
  7305. (handle_tags): Greatly simplified, the major part of the handling of
  7306. recursion for the 'tags', 'ctags' and 'cscopelist' now moved out to ...
  7307. * lib/am/tags.am: ... this file, that has been adjusted and extended
  7308. accordingly.
  7309. * t/maken3.sh: Remove testing of the 'TAGS' target, that is now just
  7310. an alias to 'tags'. Without this change, this test would spuriously
  7311. fail.
  7312. 2012-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  7313. typofix: in a comment in the automake script
  7314. * automake.in (process_file): Here.
  7315. 2012-07-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  7316. news: minor fixlets and reordering
  7317. 2012-07-16 Jack Kelly <jack@jackkelly.name>
  7318. elisp: --batch implies -q, remove -q
  7319. According to the emacs manual[1], --batch implies -q, so there's no
  7320. need to pass -q when compiling elisp.
  7321. * lib/am/lisp.am: Remove -q from $(EMACS) call.
  7322. [1]: http://gnu.org/s/emacs/manual/html_node/emacs/Initial-Options.html
  7323. 2012-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  7324. Merge branch 'maint'
  7325. * maint:
  7326. fixup: delete "# serial" line in m4/amversion.in
  7327. news: update about recent ylwrap changes and fixes
  7328. m4: get rid of "# serial" lines
  7329. configure: ${#param} must be supported by the shell for the testsuite
  7330. yacc tests: fix a spurious failure with parallel make
  7331. ylwrap: use proper quoting inside a `...` substitution
  7332. ylwrap: don't uselessly reset the exit status in case of failure
  7333. ylwrap: fix C++ support for Bison
  7334. ylwrap: refactor: move loop invariant
  7335. ylwrap: refactoring: don't rely on the file order
  7336. tests: upgrade and fix Bison test case
  7337. tests: fix bison input file
  7338. ylwrap: comment changes
  7339. ylwrap: modernize idioms
  7340. ylwrap: rename header inclusion in generated parsers
  7341. ylwrap: simplify the list of renamings
  7342. ylwrap: refactor: less duplication
  7343. 2012-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  7344. fixup: delete "# serial" line in m4/amversion.in
  7345. Otherwise, when m4/amversion.m4 is regenerated, it will contain a
  7346. serial line as well.
  7347. 2012-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  7348. Merge branch 'yacc-work' into maint
  7349. * yacc-work:
  7350. news: update about recent ylwrap changes and fixes
  7351. yacc tests: fix a spurious failure with parallel make
  7352. ylwrap: use proper quoting inside a `...` substitution
  7353. ylwrap: don't uselessly reset the exit status in case of failure
  7354. ylwrap: fix C++ support for Bison
  7355. ylwrap: refactor: move loop invariant
  7356. ylwrap: refactoring: don't rely on the file order
  7357. tests: upgrade and fix Bison test case
  7358. tests: fix bison input file
  7359. ylwrap: comment changes
  7360. ylwrap: modernize idioms
  7361. ylwrap: rename header inclusion in generated parsers
  7362. ylwrap: simplify the list of renamings
  7363. ylwrap: refactor: less duplication
  7364. 2012-07-16 Akim Demaille <akim@lrde.epita.fr>
  7365. news: update about recent ylwrap changes and fixes
  7366. * NEWS: In ylwrap, renamings are properly propagated, and unknown
  7367. files are preserved.
  7368. 2012-07-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  7369. elisp: support elisp files in subdirectories properly
  7370. For more reference, see:
  7371. <http://lists.gnu.org/archive/html/automake/2009-10/msg00013.html>
  7372. <http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4772>
  7373. * lib/am/lisp.am (.el.elc): If the file being byte-compiled is in
  7374. a subdirectory, add that (both as a subdirectory of the builddir
  7375. and the srcdir) to the emacs load path. While we are at it (and
  7376. for consistency), drop quoting of $(srcdir) and $(builddir), since
  7377. those variables are ensured (by configure-time checks) not to
  7378. contain white space nor shell metacharacters.
  7379. * t/list-of-tests.mk (XFAIL_TESTS): Add 't/lisp-subdir.sh' and
  7380. 't/lisp-subdir2.sh', since they now passes.
  7381. 2012-07-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  7382. elisp: simplify suffix rules using emacs '-L' option
  7383. * lib/am/lisp.am (.el.elc): Use '-L dir' instead of calling '--eval' to
  7384. explicitly append to the 'load-path' variable.
  7385. 2012-07-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  7386. elisp: no need to "absolutize" $(srcdir) and $(builddir) ...
  7387. * lib/am/lisp.am (.el.elc): ... here: we don't chdir around anyway,
  7388. nor move or copy around our source '.el' files. Update comments,
  7389. and re-wrap them while we are at it.
  7390. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7391. elisp: prefer $(builddir) files over $(srcdir) ones
  7392. * lib/am/lisp.am (.el.elc): Here. This better respects VPATH spirit.
  7393. Adjust and extends comments.
  7394. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/lisp-loadpath.sh', which
  7395. now passes.
  7396. 2012-07-14 Jack Kelly <jack@jackkelly.name>
  7397. elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
  7398. Motivated by automake bug#11806.
  7399. Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking
  7400. 'elisp-comp' on all of them in a bulk; this involved complex timestamping
  7401. and file-locking logic. It was also brittle in any slightly-unusual
  7402. setup, because 'elisp-comp' operated by copying all of the elisp files
  7403. to be compiled into a temporary sub-directory and compiling them in there,
  7404. the copying the resulting byte-compile files back in the build directory.
  7405. This patch removes all of that juggling and chicanery in favour of
  7406. defining a much simpler '.el.elc' suffix rule. Not only this is simpler,
  7407. but it also interacts better with "make -jN" calls, which are becoming
  7408. more and more common and useful on today's increasingly multicore systems.
  7409. * Makefile.am (dist_script_DATA): Remove 'elisp-comp'.
  7410. * automake.in (@common_files): Likewise.
  7411. (handle_emacs_lisp): Do not require 'elisp-comp'.
  7412. * doc/automake.texi: Remove references to 'elisp-comp'.
  7413. * lib/am/lisp.am: Define elisp compilation via a suffix rule; this
  7414. basically amounts to a complete re-write of the lisp byte-compilation
  7415. rules.
  7416. * lib/elisp-comp: Remove.
  7417. * t/add-missing.tap: Remove elisp-comp test.
  7418. * t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp.
  7419. * t/primary-prefix-invalid-couples.tap: Likewise.
  7420. * t/primary-prefix-valid-couples.sh: Likewise.
  7421. * t/lisp4.sh: Remove reference to elc-stamp.
  7422. * t/lisp5.sh: Likewise.
  7423. * t/lisp6.sh: Likewise.
  7424. * t/lisp3.sh: Likewise. Also remove the recompilation check that
  7425. involves a (message) call.
  7426. * t/lisp7.sh: Remove check for "Warnings can be ignored". Remove
  7427. reference to elc-stamp.
  7428. * t/lisp8.sh: Likewise.
  7429. * t/lispdry.sh: Remove references to elc-stamp.
  7430. Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com>
  7431. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7432. coverage: elisp path contains $(srcdir) and $(builddir)
  7433. * t/lisp-loadpath.sh: Check that. Also check that, in true VPATH
  7434. spirit, elisp files in the build directory are preferred to those
  7435. in the source directory. This test currently fails.
  7436. * t/list-of-tests.mk (handwritten_TESTS): Add the new test.
  7437. (XFAIL_TESTS): Likewise.
  7438. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7439. coverage: emacs lisp files in subdirectories
  7440. * t/lisp-subdir.sh, t/lisp-subdir2.sh: New tests, still failing.
  7441. * t/list-of-files.mk (handwritten_TESTS, XFAIL_TESTS): Add them.
  7442. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7443. m4: get rid of "# serial" lines
  7444. The "#serial" lines are only considered by aclocal for the system-wide
  7445. third-party '.m4' files, not for the Automake-provided ones. So they
  7446. serve no real purpose in the Automake '.m4' files.
  7447. In addition, now that we use git and topic branches, and that we are also
  7448. writing the Automake-NG fork, the "#serial" lines are becoming more and
  7449. more unreliable (e.g., different version of the same file in different
  7450. branches can easily end up having the same serial numbers).
  7451. So let's just nuke all the "#serial" lines. See also automake bug#11932.
  7452. * m4/*.m4: All "# serial" lines removed.
  7453. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7454. configure: ${#param} must be supported by the shell for the testsuite
  7455. This will be required at least by the Automake-NG branch.
  7456. * configure.ac: Require the $AM_TEST_RUNNER_SHELL supports ${#param} as
  7457. a way to obtain the length of the expansion of the variable $param.
  7458. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7459. yacc tests: fix a spurious failure with parallel make
  7460. * t/yacc-bison-skeleton.sh (Makefile.am): Add 'zardoz.h'
  7461. to BUILT_SOURCES.
  7462. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7463. ylwrap: use proper quoting inside a `...` substitution
  7464. * lib/ylwrap ($target): Here, when redefining this to a temporary file.
  7465. 2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  7466. ylwrap: don't uselessly reset the exit status in case of failure
  7467. * lib/ylwrap: Here. In case of a failure in the wrapped yacc/lex
  7468. invocation, '$ret' (holding the final exit status of ylwrap) was
  7469. being uselessly reset to '1' in the later if/else.
  7470. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7471. ylwrap: fix C++ support for Bison
  7472. Fixes automake bug#7648.
  7473. The current logic of ylwrap is to call yacc in a sub directory, and
  7474. pull out of it all the files that were requested on its command line.
  7475. Reverse this approach: export *all* the files created in the
  7476. subdirectory, but rename them according to what the command says.
  7477. This way, extra files, such as position.hh, location.hh and stack.hh
  7478. for C++ parsers, but also parser.xml or parser.dot if XML or Dot
  7479. output is enabled, will be preserved.
  7480. * lib/ylwrap (pairlist): Remove.
  7481. (main loop): Don't loop over pairlist, but over the files in the
  7482. temporary directory.
  7483. * t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh.
  7484. * THANKS (James Bostock): Add, he reported bug#7648.
  7485. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7486. ylwrap: refactor: move loop invariant
  7487. * lib/ylwrap (input_rx): Move its definition next to its sibling's,
  7488. outside of the main loop.
  7489. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7490. ylwrap: refactoring: don't rely on the file order
  7491. Forthcoming changes will make us iterate over the files in a different
  7492. order.
  7493. lib/ylwrap (first): Remove, replaced by...
  7494. (parser): this.
  7495. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7496. tests: upgrade and fix Bison test case
  7497. * t/yacc-bison-skeleton-cxx.sh: Request locations, to be
  7498. even more stressful.
  7499. Use %union to make sure the %{...%} is inserted where appropriate.
  7500. Fix some indentation/coding style issues.
  7501. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7502. tests: fix bison input file
  7503. Do not provide implementations in the %{...%} section, especially if the
  7504. header is included elsewhere, since then the linker will complain about
  7505. multiple definitions.
  7506. Reported by Stefano Lattarini,
  7507. <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00126.html>.
  7508. * t/yacc-bison-skeleton.sh (zardoz.y): Define yylex and yyerror in the
  7509. epilogue.
  7510. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7511. ylwrap: comment changes
  7512. * lib/ylwrap: Improve some comments.
  7513. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7514. ylwrap: modernize idioms
  7515. * lib/ylwrap: Prefer printf to echo when special characters may
  7516. occur.
  7517. Replace the historical ',' sed separator with '|'.
  7518. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7519. ylwrap: rename header inclusion in generated parsers
  7520. Some types of Bison parsers, such as the GLR ones, generate a header
  7521. file that they include. ylwrap, which renames the generated files,
  7522. does not rename the included file. Fix this shortcoming, reported
  7523. for instance here:
  7524. <http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>.
  7525. Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491.
  7526. * lib/ylwrap (quote_for_sed): Accept arguments.
  7527. Catch more special characters.
  7528. (rename_sed): New.
  7529. Improve the previous renaming sed commands using quote_for_sed.
  7530. Suggested by Stefano Lattarini here:
  7531. <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>.
  7532. (main loop): Use rename_sed to rename the dependencies to other files.
  7533. * t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was
  7534. not issuing such an include.
  7535. * t/list-of-tests.mk (XFAIL_TESTS): Adjust.
  7536. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7537. ylwrap: simplify the list of renamings
  7538. * lib/ylwrap (pairwise): Instead of being a straightforward copy from
  7539. the command line arguments, and having to deal with y.tab vs. y_tab
  7540. later, let pairwise store the real file names to process, y_tab
  7541. conversion included when needed.
  7542. (main loop): Use $to instead of $2, for symmetry with $from.
  7543. 2012-07-14 Akim Demaille <akim@lrde.epita.fr>
  7544. ylwrap: refactor: less duplication
  7545. * lib/ylwrap (guard): New function.
  7546. Move functions before actual code.
  7547. 2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  7548. Merge branch 'maint'
  7549. * maint:
  7550. news: mention fixed testsuite weaknesses
  7551. news: bump, for future 1.12.3
  7552. tests: verify the shell test scripts are syntactically valid
  7553. tests: don't use C instead of C++ compiler on case-insensitive platforms
  7554. tests: avoid spurious TAP errors on Mac OS X 10.7
  7555. tests: fix spurious failure in aclocal7.sh on fast machines
  7556. 2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  7557. news: mention fixed testsuite weaknesses
  7558. 2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  7559. news: bump, for future 1.12.3
  7560. 2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  7561. Merge branches 'fix-pr11898' and 'fix-pr-11893-and-10766' into maint
  7562. * fix-pr11898:
  7563. tests: verify the shell test scripts are syntactically valid
  7564. * fix-pr-11893-and-10766:
  7565. tests: don't use C instead of C++ compiler on case-insensitive platforms
  7566. 2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  7567. tests: verify the shell test scripts are syntactically valid
  7568. Fixes automake bug#11898.
  7569. This measure of extra safety is mostly motivated by the fact that some
  7570. shells (at least some versions of Bash in the 3.x release series, one
  7571. of which serves as /bin/sh on Mac OS X 10.7, as well as Bash 4.0 and the
  7572. /usr/xpg4/bin/sh shell from Solaris 10) erroneously exit with exit status
  7573. 0 upon encountering a syntax error, if an exit trap is sett (as it is in
  7574. our test scripts).
  7575. * Makefile.am (check-tests-syntax): New, check that the shell test
  7576. scripts listed in $(TESTS) are syntactically correct.
  7577. (.PHONY, check-local): Depend on it.
  7578. * t/self-check-exit.tap : Remove checks verifying that a script exits
  7579. with non-zero status upon encountering a syntax error; as explained
  7580. above, we can't depend on that.
  7581. 2012-07-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  7582. depcomp: style changes to Portland Group Compilers support
  7583. * lib/depcomp (pgcc): Quote 'like this', not `like this'. Other minor
  7584. quoting improvements. Remove a commented-out command. In comments,
  7585. use proper capitalization and punctuation. Make a more consistent use
  7586. of whitespace. Make fatal error messages more nicely formatted, and
  7587. send them to standard error rather than to standard output.
  7588. 2012-07-12 Dave Goodell <goodell@mcs.anl.gov>
  7589. Jeff A. Daily <jeff.daily@pnnl.gov>
  7590. depcomp: initial support for Portland Group Compilers
  7591. * lib/depcomp: Here. See automake bug#8880.
  7592. Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com>
  7593. 2012-07-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  7594. tests: don't use C instead of C++ compiler on case-insensitive platforms
  7595. This change fixes automake bug#11893 and bug#10766.
  7596. On at least Cygwin and Mac OS X 10.7, the file system where the system
  7597. compilers are located can be case-insensitive, so that looking for a
  7598. program named 'CC' might actually find the C compiler in /usr/bin/cc.
  7599. Now, the Automake configure script looks for a C++ compiler named 'CC'
  7600. before looking for more obvious names like c++ or g++ (that is done to
  7601. increase testsuite "coverage in the wild", e.g., preferring, on Solaris,
  7602. the Sun Studio C++ compiler /usr/bin/CC over the GNU C++ compiler).
  7603. Since the checks done in AC_PROG_CXX are apparently not strict enough
  7604. to rule out C compilers like those from GCC or Clang (which are smart
  7605. enough to recognize if a file has a C++ extension, passing it to the
  7606. C++ front end) the testsuite might end up using a C compiler where a
  7607. C++ one is expected, with some subtle bad consequences.
  7608. * configure.ac: Don't look for a C++ compiler named 'CC' if the
  7609. "top-level" file system(s) (where /bin and /usr/bin are) are detected
  7610. to be case-insensitive.
  7611. Reported-by: Peter Rosin <peda@lysator.liu.se>
  7612. Reported-by: Max Horn <max@quendi.de>
  7613. Helped-by: Eric Blake <eblake@redhat.com>
  7614. 2012-07-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  7615. tests: avoid spurious TAP errors on Mac OS X 10.7
  7616. Fixes automake bug#1897. Reported by Max Horn.
  7617. * t/suffix8.tap: The libtool bug#11895 was causing the ./configure script
  7618. to output a stray "ok" string on a line of its own, confusing the TAP
  7619. driver into thinking this was an extra test result (which resulted in the
  7620. next, real test results being flagged as "OUT-OF-ORDER"). Fix this by
  7621. protecting configure output.
  7622. * t/suffix10.tap: Likewise, and for the "make distcheck" output as well.
  7623. * THANKS: Update.
  7624. 2012-07-10 Adam Sampson <ats@offog.org> (tiny change)
  7625. tests: fix spurious failure in aclocal7.sh on fast machines
  7626. Fixes automake bug#11896. Issue introduced in commit v1.12.1-46-g13dd512.
  7627. * t/aclocal7.sh: Since aclocal rewrites aclocal.m4 unless the input files
  7628. are all older than the existing aclocal.m4, so we must sleep to ensure
  7629. somedefs.m4 has an older timestamp than the aclocal.m4 the next aclocal
  7630. call will generate.
  7631. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7632. Merge branch 'maint' (with fix for CVE-2012-3386)
  7633. This makes the fix for a locally-exploitable security vulnerability
  7634. (CVE-2012-3386) available to the Automake master branch.
  7635. * maint:
  7636. sync: update files from upstream with "make fetch"
  7637. news: improve wording in entry about CVE-2012-3386
  7638. maint: post-release minor version bump
  7639. release: stable release 1.12.2
  7640. distcheck: never make part of $(distdir) world-writable
  7641. compat: automake should substitute @mkdir_p@, for backward compatibility
  7642. fixup: t/README: it's ./runtest, not ./t/ax/runtest
  7643. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7644. sync: update files from upstream with "make fetch"
  7645. * lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
  7646. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7647. news: improve wording in entry about CVE-2012-3386
  7648. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7649. maint: post-release minor version bump
  7650. * configure.ac (AC_INIT): Bump version number to 1.12.2a.
  7651. * m4/amversion.m4: Likewise (automatically regenerated by
  7652. "make bootstrap").
  7653. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7654. release: stable release 1.12.2
  7655. * configure.ac (AC_INIT): Bump version number to 1.12.2.
  7656. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
  7657. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7658. Merge branch 'distcheck-vulnerability-CVE-2012-3386' into maint
  7659. * distcheck-vulnerability-CVE-2012-3386:
  7660. distcheck: never make part of $(distdir) world-writable
  7661. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7662. distcheck: never make part of $(distdir) world-writable
  7663. This fixes a locally-exploitable security vulnerability (CVE-2012-3386).
  7664. In the 'distcheck' rule, we used to make the just-extracted (from
  7665. the distribution tarball) $(distdir) directory and all its files and
  7666. subdirectories read-only; then, in order to create the '_inst' and
  7667. '_build' subdirectories in there (used by the rest of the recipe) we
  7668. made the top-level $(distdir) *world-writable* for an instant (the
  7669. time to create those two directories) before making it read-only
  7670. again.
  7671. Making that directory world-writable (albeit only briefly) introduced a
  7672. locally exploitable race condition for those who run "make distcheck" with
  7673. a non-restrictive umask (e.g., 022) in a directory that is accessible by
  7674. others. A successful exploit would result in arbitrary code execution
  7675. with the privileges of the user running "make distcheck" -- game over.
  7676. Jim Meyering wrote a proof-of-concept script showing that such exploit is
  7677. easily implemented.
  7678. This issue is similar to the CVE-2009-4029 vulnerability:
  7679. <http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html>
  7680. * lib/am/distdir.am (distcheck): Don't make $(distdir) world-writable,
  7681. not even for an instant; make it user-writable instead, which is enough.
  7682. Helped-By: Jim Meyering <jim@meyering.net>
  7683. 2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  7684. compat: automake should substitute @mkdir_p@, for backward compatibility
  7685. That has been unwittingly broken by commit v1.12-19-g7a1eb9f of 2012-04-28,
  7686. "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". We thought it
  7687. wasn't a big deal, but Jim Meyering reported that @mkdir_p@ is used in
  7688. gettext's Makefile.in.in template:
  7689. <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
  7690. * lib/am/header-vars.am (mkdir_p): Don't define.
  7691. * m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST 'mkdir_p' with $(MKDIR_P).
  7692. * t/mkdir_p.sh, t/mkdirp-deprecation.sh: Enhance.
  7693. * NEWS: Update.
  7694. 2012-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  7695. fixup: t/README: it's ./runtest, not ./t/ax/runtest
  7696. * t/README (Supported shells): Here. And remove an extra empty line.
  7697. 2012-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  7698. Merge branch 'maint'
  7699. * maint:
  7700. tests: move 'runtest' into the top-level directory
  7701. 2012-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  7702. tests: move 'runtest' into the top-level directory
  7703. Move our wrapper script 'runtest' (meant to allow the execution of
  7704. Automake test cases from the command line) from the 't/ax/' directory
  7705. to the top-level one. This makes the script easier to find and to
  7706. invoke. Much more importantly, our DejaGNU-checking test cases won't
  7707. try anymore to use that script instead of the 'runtest' program provided
  7708. by DejaGNU (that happened because '$(srcdir)/t/ax/' is automatically
  7709. added early to the $PATH variable in our test cases), which was causing
  7710. spurious SKIPs.
  7711. * t/ax/runtest.in: Move ...
  7712. * runtest.in: ... here.
  7713. * Makefile.am, t/README, .gitignore: Adjust.
  7714. 2012-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  7715. Merge branch 'maint'
  7716. * maint:
  7717. cosmetics: rename t/ax/test-runner => t/ax/runtest
  7718. fixup: another "make recheck" failure with BSD make
  7719. test runner: work correctly in VPATH setups
  7720. compat: automake should define $(mkdir_p), for backward compatibility
  7721. coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
  7722. tests init: don't automatically re-execute tests with a POSIX shell
  7723. yacc tests: fix spurious failure with parallel make
  7724. tests: ignore minor 'recheck' regression for BSD make
  7725. tests: don't clutter the top-level dir with temporary test directories
  7726. tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
  7727. lisp: better support of VPATH builds
  7728. news: fixlets and updates
  7729. + Extra non-trivial edits:
  7730. * NEWS: State that $(mkdir_p) is still provided as an alias to
  7731. $(MKDIR_P), for (partial) backward-compatibility.
  7732. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7733. cosmetics: rename t/ax/test-runner => t/ax/runtest
  7734. The latter is shorter and clearer. Better to do the rename early,
  7735. before other developers or contributors begin to get used to the
  7736. 'test-runner' name.
  7737. * t/ax/test-runner.in: Rename ...
  7738. * t/ax/runtest.in: ... like this.
  7739. * Makefile.am, t/README, .gitignore: Adjust.
  7740. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7741. fixup: another "make recheck" failure with BSD make
  7742. * t/parallel-tests-log-override-recheck.sh: Here, add a proper $sleep
  7743. before calling "make recheck". This should ideally have been done
  7744. in the earlier commit 'v1.12.1-100-g19d84bc', but it somehow slipped
  7745. through the cracks.
  7746. * t/test-metadata-recheck.sh: Likewise.
  7747. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7748. test runner: work correctly in VPATH setups
  7749. Due to a "feature" of AC_CONFIG_FILES, because 't/ax/test-runner.in'
  7750. is in a subdirectory, the '@srcdir@' value that is AC_SUBST'd in it
  7751. gets tweaked to contain as much '..' components as are the directory
  7752. components of 't/ax/test-runner'. Because our build system operates
  7753. in a non-recursive setup, this substitution is wrong; for example,
  7754. the final 't/ax/test-runner' build in a VPATH builds where the source
  7755. directory is ".." contains the line:
  7756. : ${srcdir='../../../t/ax'}
  7757. instead of the expected (and correct):
  7758. : ${srcdir='../t/ax'}
  7759. We solve the issue by building 't/ax/test-runner' with a Makefile
  7760. recipe instead of config.status substitutions; this is already done
  7761. for other testsuite-related files, like 'defs-static'.
  7762. * configure.ac (AC_CONFIG_FILES): Don't build 't/ax/test-runner'
  7763. anymore.
  7764. * Makefile.am (t/ax/test-runner): New rule.
  7765. (EXTRA_DIST): Add 't/ax/test-runner.in'.
  7766. (CLEANFILES, noinst_SCRIPTS): Add 't/ax/test-runner'.
  7767. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7768. Merge branch 'fix-pr11806' into maint
  7769. * fix-pr11806:
  7770. lisp: better support of VPATH builds
  7771. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7772. tests init: don't automatically re-execute tests with a POSIX shell
  7773. I've unwittingly broken support for that feature *again* in some of
  7774. my recent testsuite tweaking. In this case, the re-execution code
  7775. works correctly when the tests are executed with a POSIX shells, but
  7776. breaks when they are invoked by an old-style Bourne shells (e.g.,
  7777. /bin/sh on Solaris).
  7778. It's time to face it: that feature is too much brittle, and too seldom
  7779. used (because the Makefile takes care of running the tests with the
  7780. correct shell anyway, so that a breakage is only experienced when
  7781. running the tests by hand). It just don't remain working for long, not
  7782. when we often touch the testsuite setup (which we are going to do again
  7783. when we'll try to move part of our testsuite framework to Gnulib, or a
  7784. similar project).
  7785. So, instead of trying to be extra-smart and automatically re-execute the
  7786. tests with the correct shell, we now offer a simple wrapper script that
  7787. the user can employ to run the test scripts with the proper shell. And
  7788. while we are at it, we write this wrapper to also deal with TAP tests in
  7789. a better way, running them through the prove(1) utility, so that their
  7790. results are correctly recognized and reported.
  7791. * t/ax/test-runner.in: New file; the wrapper script we were talking about.
  7792. * configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'.
  7793. * .gitignore: Add 't/ax/test-runner'.
  7794. * defs: Remove code for automatic re-execution of the scripts with the
  7795. correct shell. This file now just a very thin layer around 'defs-static'
  7796. and 't/ax/test-init.sh'.
  7797. * t/README: Adjust, and remove or fix some imprecise or outdated text in
  7798. the process (like "... test scripts are written with portability in mind,
  7799. so that they should run with any decent Bourne-compatible shell ..." ).
  7800. * Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC'
  7801. to "no" anymore.
  7802. * t/self-check-explicit-skips.sh: Likewise.
  7803. * t/self-check-exit.tap: Likewise.
  7804. * t/self-check-me.tap: Likewise.
  7805. * t/self-check-dir.tap: Likewise.
  7806. * t/self-check-reexec.tap: Remove as obsolete.
  7807. * t/list-of-tests.mk: Adjust.
  7808. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7809. yacc tests: fix spurious failure with parallel make
  7810. * t/yacc-deleted-headers.sh: Here, by adding a missing dependency
  7811. in the Makefile.am. Revealed by a failure with Sun Distributed make
  7812. run on Solaris 10 in parallel mode.
  7813. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7814. tests: ignore minor 'recheck' regression for BSD make
  7815. It turns out that, with NetBSD 5.1 make and FreeBSD 9 make, running
  7816. "make recheck" two times in a row quickly fails to correctly re-run
  7817. the failed tests in the second run.
  7818. That issue has been introduced likely introduced in commit
  7819. 'v1.12.1-95-gd5443e4' of 20102-07-01, "parallel-tests: reimplement
  7820. fix for bug#11791".
  7821. Anyway, the use case that has been broken is not realistic (who is
  7822. going to run "make recheck" two times in one second, without modifying
  7823. any of the tests or the tested programs in the meantime?), so we believe
  7824. the best fix is to simply work around the issue in the affected test
  7825. cases, rather than risking to slow down or uglify the 'recheck' rule.
  7826. * t/parallel-tests9.sh: Enhance a little.
  7827. * t/tap-recheck.sh: Adjust adding proper '$sleep' calls were required.
  7828. * t/parallel-tests-log-override-recheck.sh: Likewise.
  7829. * t/test-driver-custom-multitest-recheck.sh: Likewise.
  7830. * t/test-driver-custom-multitest-recheck2.sh: Likewise.
  7831. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7832. tests: don't clutter the top-level dir with temporary test directories
  7833. * t/self-check-me.tap: Be sure to initialize '$am_create_testdir' to "no"
  7834. in all the shell invocations sourcing './defs'. Otherwise, when running
  7835. the testsuite with 'keep_testdirs=yes', the following temporary director
  7836. are left cluttering the top-level directory:
  7837. ./012.dir
  7838. ./abc..dir
  7839. ./a.b.c.dir
  7840. ./foo.dir
  7841. ./foo.bar.dir
  7842. ./foo-bar-.dir
  7843. ./_foo__bar.dir
  7844. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7845. tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
  7846. * t/self-check-cleanup.tap: Several checks in this test were failing on
  7847. NetBSD 5.1. That happened because on that system, '@MKDIR_P@' expands to
  7848. an "install-sh -d" invocation that references the $(builddir), and the
  7849. code trying to duplicate some of the Automake testsuite infrastructure
  7850. in the test subdirectory of this self test wasn't smart enough to cater
  7851. to that situation. Granted, we could tweak the test case once more to
  7852. fix this Yet Another Spurious Failure, but at this point it has become
  7853. clear that the extra coverage offered by this test is not worth all the
  7854. hassle. Just remove the test. Since the testsuite is regularly run on
  7855. several systems and with different setups, most issues with the testsuite
  7856. framework will reveal themselves anyway; no actual need to unit-test them
  7857. in our testsuite, if that's too tricky.
  7858. * t/list-of-tests.mk: Adjust.
  7859. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7860. compat: automake should define $(mkdir_p), for backward compatibility
  7861. That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f'
  7862. of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in
  7863. Automake 1.13".
  7864. Report from Benoit Sigoure and Diego Elio Pattenò:
  7865. <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
  7866. * lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P).
  7867. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'.
  7868. * NEWS: Update.
  7869. 2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  7870. coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
  7871. They are deprecated, but should continue to work in the 1.12.x
  7872. release series. Report from Benoit Sigoure and Diego Elio Pattenò:
  7873. <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
  7874. * t/mkdirp-deprecation.sh: Enhance.
  7875. * t/mkdir_p.sh: New test, check that AM_INIT_AUTOMAKE still defines
  7876. the $(mkdir_p) make variable. Currently xfailing.
  7877. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add the new
  7878. test.
  7879. 2012-07-06 Jack Kelly <jack@jackkelly.name> (tiny change)
  7880. Stefano Lattarini <stefano.lattarini@gnu.org>
  7881. lisp: better support of VPATH builds
  7882. Fixes automake bug#11806.
  7883. * lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the
  7884. elisp-compile script in the environment.
  7885. * lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs
  7886. load-path.
  7887. * t/lisp-pr11806.sh: New test.
  7888. * t/list-of-tests.mk: Add it.
  7889. Reported-by: Makoto Fujiwara <makoto@ki.nu>
  7890. 2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  7891. tests: make 't/aclocal-macrodir.tap' executable
  7892. 2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  7893. maintcheck: fix spurious failure in 'maintainer-check-list-of-tests'
  7894. * Makefile.am (test_subdirs): Add 'contrib/t', otherwise we would get a
  7895. spurious error like:
  7896. List of tests in Makefile an on filesystem differ
  7897. + diff -u in-makefile on-filesystem
  7898. --- tests-in-makefile-list.tmp 2012-07-03 23:07:47.000000000 +0200
  7899. +++ tests-on-filesystem-list.tmp 2012-07-03 23:07:47.000000000 +0200
  7900. @@ -1,7 +1,3 @@
  7901. -contrib/t/help-multilib.sh
  7902. -contrib/t/multilib.sh
  7903. -contrib/t/parallel-tests-html-recursive.sh
  7904. -contrib/t/parallel-tests-html.sh
  7905. t/ac-output-old.tap
  7906. t/acloca10.sh
  7907. t/acloca11.sh
  7908. make: *** [maintainer-check-list-of-tests] Error 1
  7909. 2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  7910. build: fix cleaning of test directories in contrib (and in t/perf)
  7911. * Makefile.am (clean-local-check): Update recipe to cater to the fact
  7912. that some tests using a temporary directory have been placed in other
  7913. directories that the 't/' directory (for the moment, at least 't/perf'
  7914. and 'contrib/t').
  7915. 2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  7916. Merge branch 'aclocal-trace-macrodir'
  7917. * aclocal-trace-macrodir:
  7918. aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead
  7919. 2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  7920. aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead
  7921. Maintaining ACLOCAL_AMFLAGS in the Makefile.am to pass extra flags
  7922. to aclocal is (and have always been) quite of an hack. For example,
  7923. autoreconf is forced to grep Makefile.am to honour those flags. But
  7924. this is a bad obsolescent behaviour; in fact, the autotools have moved
  7925. consistently in the past years from custom grepping of Makefile.am and
  7926. configure.ac to tracing of m4 macro calls, which is more consistent,
  7927. more reliable and more flexible.
  7928. And when autoreconf is not used, the developer is forced to add *by hand*
  7929. the flags specified by ACLOCAL_AMFLAGS to the aclocal calls not triggered
  7930. by make rebuild rules; here lie again more duplication and more chances
  7931. for errors.
  7932. Moreover, ACLOCAL_AMFLAGS has only two typical use cases:
  7933. - to instruct aclocal to look for extra macro definition in a local
  7934. directory (as with "ACLOCAL_AMFLAGS = -I m4"); and
  7935. - to further instruct aclocal to copy in that local directory the
  7936. required third-party .m4 files found in the system-wide directory
  7937. (as with "ACLOCAL_AMFLAGS = -I m4 --install").
  7938. The first use case can be better covered if aclocal can instead trace and
  7939. honours call to the AC_CONFIG_MACRO_DIR autoconf macro; and the second
  7940. use case shouldn't be considered really legitimate, as it is quite (and
  7941. subtly) brittle (see automake bug#9037).
  7942. Thus we now make aclocal trace AC_CONFIG_MACRO_DIR macro, and act
  7943. accordingly. For backward compatibility, we continue to support the
  7944. ACLOCAL_AMFLAGS special variable (although removing any mention of it
  7945. from the documentation). Future Automake releases will likely start
  7946. to warn about the use of that variable, and eventually remove support
  7947. for it altogether.
  7948. From a suggestion by Eric Blake.
  7949. This is a much simplified (and IMHO saner) version of the patch series
  7950. discussed in the threads:
  7951. <http://lists.gnu.org/archive/html/automake-patches/2010-10/msg00045.html>
  7952. <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00156.html>
  7953. * aclocal.in ($ac_config_macro_dir): New global variable.
  7954. (trace_used_macros): Also trace the macro 'AC_CONFIG_MACRO_DIR',
  7955. and set the '$ac_config_macro_dir' variable accordingly.
  7956. (parse_arguments): Code for diagnosis of '--install' used without
  7957. any user-specified include directory moved ...
  7958. (while (1)): .. into the main loop. Which now also updates the
  7959. list of user-specified include directories to include the directory
  7960. given as argument to the call (if any) of 'AC_CONFIG_MACRO_DIR'.
  7961. * lib/am/configure.am: Update comments.
  7962. * NEWS: Updated.
  7963. * doc/automake.texi: Likewise. Also, stop advising the use of the
  7964. '--install' in ACLOCAL_AMFLAGS (see automake bug#9037 for a rationale),
  7965. and remove any reference to ACLOCAL_AMFLAGS (which is now considered
  7966. obsolescent).
  7967. * t/aclocal-path-install.sh: Adjust grepping check in the aclocal
  7968. error messages.
  7969. * t/subpkg.sh: Updated: add 'AC_CONFIG_MACRO_DIR' call to configure.ac,
  7970. remove setting of 'ACLOCAL_AMFLAGS' in Makefile.am and use of aclocal
  7971. command line arguments.
  7972. * t/subpkg2.sh: Likewise.
  7973. * t/subdir8.sh: Likewise.
  7974. * t/remake10c.sh: Likewise.
  7975. * t/remake8a.sh: Likewise.
  7976. * t/remake8b.sh: Likewise.
  7977. * t/aclocal4.sh: Likewise.
  7978. * t/aclocal6.sh: Likewise.
  7979. * t/acloca14.sh: Likewise.
  7980. * t/acloca22.sh: Likewise.
  7981. * t/aclocal5.sh: Likewise, and do not not invade the Automake
  7982. namespace (this avoids spurious failures).
  7983. * t/acloca14b.sh: New test, identical to the previous version of
  7984. 'acloca14.test'; it is kept to verify backwards compatibility with
  7985. the use of ACLOCAL_AMFLAGS.
  7986. * t/acloca22b.sh: Likewise (but for 'acloca22.test').
  7987. * t/aclocal-amflags.sh: New test, check for backwards
  7988. compatibility that ACLOCAL_AMFLAGS still works.
  7989. * t/remake-macrodir.sh: New test, checking that aclocal's honoring of
  7990. AC_CONFIG_MACRO_DIR interacts nicely with automatic rebuild rules.
  7991. * t/list-of-tests.mk: Add the new tests.
  7992. 2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  7993. news: fixlets and updates
  7994. * NEWS: Here. In particular, report the change in 'missing'
  7995. semantics.
  7996. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  7997. contrib: check-html: pass flags to rst2html invocations
  7998. Related to automake bug#11287.
  7999. * contrib/t/check-html.am (.log.html): Here, passing $(AM_RST2HTMLFLAGS)
  8000. and $(RST2HTMLFLAGS) (in that order).
  8001. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8002. contrib: simple improvements to check-html
  8003. Related to automake bug#11287.
  8004. * contrib/t/check-html.am (.log.html): Do not look for $RST2HTML in
  8005. the environment, looking for $(RST2HTML) should be enough (also, the
  8006. pre-existing code was broken, because it single-quoted $RST2HTML).
  8007. Fix the loop-and-search implementation to be more similar to the
  8008. one in 'contrib/t/parallel-tests-html.sh'. Prefer 'mv -f' over bare
  8009. 'mv'. Do not break the recipe in
  8010. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8011. coverage: check-html can be used recursively
  8012. Addresses the main part of Automake bug#11287.
  8013. * contrib/t/parallel-tests-html-recursive.sh: New test.
  8014. * contrib/t/local.am: Add it.
  8015. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8016. tests: tests for stuff in contrib goes in 'contrib/t'
  8017. * t/help-multilib.sh: Move ...
  8018. * contrib/t/help-multilib.sh: .. here. Remove a now-obsolete
  8019. "FIXME" comment.
  8020. * t/multlib.sh: Move ...
  8021. * contrib/t/multilib.sh: .. here. Remove a now-obsolete
  8022. "FIXME" comment.
  8023. * t/parallel-test2.sh: Move ...
  8024. * contrib/t/parallel-tests-html.sh: .. here. Remove a
  8025. now-obsolete "FIXME" comment.
  8026. * contrib/t/local.am: New, basically defining the list of
  8027. tests for stuff in 'contrib/'.
  8028. * t/list-of-tests.mk, Makefile.am: Adjust.
  8029. * .gitignore: Update.
  8030. * syntax-checks.mk (xtests): Likewise.
  8031. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8032. Merge branch 'user-recursive-targets'
  8033. * user-recursive-targets:
  8034. recursion: support user-defined recursive targets
  8035. tests: rename 'recurs*.sh' to 'var-recurs*.sh'
  8036. tests: minor improvements to 'recurs*.sh'
  8037. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8038. recursion: support user-defined recursive targets
  8039. The user can now define his own recursive targets that recurse
  8040. in the directories specified in $(SUBDIRS). That can be done by
  8041. specifying the name of such targets in invocations of the new
  8042. 'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
  8043. The API goes like this:
  8044. $ cat configure.ac
  8045. AC_INIT([pkg-name], [1.0]
  8046. AM_INIT_AUTOMAKE
  8047. AM_EXTRA_RECURSIVE_TARGETS([foo])
  8048. AC_CONFIG_FILES([Makefile sub/Makefile])
  8049. AC_OUTPUT
  8050. $ cat Makefile.am
  8051. SUBDIRS = sub
  8052. foo-local:
  8053. @echo This will be run by "make foo".
  8054. $ cat sub/Makefile.am
  8055. foo-local:
  8056. @echo This too will be run by a "make foo" issued either in
  8057. @echo the 'sub/' directory or in the top-level directory.
  8058. Like for the "default" recursive targets (e.g., 'all' and 'check'),
  8059. the user-defined recursive targets descend in the $(SUBDIRS) in a
  8060. depth-first fashion, and process '.' last (unless that is explicitly
  8061. specified in $(SUBDIRS)).
  8062. * NEWS, doc/automake.texi: Document the new feature.
  8063. * automake.in (@extra_recursive_targets): New global variable.
  8064. (scan_autoconf_traces): Trace macro '_AM_EXTRA_RECURSIVE_TARGETS'.
  8065. (handle_user_recursion): New subroutine; among other things, it defines
  8066. the new internal '$(am__extra_recursive_targets)' make variable, and
  8067. the '*-am', '*-local' and '*-recursive' targets associated with the
  8068. user-specified user recursive targets.
  8069. (generate_makefile): Call the new subroutine.
  8070. * lib/am/subdirs.am (am__recursive_targets): New internal make variable,
  8071. listing all of '$(RECURSIVE_TARGETS)', '$(RECURSIVE_CLEAN_TARGETS)' and
  8072. '$(am__extra_recursive_targets)' together.
  8073. (AM_RECURSIVE_TARGETS): Adjust the definition of this variable ...
  8074. (.PHONY, .MAKE): ... and the list of dependencies of these special targets
  8075. to take advantage of the new '$(am__recursive_targets)' variable.
  8076. ($(am__recursive_targets)): New targets, superseding ...
  8077. ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)): ... these, and
  8078. inheriting their rules. This way, the rules to handle recursion for
  8079. built-in recursive targets (e.g., 'all', 'dvi', 'clean') and for user
  8080. defined recursive targets are the same.
  8081. * m4/extra-recurs.m4: New file, contain definition of new macro
  8082. 'AM_EXTRA_RECURSIVE_TARGETS' and '_AM_EXTRA_RECURSIVE_TARGETS'.
  8083. These macros are basically dummy, only used for tracing by automake.
  8084. * m4/Makefile.am (dist_automake_ac_DATA): Update.
  8085. * t/recurs-user.sh: New test.
  8086. * t/recurs-user2.sh: Likewise.
  8087. * t/recurs-user-deeply-nested.sh: Likewise.
  8088. * t/recurs-user-indir.sh: Likewise.
  8089. * t/recurs-user-keep-going.sh: Likewise.
  8090. * t/recurs-user-many.sh: Likewise.
  8091. * t/recurs-user-no-subdirs.sh: Likewise.
  8092. * t/recurs-user-no-top-level.sh: Likewise.
  8093. * t/recurs-user-override.sh: Likewise.
  8094. * t/recurs-user-phony.sh: Likewise.
  8095. * t/recurs-user-wrap.sh: Likewise.
  8096. * t/remake-recurs-user.sh: Likewise.
  8097. * t/list-of-tests.mk: Update.
  8098. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8099. tests: rename 'recurs*.sh' to 'var-recurs*.sh'
  8100. * t/recurs.sh: Rename ...
  8101. * t/var-recurs.sh: ... to this.
  8102. * t/recurs2.sh: Rename ...
  8103. * t/var-recurs2.sh: ... to this.
  8104. * tests/list-of-tests.mk: Adjust.
  8105. 2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  8106. tests: minor improvements to 'recurs*.sh'
  8107. * t/recurs.sh: Removed useless calls to AM_CONDITIONAL in
  8108. the generated 'configure.ac'.
  8109. * t/recurs2.sh: Add trailing ':' command.
  8110. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8111. Merge branch 'maint'
  8112. * maint:
  8113. tests: don't trust the exit status of "make -k" for non-GNU makes
  8114. parallel-tests: reimplement fix for bug#11791
  8115. tests setup: unset CDPATH
  8116. tests setup: more namespace safeness
  8117. tests setup: remove an unused variable
  8118. tests setup: less hard-coding of the test subdirectory
  8119. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8120. tests: don't trust the exit status of "make -k" for non-GNU makes
  8121. * t/parallel-tests-recheck-pr11791.sh: Here. At least some versions
  8122. of FreeBSD make botch it up, returning success when failure should be
  8123. returned.
  8124. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8125. parallel-tests: reimplement fix for bug#11791
  8126. * lib/am/check.am: Here. The new implementation is shorter, slightly
  8127. more efficient (requiring less forks), less brittle in the face of
  8128. signals or unexpected interruptions in the make process, and should
  8129. also be easier to merge in the 'ng/master' branch (as of now, due to
  8130. the difficulties in merging our previous version of the fix in the
  8131. 'ng/master' codebase, Automake-NG still lacks a fix for bug#11791).
  8132. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8133. tests setup: unset CDPATH
  8134. So that our test scripts can safely chdir around using relative
  8135. paths as well, without having to worry abut possible CDPATH
  8136. interferences.
  8137. * defs-static.in: unset CDPATH.
  8138. * t/ax/tests-init.sh: Remove a now-unneeded workaround.
  8139. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8140. tests setup: more namespace safeness
  8141. * t/ax/tests-init.sh ($testSubDir): Rename ...
  8142. ($am_test_subdir): ... to this, throughout the file.
  8143. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8144. tests setup: remove an unused variable
  8145. * defs-static.in ($testprefix): This one.
  8146. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8147. tests setup: less hard-coding of the test subdirectory
  8148. * t/ax/tests-init.sh: Make the code creating the temporary
  8149. test subdirectory smart enough to automatically create it
  8150. in the same subdirectory of the test that is being run.
  8151. * defs-static.in ($MKDIR_P, $am_rel_srcdir): New variables,
  8152. AC_SUBST'd from @MKDIR_P@ and @srcdir@ respectively, and
  8153. used in the new 'tests-init.sh' code.
  8154. 2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  8155. Merge branch 'maint'
  8156. * maint:
  8157. parallel-tests: silence an overly verbose recipe
  8158. tests: fix some uses of 'Exit', where 'exit' should now be used instead
  8159. maintcheck: test scripts should be executable, check for that
  8160. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8161. parallel-tests: silence an overly verbose recipe
  8162. * lib/am/check.am (check-TESTS): Here, the part of the recipe
  8163. removing the stale '.log' and '.trs' files.
  8164. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8165. tests: fix some uses of 'Exit', where 'exit' should now be used instead
  8166. * t/parallel-tests-recheck-pr11791.sh: Here.
  8167. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8168. maintcheck: test scripts should be executable, check for that
  8169. * syntax-checks.mk (sc_tests_executable): Here, in this new check.
  8170. (syntax_check_rules): Add it.
  8171. * Makefile.am (dist-hook): Drop, no need to make test cases executable
  8172. anymore.
  8173. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8174. Merge branch 'maint'
  8175. * maint:
  8176. parallel-tests: recipes for "check" and "recheck" are separated again
  8177. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8178. Merge branch 'recheck-fix' into maint
  8179. * recheck-fix:
  8180. parallel-tests: recipes for "check" and "recheck" are separated again
  8181. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8182. Merge branch 'maint'
  8183. * maint:
  8184. parallel-tests: "recheck" behaves better in case of compilation failures
  8185. scripts: quote 'like this', not `like this'
  8186. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8187. parallel-tests: recipes for "check" and "recheck" are separated again
  8188. * lib/am/check.am: Here. They have distinctly diverged recently, and
  8189. the reduction in code duplication obtained keeping their recipes united
  8190. is not anymore worth the extra complications.
  8191. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8192. Merge branch 'recheck-fix' into maint
  8193. * recheck-fix:
  8194. parallel-tests: "recheck" behaves better in case of compilation failures
  8195. scripts: quote 'like this', not `like this'
  8196. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8197. tests: prefer "test ! -e FILE" to check that a file doesn't exist
  8198. * t/autohdrdry.sh: Here, rather than using "test ! -r FILE".
  8199. 2012-06-30 Jim Meyering <jim@meyering.net>
  8200. texi: clean after Texinfo manuals in $(SUBDIRS) directories correctly
  8201. Fixes the regression exposed by previous commit 'v1.12.1-165-g498492f'.
  8202. * automake.in (handle_texinfo_helper): Add $infobase.{t2d,t2p}
  8203. to @mostly_cleans, but *without* the '$relative_dir/' prefix.
  8204. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8205. coverage: regression in texinfo "make mostlyclean" with $(SUBDIRS)
  8206. After commit v1.12.1-91-g205c757 of 2012-06-20, "texi: require
  8207. Texinfo >= 4.9, related enhancements", the presence of a Texinfo manual
  8208. 'manual.texi' in a subdir (say 'doc/') of a package using a recursive
  8209. make setup would cause "make distcheck" to fail, due to the presence of
  8210. the 'manual.t2d/' directory created by texi2dvi. That directory would
  8211. not be correctly removed because the 'mostlyclean' rule would run, from
  8212. within the 'doc/' sub-directory, "rm -rf doc/manual.t2d", instead of
  8213. the expected (and correct) "rm -rf manual.t2d".
  8214. Reported by Jim Meyering:
  8215. <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00203.html>
  8216. * t/txinfo21.sh: Enhance to expose the issue.
  8217. * t/txinfo-no-clutter.sh: Likewise, and other miscellaneous improvements.
  8218. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8219. Merge branch 'maint'
  8220. * maint:
  8221. tests: fix a spurious failure
  8222. configure: fix detection of POSIX shell to work in a VPATH build
  8223. tests: prefer "test ! -e FILE" to check that a file doesn't exist
  8224. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8225. tests: fix a spurious failure
  8226. * t/parallel-tests-dry-run-2.sh: Here.
  8227. 2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  8228. configure: fix detection of POSIX shell to work in a VPATH build
  8229. * configure.ac: When checking whether "test -e" works, use 'config.log',
  8230. not 'configure', as the witness file, because the latter does not exist
  8231. in the current directory during a VPATH build.
  8232. 2012-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  8233. tests: prefer "test ! -e FILE" to check that a file doesn't exist
  8234. Once, for the sake of (at least) Solaris 10 /bin/sh, we had to use
  8235. "test ! -f FILE" or "test ! -r FILE" or "test ! -d FILE" instead,
  8236. because the that shell's 'test' built-in didn't grok the '-e' option.
  8237. Note however that we still can't use "test ! -e" in the Makefile recipes
  8238. used in the test cases; that is because those recipes are run with the
  8239. shell detected by 'configure', and Autoconf-generated configure scripts
  8240. do no guarantee to find or provide a POSIX-compatible shell.
  8241. * Several tests: Adjust.
  8242. * t/yacc-clean-cxx: Adjust, and remove a couple of useless commands.
  8243. * t/parallel-tests-dry-run-2.sh: Adjust, and add invocation to
  8244. "make -n" forgotten in previous versions of the test.
  8245. * t/txinfo26.sh: Adjust, and don't bother to skip the test when it's
  8246. run in a directory whose absolute path contain whitespace: that setup
  8247. is not supported anyway.
  8248. * t/maken3.sh: Adjust, and fix a typo that could cause a minor false
  8249. negative.
  8250. * t/test-trs-recover2.sh: Prefer using 'skip_' with a suitable error
  8251. message over a bare 'exit 77'.
  8252. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8253. Merge branch 'maint'
  8254. * maint:
  8255. configure: move a misplaced "section" comment
  8256. configure: clump check for ${var%...} and ${var#...} expansion together
  8257. cosmetics: improve wording of a couple of configure messages
  8258. configure: the testsuite shell must support 'test -e' and 'test ! -e'
  8259. tests: remove stale workarounds for Solaris /bin/sh
  8260. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8261. configure: move a misplaced "section" comment
  8262. * configure.ac (Create output files): This, move it towards the end
  8263. of the script.
  8264. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8265. configure: clump check for ${var%...} and ${var#...} expansion together
  8266. And together with those for the ${var%%...} and ${var##...} expansions.
  8267. After all, it is basically impossible to find a shell that support one
  8268. of them but not the others.
  8269. Suggestion by Eric Blake.
  8270. * configure.ac: Here.
  8271. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8272. cosmetics: improve wording of a couple of configure messages
  8273. * configure.ac: Fix a couple of messages so that the configure
  8274. output changes from this:
  8275. checking whether /bin/sh "set -e" preserves exit traps... yes
  8276. checking whether /bin/sh "set -x" corrupts stderr... no
  8277. to this:
  8278. checking whether /bin/sh preserves exit traps with "set -e"... yes
  8279. checking whether /bin/sh corrupts stderr with "set -x"... no
  8280. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8281. configure: the testsuite shell must support 'test -e' and 'test ! -e'
  8282. * configure.ac: Require that the shell that is to be selected to run
  8283. the testsuite understands "set -e" and "set ! -e".
  8284. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8285. tests: remove stale workarounds for Solaris /bin/sh
  8286. Our testsuite cannot be run with that shell anymore (as it is
  8287. not POSIX-compliant).
  8288. * t/tap-more.sh: Remove outdated workarounds for Solaris /bin/sh.
  8289. * t/self-check-exit.tap: Likewise.
  8290. * t/ansi2knr-no-more.sh: Likewise.
  8291. * t/add-missing.tap: Likewise.
  8292. * t/dist-auxfile.sh: Likewise.
  8293. * t/test-driver-custom-multitest-recheck2.sh: Likewise.
  8294. * t/ax/test-init.sh: Remove obsolete references to Solaris
  8295. /bin/sh.
  8296. * t/confh5.sh: Likewise.
  8297. * t/uninstall-fail.sh: Likewise. And update comments about
  8298. quirks of Solaris /bin/ksh and /usr/xpg4/bin/sh.
  8299. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8300. Merge branch 'maint'
  8301. * maint:
  8302. tests init: don't bother allowing '$me' to be overridable
  8303. tests init: typofixes in comments
  8304. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8305. tests init: don't bother allowing '$me' to be overridable
  8306. We once used that feature in our wrapper tests; but now (and probably
  8307. even since commit 'v1.11-1308-g375f23d' of 2011-09-08, "testsuite:
  8308. revamp generation of autogenerated tests") it is not needed anymore.
  8309. By removing it we can simplify our growingly complex testsuite framework
  8310. a little.
  8311. * t/ax/test-inist.sh ($me): Do not initialize it here (and only if not
  8312. already set), instead ...
  8313. * defs-static.in ($me): ... initialize it here unconditionally.
  8314. Do not check anymore that $me doesn't come from the environment: that
  8315. wouldn't cause any problem now.
  8316. Now that '$me' is defined early, prefer it over 'argv0' in early error
  8317. messages, both here ...
  8318. * defs: ... and here.
  8319. * Makefile.am (AM_TESTS_ENVIRONMENT): Do not bother "nullifying" $me
  8320. anymore.
  8321. * t/self-check-env-sanitize.tap: Adjust.
  8322. * t/self-check-me.tap: Likewise.
  8323. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8324. tests init: typofixes in comments
  8325. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8326. Merge branch 'maint'
  8327. * maint:
  8328. tests: one test was not executable, make it so
  8329. readme: fix typo in t/README: s/$((...)/$((...))/
  8330. tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
  8331. tests: avoid spurious maintainer-check failures
  8332. tests: remove obsolete hacks around maintainer-check false positives
  8333. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8334. tests: one test was not executable, make it so
  8335. * t/subdir-order.sh: This test.
  8336. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8337. readme: fix typo in t/README: s/$((...)/$((...))/
  8338. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8339. tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
  8340. We used to explicitly skip libtool and gettext tests if the absolute
  8341. path of the builddir or of the srcdir which Automake was configured
  8342. with contained any whitespace (or other metacharacters).
  8343. But several other tests would spuriously fail in such an unholy setup.
  8344. To be precise, it would cause 61 'FAIL's and 42 'ERROR's in the whole
  8345. Automake testsuite.
  8346. The fact that, as of today, nobody has reported any failure of this kind
  8347. means that (thankfully) nobody is building automake with $(abs_srcdir)
  8348. or $(abs_builddir) mangled by whitespace. So, instead of trying to cater
  8349. to such a broken setup consistently, we just drop the extra check in the
  8350. libtool/gettext tests.
  8351. In case someone will ever reports a failure due to extra whitespace in
  8352. either $(abs_srcdir) or or $(abs_builddir), we will simply enhance our
  8353. 'configure.ac' to bail out flatly and loudly at such a setup.
  8354. * t/ax/test-init.sh: Simplify accordingly.
  8355. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8356. tests: avoid spurious maintainer-check failures
  8357. * t/ax/test-init.sh: Here, by adding extra quoting for two
  8358. occurrences of the string "perl".
  8359. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8360. tests: remove obsolete hacks around maintainer-check false positives
  8361. * gen-testsuite-part, t/test-trs-recover.sh: Here.
  8362. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8363. Merge branch 'maint'
  8364. * maint:
  8365. tests: simpler workaround for shells losing the exit status in exit trap
  8366. + Extra non-trivial edits:
  8367. * Several tests: Adjusted to use 'exit' rather than 'Exit'.
  8368. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8369. Merge branch 'simplify-exit-trap-workaround' into maint
  8370. * simplify-exit-trap-workaround:
  8371. tests: simpler workaround for shells losing the exit status in exit trap
  8372. + Extra non-trivial edits:
  8373. * t/am-missing-prog.sh: Use 'exit, not 'Exit'.
  8374. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8375. cosmetics: remove trailing whitespace in some files
  8376. * lib/missing, t/comment7.sh, t/objc-flags.sh, t/objcxx-flags.sh,
  8377. t/perf/testsuite-summary.sh, t/self-check-explicit-skips.sh: Here.
  8378. Prompted by a report from Karl Berry.
  8379. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8380. coverage: enhance tests in 'missing' script a little
  8381. * t/am-missing-prog.sh: Here, by also verifying its expected
  8382. exit status.
  8383. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8384. Merge branch 'maint'
  8385. * maint:
  8386. coverage: tests AM_MISSING_PROG usage
  8387. docs: document AM_MISSING_PROG
  8388. 2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  8389. coverage: tests AM_MISSING_PROG usage
  8390. Now that AM_MISSING_PROG is documented, we want to make sure it
  8391. works as expected when used in third-party code.
  8392. * t/am-missing-prog.sh: New test.
  8393. * t/ammissing: Rename ...
  8394. * t/am-macro-not-found.sh: ... like this, to avoid confusion (this
  8395. test has nothing to do with the 'missing' script nor with the
  8396. 'AM_MISSING_PROG' macro).
  8397. * t/list-of-tests.mk: Adjust.
  8398. 2012-06-28 Eric Blake <eblake@redhat.com>
  8399. docs: document AM_MISSING_PROG
  8400. Addresses automake bug#11793.
  8401. This macro has been present for a long time, and coreutils has been
  8402. relying on it despite no documentation, which argues that it is stable
  8403. enough to be worth documenting.
  8404. Furthermore, since we are hoping to change our preferred invocation
  8405. from 'missing --run program' to 'missing program' in a future version
  8406. of automake, we need a way for packages to consistently get the
  8407. preferred invocation form rather than open-coding a call to 'missing'.
  8408. In particular, the Autoconf manual would love to recommend this macro
  8409. when discussing how to integrate an autotest suite with automake.
  8410. * doc/automake.texi (Public Macros): Document AM_MISSING_PROG.
  8411. 2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  8412. Merge branch 'maint'
  8413. * maint:
  8414. tests: fix a spurious failure with Solaris make
  8415. tests: avoid several spurious failures on Solaris
  8416. tests: avoid a spurious failure on NetBSD
  8417. 2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  8418. tests: fix a spurious failure with Solaris make
  8419. * t/subdir-order.sh: Run make in parallel only if the make implementation
  8420. truly supports it.
  8421. 2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  8422. parallel-tests: "recheck" behaves better in case of compilation failures
  8423. With this change, the "recheck" target behaves better in the face of build
  8424. failures related to previously failed tests. For example, if a test is a
  8425. compiled program that must be rerun by "make recheck", and its compilation
  8426. fails, that test will still be rerun by further "make recheck" invocations.
  8427. Previously, its '.log' and '.trs' would have both been lost, so that the
  8428. test would have not been re-run.
  8429. This change fixes automake bug#11791.
  8430. * NEWS: Update.
  8431. * lib/am/check.am (recheck, check-TESTS): Adjust to cater to scenario
  8432. described above.
  8433. * t/parallel-tests-recheck-pr11791.sh: New test.
  8434. * t/list-of-tests.mk: Add it.
  8435. 2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  8436. scripts: quote 'like this', not `like this'
  8437. * lib/test-driver.sh: Here.
  8438. 2012-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  8439. Merge branch 'missing-not-touch-just-warn'
  8440. * missing-not-touch-just-warn:
  8441. missing: --run is supported again (as a no-op) for use by older automake
  8442. 2012-06-26 Eric Blake <eblake@redhat.com>
  8443. missing: --run is supported again (as a no-op) for use by older automake
  8444. Commit v1.12.1-87-ga22717d of 2012-06-21 ("missing: do not touch
  8445. timestamps; only warn for out-of-date files") has removed the '--run'
  8446. option, since our new preferred calling conventions now imply it; but
  8447. if a newer 'missing' is mixed with an already built project that used
  8448. an older Automake version (this happened in practice for GNU m4; see:
  8449. <http://lists.gnu.org/archive/html/bug-m4/2012-06/msg00001.html>), then
  8450. the 'Makefile' in that project will fail due to passing the '--run'
  8451. option when trying to bring the project up-to-date.
  8452. * lib/missing: Parse and ignore '--run'.
  8453. 2012-06-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  8454. Merge branch 'missing-not-touch-just-warn'
  8455. * missing-not-touch-just-warn:
  8456. missing: don't cater to 'configure.in' in our advice
  8457. missing: better tips about missing tools
  8458. 2012-06-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  8459. missing: don't cater to 'configure.in' in our advice
  8460. The use of 'configure.in' as autoconf input now deprecated the development
  8461. versions of both Automake and Autoconf, and we'd like to speed up its
  8462. demise.
  8463. * missing: In the advice displayed in case some autotools are detected to
  8464. be missing, refer to 'configure.ac' unconditionally, instead of referring
  8465. to 'configure.in' when that file exists in the current directory (and no
  8466. 'configure.ac' does).
  8467. 2012-06-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  8468. tests: simpler workaround for shells losing the exit status in exit trap
  8469. Now that we can assume our tests are run by a decent POSIX shell, we
  8470. can simplify our workaround aimed at having the exit status propagated
  8471. correctly to the code in the exit trap. Unfortunately, we cannot
  8472. dispense with such a workaround altogether, because it's still required
  8473. by some shells we need to support (at least Solaris 10 /bin/ksh and
  8474. /usr/xpg4/bin/sh).
  8475. For more information about the need of that workaround, see the entry
  8476. about 'trap' in the section "Limitations of Shell Builtins" in the
  8477. Autoconf manual:
  8478. <http://www.gnu.org/software/autoconf/manual/autoconf.html#trap>
  8479. The new workaround has been tested successfully with the following
  8480. shells:
  8481. - Bash 4.1
  8482. - Bash 3.2
  8483. - Bash 3.0
  8484. - Bash 2.05b
  8485. - dash 0.5.5.1
  8486. - dash 0.5.2
  8487. - AT&T Ksh 93u (from official Debian package)
  8488. - MirBSD Korn Shell 40.2 (from official Debian package)
  8489. - Solaris 9, 10 and 11 /bin/ksh
  8490. - Solaris 9, 10 and 11 /usr/xpg4/bin/sh
  8491. - NetBSD 5.1 /bin/sh
  8492. - NetBSD 5.1 /bin/ksh
  8493. * t/ax/test-init.sh (Exit): Rename ...
  8494. (_am_exit): ... like this.
  8495. (exit): New alias for '_am_exit'. We cannot simply redefine 'exit'
  8496. as a shell function, because some shells (dash 0.5.5.1, Solaris 10
  8497. /bin/ksh and /usr/xpg4/bin/sh) do not allow it.
  8498. (_am_exit, trap): Add extra escaping for 'exit' calls, to ensure we
  8499. really invoke the 'exit' builtin and not our alias with the same
  8500. name.
  8501. * configure.ac: Check that the shell selected to run our testsuite
  8502. supports aliases named like shell builtins.
  8503. * t/REAMDE: Adjust.
  8504. * All tests: Adjust, by simply using 'exit' instead of 'Exit'.
  8505. * t/self-check-explicit-skips.sh: Adjust: the first usage of 'exit'
  8506. after it has been redefined as an alias must be on a new line w.r.t.
  8507. that where the alias is defined, in order for the redefinition to be
  8508. honored.
  8509. * syntax-checks.mk (sc_tests_Exit_not_exit): Delete.
  8510. (sc_tests_exit_not_Exit): New.
  8511. (syntax_check_rules): Adjust.
  8512. (sc_tests_automake_fails): Simplify the recipe a little.
  8513. * Several tests: Remove now useless spurious quoting once required
  8514. to placate the 'sc_tests_Exit_not_exit' maintainer check.
  8515. * gen-testsuite-part: Likewise. Also, avoid uses of 'Exit' in the
  8516. generated scripts.
  8517. 2012-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  8518. tests: avoid several spurious failures on Solaris
  8519. * t/ax/is_newest: Rewrite to be Bourne-compatible, for /bin/sh shells like
  8520. Solaris' that are not POSIX-conforming. The script is so small that such
  8521. a rewrite is easier than going through the hoops that would be required to
  8522. ensure this script is always executed with a POSIX shell.
  8523. * t/ax/is: Add a comment stating that this script is to be kept Bourne
  8524. compatible as well.
  8525. 2012-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  8526. tests: avoid a spurious failure on NetBSD
  8527. * t/maken.sh: Do not expect the timestamp of the current directory
  8528. to be unchanged after a "make -n".
  8529. 2012-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  8530. Merge branch 'maint'
  8531. * maint:
  8532. tests: fix automatic re-execution of tests with Zsh
  8533. tests: drop support for older Zsh shells
  8534. tests: allow AM_TEST_RUNNER_SHELL to be overridden
  8535. tests: fix setup for older Zsh
  8536. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8537. tests: fix automatic re-execution of tests with Zsh
  8538. * defs: Use '$argv0' instead of '$0'. With Zsh not started right
  8539. away in Bourne-compatibility mode, the latter will be the path not
  8540. of the test script itself, but of the file it's currently sourcing
  8541. -- i.e., in our case, './defs'. This would cause the automatic
  8542. re-execution code to execute './defs' (basically a no-op) rather
  8543. than re-run the test correctly.
  8544. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8545. tests: drop support for older Zsh shells
  8546. * defs-static.in: Here. The fact that such support has been broken for
  8547. almost a year (only fixed by today's commit 'v1.12.1-57-gf1e0300'),
  8548. causing no bug reports from anyone, shows that such support is not truly
  8549. warranted. And it will get in the way of future improvements in the
  8550. handling of the exit trap (because bugs in older Zsh versions will
  8551. prevent some of our planned improvements). So just drop it.
  8552. * t/README: Remove obsolete advice for working around bugs in older
  8553. versions of Zsh; instead, indicate version 4.3 is the oldest Zsh now
  8554. supported.
  8555. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8556. tests: allow AM_TEST_RUNNER_SHELL to be overridden
  8557. * defs-static.in: Here. This will make it easier for the maintainer
  8558. to run some self checks (like those in 't/self-check-exit.tap') with
  8559. different shells, to look for possible portability problems. Fix a
  8560. typo (doubled "the") while we are at it.
  8561. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8562. tests: fix setup for older Zsh
  8563. * defs-static.in: After the addition of TAP-based tests and our renaming
  8564. of "simple" test scripts from 'tests/foo.test' to 't/foo.sh', a test name
  8565. is valid if it matches the wildcard "*.sh" or "*.tap", not the wildcard
  8566. "*.test". Adjust accordingly.
  8567. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8568. missing: better tips about missing tools
  8569. * lib/missing: Try to point the user to the home page of such tools
  8570. where possible. Also, make clear that some tools (e.g., aclocal or
  8571. autoheader) are distributed as part of bigger projects (resp. automake
  8572. and autoconf, in those cases). While at it, refactor and re-format
  8573. the existing code heavily, in particular introducing
  8574. (give_advice): ... this new function in the process.
  8575. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8576. Merge branch 'missing-not-touch-just-warn'
  8577. * missing-not-touch-just-warn:
  8578. missing: do not touch timestamps; only warn for out-of-date files
  8579. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8580. Merge branch 'maint'
  8581. * maint:
  8582. tests: avoid one last `...` command substitution in 'test-init.sh'
  8583. maintcheck: guard against `...` for command substitution in test cases
  8584. tests: more uses of $(...) over `...` for command substitution
  8585. cosmetics: quote `like this', not 'like this', in a couple of tests
  8586. readme: clarify/extend few entries in 't/README'
  8587. readme: better separation of entries in 't/README'
  8588. readme: subsections "Do" and "Do not" in 't/README' merged
  8589. tests: new requirement 'grep-nonprint'
  8590. cosmetics: fix description of an expected error message in a test
  8591. tests: assume automake quotes 'like this', not `like this'
  8592. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8593. tests: avoid one last `...` command substitution in 'test-init.sh'
  8594. * t/ax/test-init.sh (me): In the definition of this variable. This
  8595. also shave off a couple of forks, and the need for a sanity check
  8596. only required in fringe situations.
  8597. 2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  8598. maintcheck: guard against `...` for command substitution in test cases
  8599. But still allow them in configure.ac, Makefile.am and shell scripts
  8600. created or used inside test cases itself, because Autoconf (as of
  8601. version 2.69) does not yet ensure that $CONFIG_SHELL will be set to
  8602. a proper POSIX shell.
  8603. * syntax-checks.mk (sc_tests_command_subst): New check.
  8604. (syntax-check_rules): Add it.
  8605. * t/tap-global-log.sh: Minimal tweakings to avoid triggering the
  8606. new maintainer check.
  8607. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8608. tests: more uses of $(...) over `...` for command substitution
  8609. Somehow missed by the previous changes. No big deal, fix them now.
  8610. * t/ax/depcomp.sh: Here.
  8611. * t/autodist.sh: And here.
  8612. * t/autodist-no-duplicate.sh: And here.
  8613. * t/autodist-subdir.sh: Ad here.
  8614. * t/remake11.sh t/self-check-me.tap: And here.
  8615. * t/perf/testsuite-summary.sh: And here.
  8616. * t/perf/testsuite-recheck.sh: And here.
  8617. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8618. cosmetics: quote `like this', not 'like this', in a couple of tests
  8619. * t/ansi2knr-no-more.sh: Here.
  8620. * t/aclocal-verbose-install.sh: And here.
  8621. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8622. readme: clarify/extend few entries in 't/README'
  8623. * t/README (Writing test cases): Here.
  8624. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8625. readme: better separation of entries in 't/README'
  8626. * t/README (Writing test cases): Prepend different entries with a '*'
  8627. character acting like a bullet in a list. This make different entries
  8628. better separated, visually-wise. Minor related reformatting.
  8629. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8630. readme: subsections "Do" and "Do not" in 't/README' merged
  8631. * t/README (Writing test cases): Merge subsections "Do" and "Do not".
  8632. The distinction was rather artificial, and more confusing than helpful.
  8633. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8634. tests: new requirement 'grep-nonprint'
  8635. * t/ax/test-inist.sh ($esc): New, a literal escape character.
  8636. (grep-nonprint): New requirement, check that the grep implementation
  8637. available that can handle non-printing characters correctly.
  8638. * t/color.sh: Use it instead of hand-rolled equivalent, and do not
  8639. (re)define '$esc' explicitly.
  8640. * t/color2.sh: Likewise.
  8641. * t/tap-color.sh: Likewise.
  8642. * t/vtexi4.sh: Likewise.
  8643. * t/parallel-tests-no-color-in-log.sh: Likewise. Also prefer the use
  8644. of grep over that of $FGREP, because the new requirement only check
  8645. grep, and ensure we only grep non-printing characters from a pipe, to
  8646. avoid hitting a BSD grep limitation.
  8647. * t/parallel-tests-reset-term.sh: Likewise.
  8648. * t/ax/tap-summary-aux.sh: Use '$esc' instead of hard-coding the
  8649. literal escape character.
  8650. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8651. cosmetics: fix description of an expected error message in a test
  8652. * t/vartypo2.sh: Here. This reflects the change from `this style'
  8653. of quoting to 'this style'.
  8654. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8655. tests: assume automake quotes 'like this', not `like this'
  8656. * t/add-missing.tap: Here. This slightly simplifies and/or enhances
  8657. some grepping checks on automake diagnostic.
  8658. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8659. Merge branch 'maint'
  8660. * maint:
  8661. tests: prefer using 'is_newest' over 'ls -t' hacks
  8662. tests: implement is_newest as an auxiliary script, not shell function
  8663. tests: fix some spurious failures in VPATH setup
  8664. tests: work in VPATH setup again
  8665. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8666. tests: prefer using 'is_newest' over 'ls -t' hacks
  8667. To verify that a file 'new' is newer than the file 'old', it's much
  8668. cleaner to use "is_newest new old" rather than the more clumsy
  8669. "ls -t". Adjust several of our tests accordingly.
  8670. * syntax-checks.mk (sc_tests_ls_t): New check, guard against uses
  8671. of "ls -t" and similar.
  8672. (syntax_check_rules): Add it.
  8673. * t/maken.sh: Adjust.
  8674. * t/autohdr4.sh: Likewise.
  8675. * t/extradep2.sh: Likewise.
  8676. * t/lex-depend-cxx.sh: Likewise.
  8677. * t/extradep.sh: Likewise.
  8678. * t/yacc-depend2.sh: Likewise.
  8679. * t/yacc-pr204.sh: Likewise.
  8680. * t/lex-pr204.sh: Likewise.
  8681. * t/yacc8.sh: Likewise.
  8682. * t/acloca13.sh: Likewise.
  8683. * t/lex-depend.sh: Likewise, and enhance.
  8684. * t/acloca14.sh: Likewise.
  8685. * t/aclocal7.sh: Likewise.
  8686. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8687. tests: implement is_newest as an auxiliary script, not shell function
  8688. This will allow to also use it in the makefile recipes used in our
  8689. test cases.
  8690. * t/ax/test-init.sh (is_newest): Remove.
  8691. * t/ax/is_newest: New script.
  8692. * Makefile.am (EXTRA_DIST): Add it.
  8693. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8694. tests: fix some spurious failures in VPATH setup
  8695. * t/self-check-cleanup.tap: No need to copy the 'ax/t/test-init.sh'
  8696. file over in our temporary directory.
  8697. * t/self-check-reexec.tap: Likewise.
  8698. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8699. tests: work in VPATH setup again
  8700. * defs: Drop overly paranoid sanity checks that was causing all the tests
  8701. to fail spuriously when run in a VPATH setup, with a message like:
  8702. "../t/nodef.sh: ./t/ax/test-init.sh: not found in current directory".
  8703. Those checks looked for invariants that, even if broken, would still
  8704. cause the test to fail very early and with a pretty clear error message
  8705. anyway.
  8706. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8707. Merge branch 'maint'
  8708. * maint:
  8709. tests: automatic re-execution works for non-POSIX shells too
  8710. tests: use more POSIX shell features our test scripts
  8711. + Extra non-trivial edits:
  8712. * t/ax/test-init.sh: Apply the diffs between past versions of
  8713. 'defs' in maint and in master; i.e., remove handling of $required
  8714. entries 'texi2dvi-o' and 'makeinfo-html', and adjust to the fact
  8715. that the parallel testsuite harness is now the default.
  8716. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8717. tests: automatic re-execution works for non-POSIX shells too
  8718. Some inferior shells are too greedy in parsing their input. If a
  8719. non-POSIX Bourne shell (like Solaris 10 /bin/sh) was used to launch
  8720. one of our test scripts, it would fail unconditionally, because it
  8721. unexpectedly saw some (by it) unsupported constructs, notwithstanding
  8722. such constructs being placed *after* the code implementing automatic
  8723. test re-execution with a better shell. In conclusion, the shell
  8724. bailed out like this:
  8725. $ /bin/sh t/ar.sh
  8726. $ t/ar.sh: syntax error at line 257: `is_newest_files=$' unexpected
  8727. By moving all the potentially problematic code in a separate file, to
  8728. be sourced only after the code for automatic re-execution with a better
  8729. shell, we ensure that inferior shell cannot see such code by mistake.
  8730. * defs: All code after automatic shell re-execution moved out ...
  8731. * t/ax/test-init.sh: ... to this new file.
  8732. * syntax-checks.mk (xdefs): Add it.
  8733. * Makefile.am (dist_check_DATA): Add it. Also move in 'defs' from
  8734. a less explicit 'check_DATA' declaration.
  8735. (nodist_check_DATA): Move in 'defs-static' from a less explicit
  8736. 'check_DATA' declaration.
  8737. (check_DATA): Remove.
  8738. * t/self-check-sanity.sh: Remove, it was actually too hacky and brittle,
  8739. sanity-checking situations we don0t actually care about.
  8740. * t/list-of-tests.mk: Adjust.
  8741. * t/self-check-explicit-skips.sh: Adjust, and fix a botched heading
  8742. comments while we are at it.
  8743. * t/self-check-reexec.tap: Adjust.
  8744. * t/self-check-cleanup.tap: Likewise.
  8745. 2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  8746. tests: use more POSIX shell features our test scripts
  8747. Since commit 'v1.12-36-g2d68fd9' of 2012-05-07, "configure: search a
  8748. sturdy POSIX shell to be used in the testsuite", the shell running
  8749. our test script is assured to be a POSIX-conforming shell, so we can
  8750. use the more modern and flexible idioms and features that we couldn't
  8751. use when we also aimed at compatibility with non-POSIX Bourne shells,
  8752. like Solaris /bin/sh.
  8753. * t/README: Suggest to use POSIX shell features liberally in test cases,
  8754. with possible exception of Makefile recipes and configure shell code.
  8755. * Several tests: Adjust to use more POSIX shell features; e.g., $(...)
  8756. rather than `...`, $((...)) rather than `expr ...`, "if ! CMD; then ..."
  8757. instead of "if CMD; then :; else ...", and so on.
  8758. In several places, when using the 'test' built-in, prefer '-eq' over
  8759. '=' for numeric comparisons, and prefer "grep -c PATTERN FILE" over
  8760. "grep PATTERN FILE | wc -l".
  8761. Throw in other low-hanging easy improvements and fixlets while we are
  8762. at it.
  8763. * t/ax/depcomp.sh, t/ax/tap-summary-aux.sh, t/ax/tap-functions.sh,
  8764. defs, defs-static.in: Likewise.
  8765. 2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  8766. Merge branch 'maint'
  8767. * maint:
  8768. docs: avoid failures with development version of Texinfo (4.13.90)
  8769. typofix: s/test derivers/test drivers/ in check.am comments
  8770. typofix: s/env/even/ in comments in GNUmakefile
  8771. 2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  8772. docs: avoid failures with development version of Texinfo (4.13.90)
  8773. * doc/automake-history.texi: Use '@item' instead of '@itemx' where
  8774. appropriate.
  8775. 2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  8776. missing: do not touch timestamps; only warn for out-of-date files
  8777. Before this change, the missing script had a twofold role:
  8778. - it warned the user if some required maintainer tools was missing,
  8779. or too old;
  8780. - in such a case, it tried to "fix" the timestamp of the files that
  8781. should have been rebuilt by that tool (without actually updating
  8782. the file contents, of course), to allow the build to continue.
  8783. The second capability used to be quite useful in the days when most
  8784. projects committed files generated by maintainer-only tools in their
  8785. VCS repository (today the trend is not to keep such generated files
  8786. VCS-committed anymore). In such a setup, the "timestamp-fixing"
  8787. capability of 'missing' was quite useful, in that it allowed users
  8788. lacking some required maintainer tool to build from a VCS checkout
  8789. in the face of skewed timestamps (as could have been caused by
  8790. "cvs update" or "git checkout").
  8791. But then, when the automatic remake rules kicked in due to the
  8792. generated files being *actually out-of-date* (e.g., because the user
  8793. had modified 'configure.ac' but lacked a modern-enough autoconf to
  8794. rebuild it), that behaviour of 'missing' caused the same problem that
  8795. plagued AM_MAINTAINER_MODE; i.e., the user would get non-dependable
  8796. builds and inconsistent statuses of the build tree -- changes to
  8797. source files don't reflect on generated files, and this can be very
  8798. confusing and cause hard-to-spot errors).
  8799. So we now believe that the best approach to deal with timestamp-related
  8800. issues is not to have 'missing' to "automagically" try to resolve
  8801. them (with all the risk and brittleness entailed), but rather to
  8802. suggest those projects still keeping generated files committed in their
  8803. VCS to provide a proper (say) 'fix-timestamp.sh' script that touches
  8804. the timestamp of the checked-out files, to ensure no spurious rebuild
  8805. will be triggered. As a bonus, such a script can be more aware of the
  8806. particularities, nooks and corner cases of a project, and thus more
  8807. reliable than the old 'missing' script.
  8808. An example of this approach is offered by GNU awk (release 4.0.1, Git
  8809. tag 'gawk-4.0.1', commit b85b04e8). The GNU awk maintainers commit
  8810. the Autotools-generated files (configure, Makefile.in, etc.) and other
  8811. generated in the project's Git repository, but offer a useful script
  8812. 'bootstrap.sh' that fixes the timestamps of those files, to ensure no
  8813. useless remake is triggered in a freshly cloned repository:
  8814. #! /bin/sh
  8815. # bootstrap.sh --- touch relevant files to avoid out-of-date issues
  8816. # in Git sandboxes
  8817. touch aclocal.m4
  8818. find awklib -type f -print | xargs touch
  8819. sleep 1
  8820. touch configure
  8821. sleep 2
  8822. touch configh.in
  8823. sleep 1
  8824. touch test/Maketests
  8825. find . -name Makefile.in -print | xargs touch
  8826. touch doc/*.info
  8827. touch po/*.gmo
  8828. touch po/stamp-po
  8829. touch awkgram.c
  8830. touch command.c
  8831. touch version.c
  8832. A similar, simplified script is also reported as an example in the
  8833. manual.
  8834. * NEWS: Update.
  8835. * doc/automake.texi (Auxiliary Programs, maintainer-mod): Update.
  8836. (CVS): Do not suggest that 'missing' can "automagically" fix botched
  8837. timestamp due to a "cvs update"; this isn't true anymore. Give an
  8838. example of a custom 'fix-timestamp.sh' script that can be used to
  8839. obtain the same effect (in a slightly more laborious but also more
  8840. explicit and less brittle way). Fix some minor typos and improper
  8841. wordings while we are at it.
  8842. * lib/missing: Basically rewritten to implement the new semantics.
  8843. As a side effect (one of the several), the '--run' option is no more
  8844. required nor recognized.
  8845. * m4/missing.m4 (AM_MISSING_HAS_RUN): Enhance the test on '$MISSING'
  8846. to ensure it actually provides the new semantics (by trying the new
  8847. "witness" option '--is-lightweight').
  8848. * lib/am/distdir.am (distdir): No need anymore to check for "bad"
  8849. distributed man pages that were actually dummy stubs generated by
  8850. the 'missing' script.
  8851. * t/missing4.sh: Rename ...
  8852. * t/remake-aclocal-version-mismatch.sh: ... like this.
  8853. * t/missing2.sh: Rename ...
  8854. * t/missing-version-mismatch.sh: ... like this, and adjust to the
  8855. new semantics.
  8856. * t/missing3.sh: Adjust to the new semantics.
  8857. * t/man4.sh: Remove as obsolete.
  8858. * t/missing.sh: Likewise.
  8859. * t/missing5.sh: Likewise.
  8860. * t/txinfo30.sh: Likewise.
  8861. * t/man6.sh: Adjust grepping checks.
  8862. * t/remake6.sh: Likewise.
  8863. * t/list-of-tests.mk: Adjust.
  8864. 2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  8865. typofix: s/test derivers/test drivers/ in check.am comments
  8866. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8867. typofix: s/env/even/ in comments in GNUmakefile
  8868. Spotted by Eric Blake.
  8869. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8870. Merge branch 'maint'
  8871. * maint:
  8872. bootstrap: overhaul and improve
  8873. docs: quote 'like this', not `like this'
  8874. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8875. bootstrap: overhaul and improve
  8876. This fixes several weaknesses and buglets in the 'bootstrap' convenience
  8877. target offered in GNUmakefile (and its supporting code). Refer to the
  8878. extensive code comments in there for more details.
  8879. * GNUmakefile: Almost completely rewritten.
  8880. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8881. docs: quote 'like this', not `like this'
  8882. * doc/automake.texi: Fix the reported warnings and informative messages
  8883. from automake to quote 'like this' rather than as `like this'. Do the
  8884. same for comments and some text in our examples.
  8885. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8886. fixup: tests: special requirement 'makeinfo-html' removed from ./defs
  8887. This should have ideally been part of earlier commit v1.12.1-93-g3c64d54.
  8888. * defs (makeinfo-html): Remove.
  8889. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8890. maintcheck: guard against obsolete $required entries
  8891. * syntax-check.mk: Add rules guarding against the use of the
  8892. obsolete test requirements 'texi2dvi-o' and 'makeinfo-html'.
  8893. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8894. tests: drop requirement 'makeinfo-html'; 'makeinfo' is enough
  8895. * defs: Since we now require Texinfo 4.9 or later in the Automake
  8896. generated Makefiles, and since the '--html' option of makeinfo, as
  8897. well as its capability to generate HTML output, has been supported
  8898. since Texinfo 4.0 (according to the Texinfo NEWS file), the
  8899. requirement 'makeinfo-html' is obsolete -- the simpler requirement
  8900. 'makeinfo' is enough.
  8901. * t/instdir-texi.sh ($required): Adjust by using simply 'makeinfo'
  8902. instead of 'makeinfo-html'.
  8903. * t/silent8.sh: Likewise.
  8904. * t/txinfo21.sh: Likewise.
  8905. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8906. tests: drop requirement 'texi2dvi-o'; 'texi2dvi' is enough
  8907. * defs: Since we now require Texinfo 4.9 or later in the Automake
  8908. generated Makefiles, and since the '-o' option of texi2dvi has been
  8909. supported since Texinfo 4.1, the requirement 'texi2dvi-o' is
  8910. obsolete -- the simpler requirement 'texi2dvi' is enough.
  8911. * t/silent8.sh ($required): Adjust by using simply 'texi2dvi'
  8912. instead of 'texi2dvi-o'
  8913. * t/txinfo-no-clutter.sh: Likewise.
  8914. * t/txinfo13.sh: Likewise.
  8915. * t/txinfo23.sh: Likewise.
  8916. * t/txinfo24.sh: Likewise.
  8917. * t/txinfo25.sh: Likewise.
  8918. * t/txinfo28.sh: Likewise.
  8919. * t/txinfo33.sh: Likewise.
  8920. * t/vtexi4.sh: Likewise.
  8921. 2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  8922. texi: require Texinfo >= 4.9, related enhancements
  8923. We start passing the '--build-dir' option to the texi2dvi and texi2pdf
  8924. invocations done in our Texinfo-related rules. The argument for this
  8925. option will be specific for each info_TEXINFOS entry, to work around a
  8926. texi2dvi bug that could otherwise cause racy failures in parallel make
  8927. builds:
  8928. <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html>
  8929. That bug seems already fixed in the development version of texi2dvi,
  8930. though:
  8931. <http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00074.html>
  8932. so the details of our '--build-dir' usage can be revisited once we can
  8933. assume Texinfo 5.0 or later.
  8934. Since the '--build-dir' options has been only supported since Texinfo
  8935. 4.9, we lose compatibility with all older Texinfo versions.
  8936. But we also get some real improvements.
  8937. First, the '--build-dir' option implies the '--tidy' option; this, like
  8938. the '--clean' option that we were formerly using, prevents cluttering of
  8939. the build directory with all the TeX and Texinfo auxiliary files and
  8940. build by-products, but, differently from '--clean', keeps them around
  8941. for later re-runs to use; this shortens the rebuild times considerably.
  8942. Second, the use of '--build-dir' also allows us to specify different
  8943. build directories for the PDF and DVI output, preventing the rules
  8944. building them from stomping on each other's feet when run in parallel.
  8945. This is demonstrated by the test cases 'txinfo-no-clutter.sh' and
  8946. 'txinfo33.sh', which before this change used to fail when run with
  8947. MAKE="make -j4", but now succeed even in that case.
  8948. * NEWS: Update.
  8949. * lib/am/texibuilds.am: Do not try to avoid texi2dvi/texi2pdf option
  8950. '-o'; it has been supported since Texinfo 4.1, and we now require
  8951. Texinfo >= 4.9. Remove an obsolete comment. Modify calls to texi2dvi
  8952. and texi2pdf to use the '--build-dir' option, so that TeX auxiliary
  8953. files and build by-products for a 'foo.texi' input will be placed in
  8954. a 'foo.t2d' directory (for texi2dvi) or in a 'foo.t2p' directory (for
  8955. texi2pdf).
  8956. * automake.in (scan_texinfo_file): Greatly simplify the implementation,
  8957. since we don't need anymore to keep track of the TeX auxiliary files and
  8958. build by-products to clean. Drop the '@CLEAN_FILES' part of the return
  8959. value.
  8960. (handle_texinfo_helper): Adjust the 'scan_texinfo_file()' call to its
  8961. new signature. Append the "work directories" now created by texi2dvi
  8962. and texi2pdf invocation to the list of files/directories removed upon
  8963. "make mostlyclean".
  8964. * lib/am/texinfos.am: Update the cleaning rules (and comments)
  8965. accordingly.
  8966. * t/txinfo-no-clutter.sh: Minimal adjustment to avoid spurious failures.
  8967. * .gitignore: Update.
  8968. 2012-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  8969. docs: it's not true that DISTCHECK_CONFIGURE_FLAGS is maintainer-reserved
  8970. At least, not anymore since commit 'v1.11-372-g9760039' of 2001-06-10,
  8971. "distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS". See also
  8972. automake bug#8784.
  8973. * doc/automake.texi (Flag Variables Ordering): Do not report
  8974. 'DISTCHECK_CONFIGURE_FLAGS' as a "variables that are only useful
  8975. to the maintainer that has no user counterpart": now it is a
  8976. user-reserved variable, its maintainer-reserved counterpart
  8977. being 'AM_DISTCHECK_CONFIGURE_FLAGS' .
  8978. 2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  8979. Merge branch 'am-preprocess-drop-tricky-transform'
  8980. * am-preprocess-drop-tricky-transform:
  8981. automake: stop supporting "%KEY?iftrue:iffalse%" transforms
  8982. am: stop using "%KEY:iffalse?iftrue%" transforms
  8983. 2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  8984. Merge branch 'maint'
  8985. * maint:
  8986. tests: minor reorganization of few tests
  8987. fixup: adjust t/list-of-tests.mk for renamed/added tests
  8988. subdirs: enhance coverage, tweak and rename few tests
  8989. sync: update files from upstream with "make fetch"
  8990. py-compile: consistently quote 'like this', not `like this'.
  8991. docs: recursive make considered harmful
  8992. docs: clean rules are not run in reverse order of build rules anymore
  8993. silent: new $(AM_V_P) variable, tell if we're running in silent mode
  8994. refactor: silent rules handling (a little)
  8995. refactor: &define_verbose_var: accept a third optional argument
  8996. + Extra non-trivial edits:
  8997. These are due to the fact that support for silent rules is enabled
  8998. unconditionally these days (since commit 'v1.12-34-g14141f2' of
  8999. 2012-05-01, "silent rules: support for them is always active now").
  9000. * automake.in: In the new silent related code, do not ever check
  9001. whether the 'silent-rules' option is active; just assume support
  9002. for silent rules is enabled.
  9003. * t/silent-obsolescent-warns.sh: Remove as obsolete.
  9004. * t/list-of-tests.mk: Adjust.
  9005. 2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  9006. Merge branch 'docs-recursion' into maint
  9007. * docs-recursion:
  9008. docs: recursive make considered harmful
  9009. 2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  9010. Merge branch 'silent-custom' into maint
  9011. * silent-custom:
  9012. silent: new $(AM_V_P) variable, tell if we're running in silent mode
  9013. refactor: silent rules handling (a little)
  9014. refactor: &define_verbose_var: accept a third optional argument
  9015. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9016. automake: stop supporting "%KEY?iftrue:iffalse%" transforms
  9017. And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%"
  9018. as well.
  9019. They are convoluted, never used (after the previous change), and will
  9020. get in the way in the Automake-NG branch, where we'll soon want to use
  9021. GNU make static pattern rules in our internal '*.am' fragments.
  9022. * automake.in (preprocess_file, transform): Simplify not to support
  9023. those transform patterns.
  9024. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9025. am: stop using "%KEY:iffalse?iftrue%" transforms
  9026. And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%"
  9027. as well.
  9028. They are harder to grasp, can be easily reformulated in function of
  9029. other "plainer" transforms ("?KEY?" and "?!KEY?"), and we'll remove
  9030. support for them anyway in a later change.
  9031. * lib/am/data.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am,
  9032. lib/am/progs.am, lib/am/python.am, lib/am/scripts.am: Adjusted not
  9033. to rely on those kinds of transforms.
  9034. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9035. tests: minor reorganization of few tests
  9036. * t/subdir3.sh: Rename ...
  9037. * t/sourcefile-in-subdir.sh: ... like this.
  9038. * t/subdir4.sh: Rename ...
  9039. * t/depcomp-implicit-auxdir.sh: ... like this.
  9040. * t/subdir6.sh: Rename ...
  9041. * t/confh-subdir-clean.sh: ... like this.
  9042. * t/subdir7.sh: Renamed ...
  9043. * t/dir-named-obj-is-bad.sh: ... like this, and enhance.
  9044. * t/srcsub.sh, t/srcsub2.sh: Unify ...
  9045. * t/src-acsubst.sh: ... as this test.
  9046. * t/list-of-tests.mk: Adjust.
  9047. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9048. fixup: adjust t/list-of-tests.mk for renamed/added tests
  9049. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9050. subdirs: enhance coverage, tweak and rename few tests
  9051. * t/subdir5.sh: Rename ...
  9052. * t/subdir-add-pr46.sh: ... like this.
  9053. * t/subdir8.sh: Rename ...
  9054. * t/subdir-add2-pr46.sh: ... like this.
  9055. * t/cond2.sh: Rename ...
  9056. * t/subdir-cond-err.sh: ... like this.
  9057. * t/subdir9.sh: Rename ...
  9058. * t/subdir-with-slash.sh: ... like this; improve heading comments.
  9059. * t/subcond.sh: Rename ...
  9060. * t/subdir-cond-gettext.sh: ... like this; improve m4 quoting.
  9061. * t/subcond2.sh: Rename ...
  9062. * t/subdir-am-cond.sh: ... like this; adjust heading comments.
  9063. * t/subcond3.sh: Rename ...
  9064. * t/subdir-ac-subst.sh: ... like this; adjust heading comments.
  9065. * t/subdir2.sh: Rename ...
  9066. * t/subdir-subsub.sh: ... like this; enhance so that it also runs
  9067. './configure' and 'make'.
  9068. * t/subdir-order.sh: New test, check that the $(SUDBIRS) entries
  9069. are processed in the order they are specified.
  9070. * doc/automake.texi: Adjust references to tests.
  9071. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9072. sync: update files from upstream with "make fetch"
  9073. * lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
  9074. 2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  9075. py-compile: consistently quote 'like this', not `like this'.
  9076. * lib/py-compile (usage_error): Here.
  9077. 2012-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  9078. docs: recursive make considered harmful
  9079. In the documentation, we shouldn't confuse "packages using subdirectories"
  9080. with "packages using recursive make invocations". A package can have a
  9081. careful organization in subdirectories, make no (or almost no) use of make
  9082. recursion (examples of such packages are GNU bison, GNU cppi, and Automake
  9083. itself).
  9084. In fact, make recursion should be used as seldom as possible, because it
  9085. makes the build system more brittle and dependency declarations less
  9086. faithful. See Peter Miller's article "Recursive Make Considered Harmful"
  9087. for more a more in-depth discussion:
  9088. http://miller.emu.id.au/pmiller/books/rmch/
  9089. * doc/automake.texi (Directories): Clarify how a build system based on
  9090. make recursion does. Observe that such a system, albeit being very
  9091. widespread, has its own issues and drawbacks, and that one can have a
  9092. non-recursive setup also for projects using complex directory layout.
  9093. (Recursing subdirectories): Speak of "packages that use make recursion"
  9094. rather than of "packages with subdirectories".
  9095. 2012-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  9096. Merge branch 'subdirs-simplify' into maint
  9097. * subdirs-simplify:
  9098. docs: clean rules are not run in reverse order of build rules anymore
  9099. 2012-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  9100. docs: clean rules are not run in reverse order of build rules anymore
  9101. At least since commit 'v1.12.1-12-gec6a135' of 2012-06-10, "subdirs: unify
  9102. rules for "cleaning" and "normal" recursive targets"
  9103. * doc/automake.texi (Recursing subdirectories): Adjust.
  9104. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9105. Merge branch 'maint'
  9106. * maint:
  9107. maintcheck: fix failures, both real and spurious
  9108. subdir tests: avoid an use of "make -j4", for portability
  9109. tests: avoid failure due to libtool quirks in C++ demo test
  9110. tests: fix spurious failures due to missing '$sleep'
  9111. subdirs: unify rules for "cleaning" and "normal" recursive targets
  9112. tests: add a "demo" test on C support
  9113. tests: look for '.lo' rather than '.o' object when using Libtool with C++
  9114. cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
  9115. maint: grammar fixes: s/all these/all of these/
  9116. subdir-objects: improve "make mostlyclean" efficiency and flexibility
  9117. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9118. Merge branch 'subdir-objects-pr10697' into maint
  9119. * subdir-objects-pr10697:
  9120. maintcheck: fix failures, both real and spurious
  9121. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9122. maintcheck: fix failures, both real and spurious
  9123. * syntax-checks.mk (sc_rm_minus_f): Whitelist the
  9124. 't/subobj-clean*-pr10697.sh' tests.
  9125. * t/subobj-clean-pr10697.sh: When redefining PATH,
  9126. use '$PATH_SEPARATOR', not hard-coded ':'.
  9127. * t/subobj-clean-lt-pr10697.sh: Likewise.
  9128. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9129. tests: merged some testsuite fixlets
  9130. * fix-cxx-libtool-demo:
  9131. tests: avoid failure due to libtool quirks in C++ demo test
  9132. * subdir-objects-pr10697:
  9133. tests: fix spurious failures due to missing '$sleep'
  9134. * subdirs-simplify:
  9135. subdir tests: avoid an use of "make -j4", for portability
  9136. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9137. subdir tests: avoid an use of "make -j4", for portability
  9138. Otherwise, a spurious failure with Solaris CCS make can be triggered.
  9139. The coverage is not actually reduced, since the code path is still
  9140. covered when one runs the testsuite with AM_TESTSUITE_MAKE="make -jN"
  9141. (as should be done periodically).
  9142. * t/subdir-distclean.sh : Call simply "make maintainer-check", not
  9143. "make -j4 maintainer-check".
  9144. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9145. tests: avoid failure due to libtool quirks in C++ demo test
  9146. Revealed by failures on NetBSD 5.1.
  9147. * t/cxx-lt-demo.sh: In "make distcheck" invocation, don't define 'CC'
  9148. to "false", as that value would be exported and passed to the child
  9149. ./configure invocation, and some configure checks generated by libtool
  9150. autoconf macros can still require a C preprocessor even for packages
  9151. using only C++, and bail out if it's not found. The problem was not
  9152. apparent on Solaris and GNU/Linux because those systems have a
  9153. '/lib/cpp' program, and configure detected and used that as a fallback
  9154. C preprocessor.
  9155. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9156. tests: fix spurious failures due to missing '$sleep'
  9157. Revealed by failures on NetBSD 5.1.
  9158. * t/subobj-clean-pr10697.sh: Call '$sleep' before modifying the
  9159. files that should trigger an automatic remake.
  9160. * t/subobj-clean-lt-pr10697.sh: Likewise.
  9161. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9162. Merge branches 'subdirs-simplify' and 'subdir-objects-pr10697' into maint
  9163. * subdirs-simplify:
  9164. subdirs: unify rules for "cleaning" and "normal" recursive targets
  9165. tests: add a "demo" test on C support
  9166. * subdir-objects-pr10697:
  9167. subdir-objects: improve "make mostlyclean" efficiency and flexibility
  9168. tests: look for '.lo' rather than '.o' object when using Libtool with C++
  9169. cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
  9170. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9171. subdirs: unify rules for "cleaning" and "normal" recursive targets
  9172. Before this change, the recursive invocation of cleaning targets in
  9173. the $(SUBDIRS) where done in inverse order, i.e., starting from the
  9174. last $(SUBDIRS) entry and proceeding towards the first. According
  9175. to the code comments, this was done ...
  9176. ... in an attempt to alleviate a problem that can happen when
  9177. dependencies are enabled. In this case, the .P file in one
  9178. directory can depend on some automatically generated header
  9179. in an earlier directory. Since the dependencies are required
  9180. before any target is examined, make bombs.
  9181. But this comment does not apply anymore to the current implementation
  9182. of automatic dependency tracking: the '.Po' and '.Plo' files does not
  9183. depend on any C header or source file, ever!
  9184. So it seems that the distinction between "normal" and "cleaning"
  9185. recursive targets is a stale leftover of an older implementation of
  9186. the automatic dependency tracking. In fact, the Automake History
  9187. manual seems to confirm this suspect; the section "First Take on
  9188. Dependency Tracking" reads:
  9189. Because each .P file was a dependency of Makefile, this meant
  9190. that dependency tracking was done eagerly by make. For instance,
  9191. "make clean" would cause all the dependency files to be updated,
  9192. and then immediately removed. This eagerness also caused problems
  9193. with some configurations; if a certain source file could not be
  9194. compiled on a given architecture for some reason, dependency
  9195. tracking would fail, aborting the entire build.
  9196. and the following section "Dependencies As Side Effects" reads:
  9197. In this approach, the .P files were included using the -include
  9198. command, which let us create these files lazily. This avoided
  9199. the "make clean" problem.
  9200. So the distinction between "normal" and "cleaning" recursive targets
  9201. has likely been obsolete since by then already. We can thus remove
  9202. such distinction, thus reducing some complications and duplication in
  9203. our rules. Doing so, the whole testsuite still passes (both with GCC
  9204. and Sun C 5.9), even the test 'c-demo.sh', which, among the other
  9205. things, exercise the setup described in the obsolete code comment
  9206. referenced above.
  9207. Finally, note that we still keep '$(RECURSIVE_CLEAN_TARGETS)' and
  9208. '$(RECURSIVE_TARGETS)' as two distinct variables, to ensure a better
  9209. backward-compatibility for any user-defined rules that happen to use
  9210. those variables.
  9211. * NEWS: Update.
  9212. * lib/am/subdirs.am ($(RECURSIVE_CLEAN_TARGETS), $(CLEAN_TARGETS)):
  9213. Merge their recipes.
  9214. * t/subdir-distclean.sh: New test, check that "./configure && make
  9215. && make distclean" is actually a no-op, even when conditional SUBDIRS
  9216. are involved.
  9217. * t/list-of-tests.mk: Add it.
  9218. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9219. tests: add a "demo" test on C support
  9220. Showing and testing non-trivial use of C support, and its interaction
  9221. with other features.
  9222. * t/c-demo.sh: New test.
  9223. * t/list-of-tests.mk: Add it.
  9224. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9225. tests: look for '.lo' rather than '.o' object when using Libtool with C++
  9226. * t/cxx-lt-demo.sh: ... in this test.
  9227. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9228. cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
  9229. The typofixes offered by this patch have been suggested by the
  9230. "codespell.py" script. Reference:
  9231. <http://git.profusion.mobi/cgit.cgi/lucas/codespell/>
  9232. * old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos.
  9233. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9234. silent: new $(AM_V_P) variable, tell if we're running in silent mode
  9235. Addresses part of automake bug#8665.
  9236. * automake.in (handle_silent): Define a new make variable '$(AM_V_P)',
  9237. that expands to a shell conditional that can be used in make recipes to
  9238. determine whether they are being run in silent mode or not. The choice
  9239. of the name derives from the LISP convention of appending the letter
  9240. 'P' to denote a predicate (see also "the '-P' convention" in the Jargon
  9241. File); we do so for lack of a better convention.
  9242. * t/automake.texi, NEWS: Document the new variable.
  9243. * t/silent6.sh: Adjust and extend. Move out the checks that didn't
  9244. actually deal with user extension of silent rules ...
  9245. * t/silent-obsolescent-warns.sh: ... into this test (bound to be
  9246. removed once 'maint' is merged into the 'master' branch).
  9247. * t/list-of-tests.mk: Add the new test.
  9248. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9249. refactor: silent rules handling (a little)
  9250. * automake.in (handle_languages): Move definition of $(AM_V_GEN)
  9251. variable ...
  9252. (define_verbose_tagvar): ... and of '$(AM_V_at)' variable ...
  9253. (handle_silent): ... in this new subroutine.
  9254. (generate_makefile): Call it.
  9255. 2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  9256. refactor: &define_verbose_var: accept a third optional argument
  9257. This is only required by future changes.
  9258. * automake.in (define_verbose_var): Accept a third optional argument,
  9259. specifying the value to assign to the given make variable when silent
  9260. rules are disabled.
  9261. 2012-06-10 Jim Meyering <meyering@redhat.com>
  9262. maint: grammar fixes: s/all these/all of these/
  9263. Run this command:
  9264. git grep -li '\<all.these\>' \
  9265. |xargs perl -pi -e 's/\b([Aa])ll these\b/${1}ll of these/'
  9266. 2012-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  9267. subdir-objects: improve "make mostlyclean" efficiency and flexibility
  9268. Fixes automake bug#10697.
  9269. Before this change, the generated Makefile issued one 'rm' invocation
  9270. for each subdir object file. Not only was this very inefficient when
  9271. there were several such files, but it also caused stale object files
  9272. to be left behind when a source file was renamed or removed.
  9273. * automake.in (handle_single_transform): When a subdir object is seen,
  9274. update '%compile_clean_files' to clean all the compiled objects in its
  9275. same subdirectory, and all the libtool compiled objects ('.lo') there
  9276. as well is that subdir object is a libtool one.
  9277. * t/subobj-clean-pr10697.sh: New test.
  9278. * t/subobj-clean-lt-pr10697.sh: Likewise.
  9279. * t/list-of-tests.mk: Add them.
  9280. * NEWS: Update.
  9281. 2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  9282. Merge branch 'maint'
  9283. * maint:
  9284. tests: look for '.lo' rather than '.o' object when using Libtool with C++
  9285. cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
  9286. tests: add basic semantic tests on C++ support
  9287. tests: minor tweak to 't/objc-megademo.sh'
  9288. 2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  9289. tests: look for '.lo' rather than '.o' object when using Libtool with C++
  9290. * t/cxx-lt-demo.sh: ... in this test.
  9291. 2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  9292. cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
  9293. The typofixes offered by this patch have been suggested by the
  9294. "codespell.py" script. Reference:
  9295. <http://git.profusion.mobi/cgit.cgi/lucas/codespell/>
  9296. * old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos.
  9297. 2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  9298. tests: add basic semantic tests on C++ support
  9299. Strange as it might seem, we were still missing them (yikes).
  9300. * t/cxx-demo.sh: New test.
  9301. * t/cxx-lt-demo.sh: Likewise (using libtool).
  9302. * t/list-of-tests.mk: Add them.
  9303. 2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  9304. tests: minor tweak to 't/objc-megademo.sh'
  9305. * t/objc-megademo.sh (am_create_testdir): Define to "empty" before
  9306. including ./defs, because this test doesn't rely on the files usually
  9307. pre-set by the setup in there.
  9308. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9309. cleanup: simplify subroutine '&saw_extension'
  9310. * automake.in (saw_extension): Now that we use the '%extension_seen'
  9311. hash only as a set (it's keys being its elements), we can simplify
  9312. the implementation of this function accordingly.
  9313. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9314. cleanup: remove subroutine '&saw_sources_p'
  9315. * automake.in (saw_sources_p): Remove, its implementation is now so
  9316. trivial that it's easier to inline it into ...
  9317. (handle_languages): ... it's only caller.
  9318. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9319. cleanup: remove unused '&count_files_for_language' subroutine
  9320. * automake.in (count_files_for_language): Remove. Its only remaining
  9321. caller (saw_sources_p) has stopped calling it in the previous commit.
  9322. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9323. automake: simplify '&saw_sources_p'
  9324. This is just a minor cleanup. No semantic change is intended.
  9325. * automake.in (saw_sources_p): Since its now-only caller calls it with
  9326. the '0' argument, remove the code paths that assumed the argument could
  9327. be '1', and assume no arguments.
  9328. (handle_languages): Drop the arguments '0' in the '&saw_sources_p'
  9329. invocation.
  9330. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9331. tags: look at $(am__tagged_files) to decide whether to activate
  9332. This is just a preparatory refactoring in view of future changes.
  9333. * automake.in (handle_tags): To decide whether to include the tags rules,
  9334. rely on whether the automake-defined variable $(SOURCES) is non-empty,
  9335. rather than on the fact that '&saw_sources(1)' returns true.
  9336. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9337. tags: new var $(am__tagged_files) to list all files to run taggers on
  9338. This change reduce code duplication a little, and will be needed by
  9339. future simplifications.
  9340. * automake.in (handle_tags): Define a new 'am__tagged_files' private
  9341. make variable that lists all files to run taggers (mkid, cscope, ctags,
  9342. etc) on. Drop the now-useless transform '%CONFIG%' when including
  9343. 'tags.am'.
  9344. * lib/am/tags.am: Use it in several recipes and dependencies list to
  9345. reduce code duplication.
  9346. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9347. tags (cscope): also process $(TAGS_FILES)
  9348. * lib/am/tags.am (cscopelist): Also scan the files (if any) listed in
  9349. the '$(TAGS_FILES) variable, for consistency by what is done by the
  9350. 'ID', 'TAGS' and 'CTAGS' rules.
  9351. 2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9352. tags (ID, cscope): also process config header (if any)
  9353. * lib/am/tags.am (cscopelist, ID): Also scan the file given by the
  9354. '%CONFIG%' transform, for consistency by what is done by the 'TAGS'
  9355. and 'CTAGS' rules.
  9356. 2012-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  9357. Merge branch 'maint'
  9358. * maint:
  9359. news: document deprecation of configure.in
  9360. news: put planned backward compatibilities early
  9361. sync: update files from upstream with "make fetch"
  9362. maint: deprecate 'configure.in' as autoconf input
  9363. maint: post-release minor version bump
  9364. release: stable release 1.12.1
  9365. copyright: update copyright years in a couple of files
  9366. tests: avoid spurious failures with Solaris 9 cscope program
  9367. maintcheck: fix a spurious failure
  9368. perf: beginning of a performance testsuite
  9369. aclocal: declare function prototypes, do not use '&' in function calls
  9370. news: support for configure.in will be dropped in future automake versions
  9371. tests: fix botched heading comments in 'lex-clean-cxx.sh'
  9372. [ng] maintcheck: some tweaks and fixlets
  9373. help: fix a typo in the list of warning categories
  9374. maint: version bump after beta release
  9375. release: beta release 1.12.0b (will become 1.12.1)
  9376. release: remove overly picky check
  9377. 2012-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  9378. news: document deprecation of configure.in
  9379. * NEWS (Warnings and deprecations): We now warn if 'configure.in' is
  9380. used instead of 'configure.ac' as autoconf input.
  9381. (Future backward-incompatibilities): Adjust.
  9382. 2012-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  9383. news: put planned backward compatibilities early
  9384. * NEWS (Future backward-incompatibilities): Put them in the news
  9385. entries for the future 1.12.2 release.
  9386. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9387. sync: update files from upstream with "make fetch"
  9388. * lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
  9389. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9390. maint: deprecate 'configure.in' as autoconf input
  9391. It has been years since that has been deprecated in the documentation,
  9392. in favour of 'configure.ac':
  9393. Previous versions of Autoconf promoted the name configure.in, which
  9394. is somewhat ambiguous (the tool needed to process this file is not
  9395. described by its extension), and introduces a slight confusion with
  9396. config.h.in and so on (for which '.in' means "to be processed by
  9397. configure"). Using configure.ac is now preferred.
  9398. It's now time to start giving runtime warning about the use of
  9399. 'configure.in', so that support for it can be removed in future
  9400. versions of autoconf/automake.
  9401. See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of
  9402. 2012-05-23, "general: deprecate 'configure.in' as autoconf input".
  9403. * lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete'
  9404. category if 'configure.in' is detected. Since this module is synced
  9405. from Automake, this change is to be backported there (and will be
  9406. soon).
  9407. * t/help.sh: Adjust.
  9408. * t/configure.sh: Adjust and enhance.
  9409. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9410. maint: post-release minor version bump
  9411. * configure.ac (AC_INIT): Bump version number to 1.12.1a.
  9412. * m4/amversion.m4: Likewise (automatically regenerated by
  9413. "make bootstrap").
  9414. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9415. release: stable release 1.12.1
  9416. * configure.ac (AC_INIT): Bump version number to 1.12.1.
  9417. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
  9418. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9419. copyright: update copyright years in a couple of files
  9420. * doc/help2man, t/aclocal-verbose-install.sh: Update copyright,
  9421. thanks to "make update-copyright".
  9422. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9423. tests: avoid spurious failures with Solaris 9 cscope program
  9424. * t/cscope.tap: Also check that the cscope program in use supports the
  9425. '-q' option; if this is not the case, some cscope usages in the generated
  9426. Makefiles would fail, so we must skip the checks involving those usages.
  9427. 2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  9428. maintcheck: fix a spurious failure
  9429. * Makefile.am (test_subdirs): Add 't/perf'. Fix spurious failure
  9430. of the 'maintainer-check-list-of-tests' target.
  9431. 2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  9432. perf: beginning of a performance testsuite
  9433. Some tests in the Automake testsuite already aims only at verifying
  9434. the performance, rather than the correctness, of some operations.
  9435. Still, they are somewhat shoehorned and forced into the PASS/FAIL
  9436. framework (say, with the 'ulimit' shell builtin used to verify some
  9437. operation doesn't take up too much time or memory), but that is
  9438. conceptually a stretch, and has already caused problems in practice
  9439. (see automake bug#11512 for an example).
  9440. So we start moving the "performance tests" out of the testsuite proper,
  9441. and make them run only "on demand" (when the user exports the variable
  9442. 'AM_TESTSUITE_PERF' to "yes"). Ideally, we should provide those tests
  9443. with a custom runner/driver that measures and displays the relevant
  9444. performance information, but doing that correctly and with the right
  9445. APIs is definitely more difficult, so we leave it for a later step
  9446. (an hope we'll take such a step eventually).
  9447. * t/cond29.sh: Move ...
  9448. * t/perf/cond.sh: ... here, and adjust.
  9449. * t/testsuite-recheck-speed.sh: Move ...
  9450. * t/perf/testsuite-recheck.sh: ... here.
  9451. * t/testsuite-summary-speed.sh: Move ...
  9452. * t/perf/testsuite-summary.sh: ... here.
  9453. * t/list-of-tests.mk (perf_TESTS): New variable, listing the tests in
  9454. the 't/perf' directory.
  9455. (handwritten_TESTS): Adjust.
  9456. * defs: Skip any tests in the 't/perf/' subdirectory unless the
  9457. 'AM_TESTSUITE_PERF' variable is set to "yes" or "y".
  9458. * .gitignore: Update.
  9459. 2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  9460. Merge branch 'fix-pr11543' into maint
  9461. * fix-pr11543:
  9462. aclocal: declare function prototypes, do not use '&' in function calls
  9463. 2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  9464. aclocal: declare function prototypes, do not use '&' in function calls
  9465. This change will also fix automake bug#11543 (from a report by Matt
  9466. Burgess).
  9467. * aclocal.in: Declare prototypes for almost all functions early, before
  9468. any actual function definition (but omit the prototype for the dynamically
  9469. generated '&search' function). Add prototypes to any function definition.
  9470. Remove '&' from function invocations (i.e., simply use "func(ARGS..)"
  9471. instead of "&func(ARGS...)").
  9472. * THANKS, NEWS: Update.
  9473. 2012-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  9474. news: support for configure.in will be dropped in future automake versions
  9475. The use of configure.in as Autoconf input has been deprecated for a
  9476. very long time in the Autoconf documentation, and the next version of
  9477. Autoconf (2.70) will start warning about it ar runtime as well (see
  9478. commit 'v2.69-4-g560f16b' or 2012-05-23, "general: deprecate
  9479. 'configure.in' as autoconf input", in the Autoconf's git repository).
  9480. * NEWS (Future backward-incompatibilities): Update.
  9481. 2012-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  9482. missing: support AC_CONFIG_HEADERS in addition to obsolete AC_CONFIG_HEADER
  9483. * missing (autoheader*): Do not look only for AC_CONFIG_HEADER when
  9484. grepping configure.ac, but also for AC_CONFIG_HEADERS: the latter has
  9485. been preferred to the former by several years now in Autoconf.
  9486. 2012-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  9487. missing: don't bother checking for AM_CONFIG_HEADER: it is gone now
  9488. * missing (autoheader*): Do not look for AM_CONFIG_HEADER when
  9489. grepping configure.ac: it is not supported anymore (has been in
  9490. fact deleted in commit v1.12-15-gd2ca168 of 2012-04-27, "m4: delete
  9491. several obsolete macros").
  9492. 2012-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  9493. docs: remove mention of AM_CONFIG_HEADER: it is obsolete and removed now
  9494. * doc/automake.texi (Variables used when building a program): Remove
  9495. obsolete mention of AM_CONFIG_HEADER as an alias to AC_CONFIG_HEADERS.
  9496. 2012-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  9497. tests: fix botched heading comments in 'lex-clean-cxx.sh'
  9498. * t/lex-clean-cxx.sh: This file tests lex, not yacc.
  9499. 2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  9500. [ng] maintcheck: some tweaks and fixlets
  9501. * syntax-checks.mk (sc_no_brace_variable_expansions): Do not complain
  9502. about ${MAKEVAR} usages in comments: they might be legitimate. This
  9503. change is not strictly required for mainline automake, but will help
  9504. in the Automake-NG branch.
  9505. * sc_tests_here_document_format: Relax a bit, so that usages like
  9506. "cout << "string" << endl;" in the test scripts (usages which can be
  9507. used in here documents defining C++ sources) are not flagged as uses
  9508. of bad delimiters for here documents. This change is not strictly
  9509. required for mainline automake, but will help in the Automake-NG
  9510. branch, and will anyway be more future proof w.r.t. possible future
  9511. testsuite additions.
  9512. (sc_tests_Exit_not_exit): Do not whitelist lines containing $PERL
  9513. explicitly (that was only required for one test); instead ...
  9514. * t/ext2.sh: ... use "exit (1)" instead of "exit 1" in the perl
  9515. invocation of the guilty script.
  9516. 2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  9517. Merge branch 'am-init-automake'
  9518. * am-init-automake:
  9519. init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore
  9520. 2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  9521. init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore
  9522. This is a follow-up on commit v1.12-66-g27136df of 2012-05-06, "init: warn
  9523. against obsolete usage of AM_INIT_AUTOMAKE".
  9524. With this change, we drop support for the two-arguments and three-arguments
  9525. invocation forms of the AM_INIT_AUTOMAKE macro, as in either of:
  9526. AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
  9527. AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)
  9528. * NEWS, doc/automake.texi: Update.
  9529. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
  9530. invocation form as a hard error.
  9531. * t/aminit-moreargs-deprecation.sh: Renamed ...
  9532. * t/aminit-moreargs-deprecation.sh: ... to this, and updated to check
  9533. the new semantics.
  9534. * t/ac-output-old.tap: Adjust by avoiding old-style uses of AC_INIT
  9535. and AM_INIT_AUTOMAKE.
  9536. * t/acsilent.sh: Likewise.
  9537. * t/dirlist.sh: Likewise.
  9538. * t/dirlist2.sh: Likewise.
  9539. * t/req.sh: Likewise.
  9540. * t/nodef.sh: Remove as obsolete.
  9541. * t/version.sh: Likewise.
  9542. * t/version2.sh: Likewise.
  9543. * t/backcompat.sh: Likewise.
  9544. * t/backcompat2.sh: Likewise.
  9545. * t/backcompat3.sh: Likewise.
  9546. * t/backcompat5.sh: Likewise.
  9547. * t/backcompat4.sh: Renamed ...
  9548. * t/backcompat-acout.sh: ... to this.
  9549. * t/list-of-tests.mk: Adjust.
  9550. 2012-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  9551. help: fix a typo in the list of warning categories
  9552. * lib/Automake/ChannelDefs.pm (usage): s/none'/none/.
  9553. 2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  9554. maint: version bump after beta release
  9555. * configure.ac (AC_INIT): Bump version number to 1.12.0c.
  9556. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
  9557. 2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  9558. release: beta release 1.12.0b (will become 1.12.1)
  9559. * configure.ac (AC_INIT): Bump version number to 1.12.0b.
  9560. * m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
  9561. 2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  9562. release: remove overly picky check
  9563. * Makefile.am (git-tag-release): Do not check that the version number
  9564. NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS,
  9565. that would cause gratuitous spurious failures.
  9566. * HACKING: Update.
  9567. 2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  9568. Merge branch 'parallel-tests-default'
  9569. * parallel-tests-default:
  9570. check: the parallel-tests driver is now the default
  9571. 2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  9572. Merge branch 'maint'
  9573. * maint:
  9574. ylwrap: preserve subdirectories in "#line" munging
  9575. ylwrap: preparatory refactoring
  9576. 2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  9577. Merge branch 'ylwrap-line-filename' into maint
  9578. * ylwrap-line-filename:
  9579. ylwrap: preserve subdirectories in "#line" munging
  9580. ylwrap: preparatory refactoring
  9581. 2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  9582. check: the parallel-tests driver is now the default
  9583. The old serial testsuite driver is still supported, and can be activated
  9584. by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773'
  9585. of 2012-02-20, "automake: new option 'serial-tests'").
  9586. * lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op
  9587. (but still explicitly recognized, for backward compatibility), while the
  9588. 'serial-tests' option is recognized and registered.
  9589. * automake.in: Adjust to ensure that the parallel test harness is used by
  9590. default; mostly, this amounts at using "! option('serial-tests')" where
  9591. "option('parallel-tests')" was used before.
  9592. * NEWS, doc/automake.texi: Update.
  9593. * configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is
  9594. redundant now.
  9595. * defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests'
  9596. when the serial testsuite harness is to be used, and no option otherwise.
  9597. * lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of
  9598. conditional '%PARALLEL_TESTS%'.
  9599. * lib/test-driver: Adjust heading comments.
  9600. * t/ax/extract-testsuite-summary.pl: Likewise.
  9601. * t/check-exported-srcdir.sh: Likewise.
  9602. * t/check-subst.sh: Likewise.
  9603. * t/java-compile-run-nested.sh: Likewise.
  9604. * t/parallel-tests-dry-run-1.sh: Likewise.
  9605. * t/parallel-tests-dry-run-2.sh: Likewise.
  9606. * t/parallel-tests-interrupt.sh: Likewise.
  9607. * t/parallel-tests-many.sh: Likewise.
  9608. * t/test-metadata-global-log.sh: Likewise.
  9609. * t/tests-environment-backcompat.sh: Likewise.
  9610. * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment.
  9611. * t/check8.sh: Likewise.
  9612. * t/check-tests-in-builddir.sh: Likewise.
  9613. * t/java-compile-run-flat.sh: Adjust a botched comment.
  9614. * t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests'
  9615. option.
  9616. * t/ax/testsuite-summary-checks.sh: Likewise.
  9617. * t/aclocal-path-precedence.sh: Likewise.
  9618. * t/dist-aux-many-subdirs.sh: Likewise.
  9619. * t/parallel-tests-no-color-in-log.sh: Likewise.
  9620. * t/parallel-tests-reset-term.sh: Likewise.
  9621. * t/parallel-tests-subdir.sh: Likewise.
  9622. * t/check-no-test-driver.sh: Fix setup to adjust to the changed
  9623. semantics. Update heading comments.
  9624. * t/parallel-tests-driver-install.sh: Adjust to the new semantic.
  9625. * t/test-driver-is-distributed.sh: Simplified according to the
  9626. new semantics.
  9627. 2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  9628. Merge branch 'maint'
  9629. * maint:
  9630. tests: use 'parallel-tests' Automake option by default
  9631. doc: fix location of Automake's own test-suite.log file
  9632. yacc tests: avoid a spurious failure with Sun C++ 5.9
  9633. self tests: cater for /bin/ksh symlinked to Zsh
  9634. tests: fix spurious failures due to dpkg install-info
  9635. 2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  9636. tests: use 'parallel-tests' Automake option by default
  9637. This will help our transition from 'serial-tests' to 'parallel-tests'
  9638. as the default test suite driver enabled by a TESTS assignment in the
  9639. input Makefile.am. Note that that change of default will only take
  9640. place in master, though.
  9641. * defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE
  9642. invocation in the created 'configure.ac' stub, unless the variable
  9643. 'am_serial_tests' is set to "yes". Don't pay attention anymore to
  9644. the 'am_parallel_tests' variable, that's obsolete now.
  9645. * defs-static.in: Warn if the 'am_serial_tests' variable is set in the
  9646. environment; conversely, don't warn anymore about 'am_parallel_tests'
  9647. being set in the environment.
  9648. * Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests'
  9649. variable instead of the now-obsolete 'am_parallel_tests' one.
  9650. * syntax-checks.mk (sc_tests_obsolete_variables): Also warn against
  9651. uses of 'am_parallel_tests', which is now deprecated in favor of
  9652. 'am_serial_tests'. Similarly, if a use of 'parallel_tests' is seen,
  9653. suggest using 'am_serial_tests' instead, not 'am_parallel_tests'.
  9654. * gen-testsuite-part: Now that we use the 'parallel-tests' by default
  9655. in our tests, we need to completely change the logic and semantics of
  9656. generation of sibling tests for those tests that check the Automake
  9657. generated testsuite harness itself. Do that, and give a complete
  9658. explanation of the new logic and semantics in the relevant comments.
  9659. * t/README: Update.
  9660. * Lots of test cases: Adjust.
  9661. 2012-05-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  9662. doc: fix location of Automake's own test-suite.log file
  9663. * doc/automake.texi (Reporting Bugs): The global testsuite log of
  9664. Automake is now (basically since we have removed make recursion from
  9665. the Automake's build system) saved in the file 'test-suite.log', not
  9666. in the file 'tests/test-suite.log'. Adjust accordingly.
  9667. 2012-05-16 Nikolai Weibull <now@bitwi.se> (tiny change)
  9668. Stefano Lattarini <stefano.lattarini@gmail.com>
  9669. ylwrap: preserve subdirectories in "#line" munging
  9670. If Automake is used in non-recursive mode and one of the inputs is a
  9671. yacc file, for example, "src/grammar.y", ylwrap will remove too many
  9672. directories from the output file when it adjusts the paths in it.
  9673. This results in #line directives referring to "grammar.y" instead of
  9674. "src/grammar.y".
  9675. This is a result of $input_rx simply taking all the directory
  9676. components of the absolute input path and removing them.
  9677. One solution is to store the path passed to ylwrap and replace
  9678. $input_rx with it. This is what we do.
  9679. Suggestion and initial patch (without tests) by Nikolai Weibull:
  9680. <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
  9681. Final patch by Stefano Lattarini.
  9682. * lib/ylwrap ($input_sub_rx): New.
  9683. When munging the #line directives, substitute '$input_rx' with it,
  9684. instead of stripping it altogether.
  9685. Adjust comments.
  9686. * t/yacc-line.sh, t/lex-line: Adjust and extend.
  9687. * NEWS, THANKS: Update.
  9688. 2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  9689. ylwrap: preparatory refactoring
  9690. This commit should cause no semantic change in the ylwrap behaviour.
  9691. It will only be needed in light of a future change. See:
  9692. <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
  9693. * lib/ylwrap (get_dirname, quote_for_sed): New functions, factoring
  9694. out some non-trivial code. Use them where appropriate.
  9695. 2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  9696. yacc tests: avoid a spurious failure with Sun C++ 5.9
  9697. * t/yacc-cxx.sh (parse1.yy): When calling the 'getchar' function declared
  9698. in the #included <cstdio>, fully qualify it as std::getchar', to avoid
  9699. Sun C++ 5.9 erroring out with:
  9700. "parse1.yy", line 5: Error: The function "getc" must have a prototype.
  9701. * t/yacc-clean-cxx.sh (sub1/parsefoo.yxx): Likewise.
  9702. 2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  9703. self tests: cater for /bin/ksh symlinked to Zsh
  9704. * t/self-check-reexec.tap: When searching for a suitable non-Bash
  9705. shells, be sure to reject any shell that is Zsh "in disguise" (as
  9706. can be found on some Debian systems, where /bin/ksh can be symlinked
  9707. to /bin/zsh4). This is required because our testsuite does not
  9708. support older versions of Zsh, and that was causing the test to fail
  9709. in the setup just described.
  9710. 2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  9711. tests: fix spurious failures due to dpkg install-info
  9712. * t/install-info-dir.sh: Skip some checks if 'install-info' is the one
  9713. from dpkg, not the one from GNU info; the former might try to create
  9714. files in '/var/backups/', causing spurious failures like this for any
  9715. non-root user:
  9716. install-info(.../install-info-dir.dir/_inst/info/foo.info): \
  9717. creating new section `Dummy utilities'
  9718. cp: cannot create regular file `/var/backups/infodir.bak': \
  9719. Permission denied
  9720. install-info(.../install-info-dir.dir/_inst/info/foo.info): \
  9721. could not backup .../install-info-dir.dir/_inst/info/dir in \
  9722. /var/backups/infodir.bak: No such file or directory
  9723. 2012-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  9724. Merge branch 'maint'
  9725. * maint:
  9726. tests: fix spurious failure due to i18n issue
  9727. tests: add few missing 'cc' and 'c++' requirements
  9728. 2012-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  9729. tests: fix spurious failure due to i18n issue
  9730. Fixes automake bug#11452.
  9731. * t/parallel-tests-fork-bomb.sh: Export LANG, LANGUAGE and LC_ALL to
  9732. 'C', to ensure error messages will be in English, and thus avoiding
  9733. possible false negatives in our grepping of them.
  9734. 2012-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
  9735. tests: add few missing 'cc' and 'c++' requirements
  9736. Without that requirements, the configure-time overrides of CC and CXX
  9737. wouldn't be honored in the affected tests.
  9738. * t/silent-yacc.sh ($required): Require 'cc'.
  9739. * t/silent-yacc-headers.sh: Likewise.
  9740. * t/silent-lex.sh: Likewise.
  9741. * t/lex-clean.sh: Likewise.
  9742. * t/lex-depend.sh: Likewise.
  9743. * t/lex-line.sh: Likewise.
  9744. * t/lex-depend.sh: Likewise.
  9745. * t/lex-pr204.sh: Likewise.
  9746. * t/yacc-deleted-headers.sh: Likewise.
  9747. * t/yacc-line.sh: Likewise.
  9748. * t/yacc-depend.sh: Likewise.
  9749. * t/yacc-depend2.sh: Likewise.
  9750. * t/yacc-dist-nobuild-subdir.sh: Likewise.
  9751. * t/yacc-bison-skeleton.sh: Likewise.
  9752. * t/yacc-bison-skeleton-cxx.sh ($required): Require 'c++'.
  9753. * t/yacc-clean-cxx.sh: Likewise.
  9754. * t/yacc-d-cxx.sh: Likewise.
  9755. * t/yacc-cxx.sh: Likewise.
  9756. * t/yacc-mix-c-cxx.sh ($required): Require 'cc' and 'c++'.
  9757. 2012-05-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9758. fixup: s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/ in 't/confsub.sh'
  9759. Issue introduced in the recent merge 'v1.12-101-g12405c9'.
  9760. 2012-05-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  9761. Merge branch 'maint'
  9762. * maint:
  9763. tests: fix a spurious failure with dash
  9764. test defs: fix indentation (cosmetic change)
  9765. tests: remove obsolete uses of $sh_errexit_works
  9766. configure: search a sturdy POSIX shell to be used in the testsuite
  9767. tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
  9768. fixup: distribute t/README
  9769. init: warn against obsolete usage of AM_INIT_AUTOMAKE
  9770. 2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  9771. Merge branch 'testsuite-saner-shell' into maint
  9772. * testsuite-saner-shell:
  9773. tests: fix a spurious failure with dash
  9774. test defs: fix indentation (cosmetic change)
  9775. tests: remove obsolete uses of $sh_errexit_works
  9776. configure: search a sturdy POSIX shell to be used in the testsuite
  9777. tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
  9778. 2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  9779. tests: fix a spurious failure with dash
  9780. The dash shell, at least version 0.5.5.1, doesn't always bail out
  9781. with a syntax error when a stray "fi" in encountered:
  9782. $ dash -c ":; fi"; echo stat = $?
  9783. stat = 0
  9784. See also the relevant bug report:
  9785. <http://permalink.gmane.org/gmane.comp.shells.dash/717>
  9786. This behaviour was causing a spurious error in our testsuite. Fix it.
  9787. * t/self-check-exit.tap: Use a stray parentheses rather than a stray
  9788. 'fi' to trigger a syntax error.
  9789. 2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  9790. test defs: fix indentation (cosmetic change)
  9791. * defs (exit trap): Fix indentation left botched by previous
  9792. patch 'v1.11b-51-g626bf65'.
  9793. 2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  9794. tests: remove obsolete uses of $sh_errexit_works
  9795. After the last changes, configure will ensure that the shell
  9796. selected to run the test scripts can correctly propagate exit
  9797. status to the exit trap when 'set -e' is in effect.
  9798. * configure.ac (sh_errexit_works): Do not AC_SUBST it anymore.
  9799. * defs-static.in (sh_errexit_works): Do not initialize
  9800. from the AC_SUBST value anymore.
  9801. * defs (trap): Trap the EXIT signal unconditionally.
  9802. * t/self-check-explicit-skips.sh: Do not skip the test if
  9803. '$sh_errexit_works' is != "yes", this check doesn't make
  9804. sense anymore.
  9805. * t/self-check-cleanup.tap: Likewise.
  9806. * t/self-check-exit.tap: Assume the exit trap is always
  9807. installed by ./defs.
  9808. 2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  9809. configure: search a sturdy POSIX shell to be used in the testsuite
  9810. * configure.ac: Add code (partially inspired to checks in gnulib's
  9811. 'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI
  9812. shell to be used in our testsuite. Accordingly AC_SUBSTitute the
  9813. variable 'AM_TEST_RUNNER_SHELL'.
  9814. * NEWS: Update.
  9815. 2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  9816. tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
  9817. This is just a preparatory refactoring for future changes.
  9818. * configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined
  9819. to $SHELL', and AC_SUBST'd.
  9820. * Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to
  9821. $(AM_TEST_RUNNER_SHELL).
  9822. * defs: Adjust to use $AM_TEST_RUNNER_SHELL instead
  9823. of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor
  9824. opportunistic changes.
  9825. * t/self-check-explicit-skips.sh: Likewise.
  9826. * t/self-check-sanity.sh: Likewise.
  9827. * t/self-check-tap.sh: Likewise.
  9828. * t/self-check-cleanup.tap: Likewise.
  9829. * t/self-check-dir.tap: Likewise.
  9830. * t/self-check-env-sanitize.tap: Likewise.
  9831. * t/self-check-exit.tap: Likewise.
  9832. * t/self-check-me.tap: Likewise.
  9833. * t/self-check-reexec.tap: Likewise.
  9834. 2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  9835. fixup: distribute t/README
  9836. Since commit v1.11-2128-g8e02441 of 2012-04-06, "maint: no more make
  9837. recursion in Automake's build system" we haven't been distributing the
  9838. testsuite README file in our release tarballs. Oops.
  9839. * Makefile.am (EXTRA_DIST): Add 't/README'.
  9840. 2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  9841. init: warn against obsolete usage of AM_INIT_AUTOMAKE
  9842. Support for the two- and three-arguments invocation forms of the
  9843. AM_INIT_AUTOMAKE macro, as in:
  9844. AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
  9845. or:
  9846. AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)
  9847. will be removed in the next major Automake release (1.13).
  9848. Such usages have already been deprecated in the documentation
  9849. starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs,
  9850. news: document planned removal of obsolete macros and features".
  9851. We now start giving runtime warnings as well (in the 'obsolete'
  9852. category).
  9853. * NEWS: Update.
  9854. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
  9855. form invocation.
  9856. * automake.in (scan_autoconf_traces): Likewise.
  9857. * doc/automake.texi: Minor adjustments. Add an @anchor to the
  9858. location where it's described how to modernize outdated invocation
  9859. of AM_INIT_AUTOMAKE, so that it can be referenced from automake
  9860. warning/error messages.
  9861. * t/aminit-moreargs-deprecation.sh: New test.
  9862. * tests/list-of-tests.mk: Add it.
  9863. * tests/ac-output-old.tap: Adjust by calling automake with the
  9864. warnings in the 'obsolete' category disabled.
  9865. * t/backcompat.test: Likewise.
  9866. * t/backcompat3.test: Likewise.
  9867. * t/backcompat5.test: Likewise.
  9868. * t/backcompat6.test: Likewise.
  9869. * t/version.test: Likewise.
  9870. * t/version2.test: Likewise.
  9871. * t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE
  9872. invocations, and use proper m4 quoting.
  9873. * t/pr87.test: Likewise.
  9874. * t/confsub.test: Likewise.
  9875. * t/install2.test: Likewise.
  9876. 2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  9877. Merge branch 'maint'
  9878. * maint:
  9879. m4: prepend m4 builtins with "m4_"
  9880. docs: fix clumsy grammar in the scripts-based testsuite chapter
  9881. 2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  9882. m4: prepend m4 builtins with "m4_"
  9883. The comments in 'lib/autoconf/autoconf.m4' from Autoconf 2.69 read:
  9884. We discourage the use of the non prefixed macro names: M4sugar maps
  9885. all the builtins into 'm4_'. Autoconf has been converted to these
  9886. names too. But users may still depend upon these, so reestablish
  9887. them.
  9888. Alas, in our init.m4 files, we were still using m4 builtins without
  9889. prefixing them with "m4_". Not nice for a package that is one of the
  9890. major clients of Autoconf, and an integral part of the GNU Autotools!
  9891. Fix the issue.
  9892. * m4/init.m4 (AM_INIT_AUTOMAKE): Use 'm4_define' and 'm4_defn' instead
  9893. of 'define' and 'defn'.
  9894. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9895. require: autoconf >= 2.65; related simplifications
  9896. The new support for Objective C++ (to be added in Automake 1.12.1) can be
  9897. simplified if we assume Autoconf version 2.65 or later (2.65 being the
  9898. version that introduced support for Objective C++). Since such an Autoconf
  9899. version is two and half years old now (and will likely be almost three
  9900. years old when Automake 1.13 gets released), requiring it is acceptable.
  9901. This will also simplify testing and maintenance of Automake, because we'll
  9902. need to test with fewer Autoconf version, and possibly rely on new Autoconf
  9903. features.
  9904. * NEWS (Version requirements): Automake 1.13 will require Autoconf
  9905. 2.65 or later.
  9906. * configure.ac ($required_autoconf_version): Bump to 2.65.
  9907. * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65.
  9908. Assume AC_PROG_OBJCXX is unconditionally defined.
  9909. * m4/depout.m4: Adjust a comment about a nugget of defensive programming.
  9910. * t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined,
  9911. and that we are using Autoconf >= 2.65. Related simplifications.
  9912. * t/objc-megademo.sh: Likewise.
  9913. * t/objcxx-basic.sh: Likewise.
  9914. * t/objcxx-deps.sh: Likewise.
  9915. * t/objcxx-flags.sh: Likewise.
  9916. * t/objcxx-minidemo.sh: Likewise.
  9917. * t/nodep2.sh: Likewise.
  9918. * t/backcompat3.sh: Assume AC_INIT accepts an URL argument.
  9919. * t/depend5.sh: Adjust a comment.
  9920. * syntax-checks.mk (sc_test_names): Delete this check as now useless:
  9921. autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT
  9922. that contain or are m4 builtins or predefined macros.
  9923. (m4_builtin): Delete this now-useless variable as well, was used only
  9924. by the check above.
  9925. (syntax_check_rules): Update.
  9926. 2012-05-05 Nick Alcock <nick.alcock@oracle.com> (tiny change)
  9927. docs: fix clumsy grammar in the scripts-based testsuite chapter
  9928. * doc/automake.texi (Scripts-based Testsuites): "We'll have later" is
  9929. a rare example of English in the Automake manual clearly not written
  9930. by a native English-speaker: while comprehensible, it can be better
  9931. formulated.
  9932. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9933. Merge branch 'maint'
  9934. * maint:
  9935. tests: use append mode to capture parallel make output
  9936. parallel-tests: separate different logs with an empty line
  9937. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9938. tests: use append mode to capture parallel make output
  9939. This should fix the spurious failure reported in automake bug#11413.
  9940. This is due to the fact that the redirected output of parallel make
  9941. can racily loose lines. For example, if GNU make (3.82) is run on
  9942. a Makefile like this:
  9943. all = 0 1 2 3 4 5 6 7 8 9
  9944. default: $(all)
  9945. $(all):
  9946. @sleep 0.$$(($RANDOM % 10)); echo $@
  9947. and has its standard output redirected in overwrite-mode to a regular
  9948. file, it looses a line of that output every 15 runs or so on a Fedora
  9949. 17 system with 64 ppc64 cores and Linux 3.3.1. Redirection in append
  9950. mode does not suffer of this problem.
  9951. See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10,
  9952. "Use append mode to capture parallel test output", which tackled a
  9953. similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'.
  9954. * t/tap-more.sh: Use append mode for output from "make -j", to avoid
  9955. dropped lines.
  9956. * t/parallel-tests3.sh, t/lisp8.sh: Enhance comments.
  9957. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9958. Merge branch 'parallel-tests-performance' into maint
  9959. * parallel-tests-performance:
  9960. parallel-tests: separate different logs with an empty line
  9961. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9962. parallel-tests: separate different logs with an empty line
  9963. After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log
  9964. creation", the log files copied in the global log are not anymore
  9965. separated by a blank line, causing unclear output like this:
  9966. FAIL: test1
  9967. ===========
  9968. output from test 1
  9969. FAIL: test2
  9970. ===========
  9971. output from test 2
  9972. where we would want something like this:
  9973. FAIL: test1
  9974. ===========
  9975. output from test 1
  9976. FAIL: test2
  9977. ===========
  9978. output from test 2
  9979. Fix this regression.
  9980. * lib/am/check.am (am__create_global_log): Print an extra empty line
  9981. after having displayed the content of a '.log' file.
  9982. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9983. Merge branch 'maint'
  9984. * maint:
  9985. maintcheck: avoid a couple of spurious failures
  9986. maintcheck: reduce code duplication, increase coverage
  9987. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9988. maintcheck: avoid a couple of spurious failures
  9989. * t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
  9990. "std::cout <<", not "cout <<", to avoid triggering a spurious
  9991. failure by the syntax check 'sc_tests_here_document_format'.
  9992. Cherry-picked from yesterday's commit v1.12-81-g7f3f467, that
  9993. had erroneously been applied to 'master' only rather than to
  9994. 'maint'.
  9995. 2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  9996. maintcheck: reduce code duplication, increase coverage
  9997. * syntax-checks.mk: Move ...
  9998. (sc_tests_plain_aclocal,
  9999. sc_tests_plain_autoconf,
  10000. sc_tests_plain_perl,
  10001. sc_tests_plain_autoupdate,
  10002. sc_tests_plain_automake,
  10003. sc_tests_plain_make,
  10004. sc_tests_plain_autoheader,
  10005. sc_tests_plain_autoreconf,
  10006. sc_tests_plain_autom4te): ... all these targets ...
  10007. (sc_tests_plain_egrep_fgrep): ... and part of this target ...
  10008. (sc_tests_plain_check_rules): ... into this variable, and
  10009. reimplement their recipes ...
  10010. ($(sc_tests_plain_check_rules)): ... with this static pattern
  10011. rule. Enhance the coverage they offer a little since we are
  10012. at it.
  10013. (sc_m4_am_plain_egrep_fgrep): New rule, the part of the old
  10014. 'sc_tests_plain_egrep_fgrep' rule that checked for use of
  10015. 'fgrep' and 'egrep' in *.am and *.m4 fragments (rather than
  10016. in test scripts).
  10017. (syntax_check_rules): Update.
  10018. * t/dist-formats.tap: Fix bad use of "make" instead of "$MAKE"
  10019. revealed by the extra coverage.
  10020. * t/cond5.sh, t/auxdir-autodetect.sh: Cosmetic changes to avoid
  10021. spuriously triggering the maintainer checks due to the
  10022. enhanced coverage.
  10023. 2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  10024. maintcheck: avoid a couple of spurious failures
  10025. * t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
  10026. "std::cout <<", not "cout <<", to avoid triggering a spurious
  10027. failure by the syntax check 'sc_tests_here_document_format'.
  10028. 2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  10029. Merge branch 'maint'
  10030. * maint:
  10031. tests: avoid spurious failure on missing Obj C/C++ compiler
  10032. objc, objc++: test support for compilation flags
  10033. objc, objc++: add stress test
  10034. objc, objc++: test automatic dependency tracking
  10035. objc: reorganize basic tests
  10036. objc++, objc: add first semantic tests
  10037. objc++: add first basic test
  10038. news: announce initial support for Objective C++
  10039. objc++: test support for '.mm' suffix in _SOURCES entries
  10040. objc++: add documentation
  10041. objc++: initial support for Objective C++
  10042. 2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  10043. Merge branch 'objc++' into maint
  10044. * objc++:
  10045. tests: avoid spurious failure on missing Obj C/C++ compiler
  10046. 2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  10047. tests: avoid spurious failure on missing Obj C/C++ compiler
  10048. * t/objc-megademo.sh: Arrange the test to SKIP, not FAIL, if there is
  10049. no Objective C or no Objective C++ compiler. Since we are at it, remove
  10050. some checks that were actually testing Autoconf (not Automake) behaviour.
  10051. 2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  10052. Merge branch 'objc++' into maint
  10053. * objc++:
  10054. objc, objc++: test support for compilation flags
  10055. objc, objc++: add stress test
  10056. objc, objc++: test automatic dependency tracking
  10057. objc: reorganize basic tests
  10058. objc++, objc: add first semantic tests
  10059. objc++: add first basic test
  10060. news: announce initial support for Objective C++
  10061. objc++: test support for '.mm' suffix in _SOURCES entries
  10062. objc++: add documentation
  10063. objc++: initial support for Objective C++
  10064. 2012-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  10065. dist: don't bother putting README first in $(DIST_COMMON)
  10066. Comments on some of our automake-time pre-processing of $(DIST_COMMON)
  10067. said that it was done in order to "put README first because it then
  10068. becomes easier to make a Usenet-compliant shar file". But such a
  10069. format is hardly relevant anymore, and not worth the (albeit small)
  10070. added complexity.
  10071. * automake.in (handle_dist): Don't sort @dist_common.
  10072. (for_dist_common): Delete this function, is not used anymore.
  10073. * lib/am/distdir.am (DISTFILES): Remove obsolete comment.
  10074. * t/distcom4.sh: Adjust.
  10075. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10076. Merge branch 'always-support-silent-rules'
  10077. * always-support-silent-rules:
  10078. silent rules: support for them is always active now
  10079. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10080. Merge branch 'maint'
  10081. * maint:
  10082. news: document improvement in parallel-tests performance
  10083. tests: fix spurious failure due to autom4te caching
  10084. news: fix typos
  10085. aclocal: error out again on unrecognized arguments
  10086. parallel-tests: save few forks when possible
  10087. parallel-tests: optimize global log creation
  10088. parallel-tests: optimize 'recheck' target for speed
  10089. coverage: add performance tests on some parallel-tests aspects
  10090. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10091. news: document improvement in parallel-tests performance
  10092. * NEWS: Document the improved performances of the parallel-tests targets
  10093. 'check' and 'recheck'. See recent commits:
  10094. - v1.12-20-gf5733aa of 2012-04-26,
  10095. "parallel-tests: optimize 'recheck' target for speed"
  10096. - v1.12-21-g5eeb366 of 2012-02-26,
  10097. "parallel-tests: optimize global log creation"
  10098. - v1.12-22-g4c2dd6e of 2012-04-30,
  10099. "parallel-tests: save few forks when possible"
  10100. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10101. tests: fix spurious failure due to autom4te caching
  10102. Reported by Peter Breitenlohner :
  10103. <http://lists.gnu.org/archive/html/automake-patches/2012-05/msg00045.html>
  10104. * t/suffix.sh: Remove stale autom4te.cache directories, to prevent racy,
  10105. spurious failures (using 'aclocal --force' was not enough, since the cache
  10106. was still picked up by the following automake call).
  10107. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10108. Peter Breitenlohner <peb@mppmu.mpg.de>
  10109. objc, objc++: test support for compilation flags
  10110. * t/objc-flags.sh, t/objcxx-flags.sh: New tests.
  10111. * t/list-of-tests.mk: Add them.
  10112. 2012-05-02 Peter Breitenlohner <peb@mppmu.mpg.de>
  10113. objc, objc++: add stress test
  10114. * t/objc-megademo.sh: New test, trying out a package using all
  10115. of C, C++, Objective C and Objective C++ at the same time.
  10116. * t/list-of-tests.mk: Add it.
  10117. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10118. objc, objc++: test automatic dependency tracking
  10119. * t/objc-deps.sh, t/objcxx-deps.sh: New tests.
  10120. * t/list-of-tests.mk: Add them.
  10121. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10122. objc: reorganize basic tests
  10123. * t/objc.sh, t/objc2.sh: Removed, merged into ...
  10124. * t/objc-basic.sh: ... this new test.
  10125. * t/objcxx-basic.sh: Add reference to new sister test.
  10126. * t/list-of-tests.mk: Update.
  10127. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10128. Peter Breitenlohner <peb@mppmu.mpg.de>
  10129. objc++, objc: add first semantic tests
  10130. * t/objcxx-minidemo.sh: New test.
  10131. * t/objc-minidemo.sh: Likewise.
  10132. * t/list-of-tests.mk: Add them.
  10133. 2012-05-02 Peter Breitenlohner <peb@mppmu.mpg.de>
  10134. objc++: add first basic test
  10135. * t/objcxx-basic.sh: New test.
  10136. * t/list-of-tests.mk: Add it.
  10137. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10138. Merge branch 'parallel-tests-performance' into maint
  10139. * parallel-tests-performance:
  10140. parallel-tests: save few forks when possible
  10141. parallel-tests: optimize global log creation
  10142. parallel-tests: optimize 'recheck' target for speed
  10143. coverage: add performance tests on some parallel-tests aspects
  10144. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10145. news: fix typos
  10146. * NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry,
  10147. add a forgotten "and", remove a redundant "the".
  10148. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10149. aclocal: error out again on unrecognized arguments
  10150. Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing:
  10151. move into a dedicated perl module", aclocal has been silently ignoring
  10152. non-option arguments instead of correctly reporting them.
  10153. Fix this regression.
  10154. * t/aclocal.sh: Update to catch the regression.
  10155. * aclocal.in (parse_arguments): Explicitly reject non-option arguments.
  10156. * NEWS: Update.
  10157. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10158. Merge branch 'cygnus-remove'
  10159. * cygnus-remove:
  10160. cygnus: remove support for Cygnus-style trees
  10161. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10162. Merge branch 'maint'
  10163. * maint:
  10164. cosmetics: fix typo in aclocal m4 directory README
  10165. cygnus: warn when it's used (flagged as 'obsolete' now)
  10166. 2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  10167. Merge branch 'cygnus-deprecate' into maint
  10168. * cygnus-deprecate:
  10169. cygnus: warn when it's used (flagged as 'obsolete' now)
  10170. 2012-05-01 Andrew Eikum <aeikum@codeweavers.com> (tiny change)
  10171. cosmetics: fix typo in aclocal m4 directory README
  10172. * m4/acdir/README: Add forgotten "if".
  10173. * THANKS: Update.
  10174. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10175. silent rules: support for them is always active now
  10176. Before this change, support for silent rules was optional and activated
  10177. only if the 'silent-rules' option was specified.
  10178. The rationale behind that behaviour was that the silent-rules machinery
  10179. originally only worked with make implementations supporting nested
  10180. variables expansions, which isn't (or wasn't) a POSIX-specified features;
  10181. so that packages wanting to be "extra-portable" couldn't use the
  10182. silent-rules machinery at all.
  10183. But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011,
  10184. "silent-rules: fallback for makes without nested vars" (motivated
  10185. by automake bugs #9928 and #10237), Makefiles generated when the
  10186. 'silent-rules' option is enabled can work also with those make
  10187. implementations that don't support nested variables expansion (albeit
  10188. the configure-time selected verbosity cannot be overridden at make
  10189. runtime in such case).
  10190. In light of that, and since silent rules are disabled by default even
  10191. when the 'silent-rules' option is given (unless the developer explicitly
  10192. makes them enabled by default be calling "AM_SILENT_RULES([yes])" in
  10193. configure.ac), we can now have the support for silent rules always
  10194. enabled.
  10195. The 'silent-rules' option will thus become a no-op, but will reaming a
  10196. valid option for the time being, for better backward-compatibility.
  10197. A collateral effect of this change is that the use of the 'silent-rules'
  10198. option will not anymore automatically disable the warnings in the
  10199. 'portability-recursive' category.
  10200. The present change is basically a backport of the Automake-NG commit
  10201. 'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for
  10202. them is always active now". Stemmed by this thread on the Automake-NG
  10203. list:
  10204. <http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>
  10205. * automake.in: Enable silent-rules machinery unconditionally. Reword
  10206. some comments. Do not switch off warnings in the category
  10207. 'portability-recursive' anymore if the 'silent-rules' option is
  10208. given.
  10209. * m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
  10210. * lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option.
  10211. Do not bother anymore checking that it is set in 'configure.ac'.
  10212. * t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
  10213. * t/silent2.sh: Likewise.
  10214. * t/silent3.sh: Likewise.
  10215. * t/silent4.sh: Likewise.
  10216. * t/silent8.sh: Likewise.
  10217. * t/silent9.sh: Likewise.
  10218. * t/silent-lex.sh: Likewise.
  10219. * t/silent-many-gcc.sh: Likewise.
  10220. * t/silent-many-generic.sh: Likewise.
  10221. * t/silent-yacc-headers.sh: Likewise.
  10222. * t/silent-yacc.sh: Likewise.
  10223. * t/silentcxx-gcc.sh: Likewise.
  10224. * t/silentcxx.sh: Likewise.
  10225. * t/silentf77.sh: Likewise.
  10226. * t/silentf90.sh: Likewise.
  10227. * t/help-silent.sh: Likewise.
  10228. * t/silent-configsite.sh: Likewise, and other minor adjustments.
  10229. * t/silent7.sh: Likewise. Also, extend to check that silent rules
  10230. are disabled by default, and remove obsoleted checks about the
  10231. 'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'.
  10232. * t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'.
  10233. Call automake with '-Wno-portability-recursive'. Remove other
  10234. obsoleted checks.
  10235. * t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in
  10236. 'configure.ac' to disable warning in the 'portability-recursive'
  10237. category anymore.
  10238. * t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
  10239. * t/silent-amopts.sh: Remove as obsolete.
  10240. * t/silent-nowarn.sh: Likewise.
  10241. * t/list-of-tests.mk: Adjust.
  10242. * NEWS: Update.
  10243. * doc/automake.texi: Update and simplify accordingly.
  10244. * configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.
  10245. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10246. Merge branch 'maint'
  10247. * maint:
  10248. fixup: botched edit in bootstrap.sh
  10249. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10250. fixup: botched edit in bootstrap.sh
  10251. * bootstrap.sh (dosubst): Fix botched option ("G" instead of "g")
  10252. in a sed "s///" expression. Issue introduced in today's commit
  10253. 'v1.12-17-g5f810d0'.
  10254. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10255. Merge branch 'maint'
  10256. * maint:
  10257. news: fix confusing wording
  10258. news: fixed weaknesses in build system and testsuite
  10259. bootstrap: consistently use correct copyright year
  10260. fixup: remove leftover "TERM=ansi" definition in 't/color.sh'
  10261. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10262. news: fix confusing wording
  10263. Reported by Dave Hart.
  10264. * NEWS (Future backward-incompatibilities): Fix possibly confusing
  10265. wording about the upcoming requirement of Autoconf >= 2.65.
  10266. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10267. news: fixed weaknesses in build system and testsuite
  10268. * NEWS (Bugs fixed in 1.12.1): Report that several weaknesses in the
  10269. Automake's own build system and test suite have been fixed. See for
  10270. example recent commits:
  10271. - commit v1.12-5-geb7e8f3, for bug#11345
  10272. - commit v1.12-5-g63e07a9, for bug#11346
  10273. - commit v1.12-5-gf31fe4f
  10274. - commit v1.12-10-gab14841
  10275. - commit v1.12-19-g807f3cf, for bug#11369
  10276. - commit v1.12-20-gd330368, for bug#11369
  10277. - bug#11387, pre-emptively solved by commit v1.12-4-g444618b
  10278. 2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  10279. bootstrap: consistently use correct copyright year
  10280. Suggested by Peter Johansson in the discussion about automake bug#11356:
  10281. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11356#41>
  10282. * boostrap.sh (dosubst): Don't initialize the substituted value for the
  10283. release year from the current year (using `date +%Y`); instead, do it
  10284. through ...
  10285. ($RELEASE_YEAR): ... this new statically-defined variable. To ensure it
  10286. won't get out-of-sync, it will be automatically updated ...
  10287. * Makefile.am (update-copyright): ... by this target's recipe.
  10288. Since are at it, fix a botched output redirection for an error message,
  10289. i.e., use ">&2" instead of ">&1".
  10290. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10291. fixup: remove leftover "TERM=ansi" definition in 't/color.sh'
  10292. It should have actually be removed in commit 'v1.12-23-gb105d40'.
  10293. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10294. parallel-tests: save few forks when possible
  10295. * lib/am/check.am (am__check_pre): Save some forks, by analyzing more
  10296. carefully the value of '$@' to decide how to extract its dirname part,
  10297. and whether that should be created as a directory.
  10298. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10299. Merge branch 'maint'
  10300. * maint:
  10301. news: Automake 1.13 will require Autoconf >= 2.65
  10302. news: put planned future backward-incompatibilities on top
  10303. readme: update INSTALL to latest version from Autoconf
  10304. sync: some auxiliary files synced from upstream
  10305. hacking: copyright notices must be updated before releasing
  10306. color-tests: coloring can be forced on non-ANSI terminals as well
  10307. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10308. news: Automake 1.13 will require Autoconf >= 2.65
  10309. Autoconf 2.65 is almost three years old now, so requiring it is
  10310. acceptable. Also, the soon-to-appear support for Objective C++
  10311. in Automake will be simplified if we can assume that Autoconf
  10312. version (which is the one that introduced support for Objective
  10313. C++).
  10314. * NEWS (Planned future backward-incompatibilities): Automake 1.13
  10315. will require Autoconf 2.65 or later.
  10316. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10317. news: put planned future backward-incompatibilities on top
  10318. * NEWS (New in 1.12): List of planned future backward-incompatibilities
  10319. moved from here ...
  10320. (New in 1.12.1): ... to here.
  10321. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10322. readme: update INSTALL to latest version from Autoconf
  10323. * INSTALL: Updated to the version coming with Autoconf 2.69. This
  10324. is warranted now that we use and require that same Autoconf version
  10325. in our build system.
  10326. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10327. sync: some auxiliary files synced from upstream
  10328. * lib/config.sub: Synced from upstream, by "make fetch".
  10329. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10330. hacking: copyright notices must be updated before releasing
  10331. * HACKING (Release procedure): Suggest to use "make update-copyright".
  10332. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10333. color-tests: coloring can be forced on non-ANSI terminals as well
  10334. Before this change, colorization of testsuite output was suppressed
  10335. whenever the terminal was recognized to be a "dumb" one, incapable
  10336. of handling ANSI coloring (i.e., when the environment variable TERM
  10337. had a value of "dumb"). This happened even when the AM_COLOR_TESTS
  10338. variable was set to a value of "always".
  10339. Such a behaviour was suboptimal and slightly confusing; in fact, if
  10340. a user wants to force coloring of testsuite output that is being
  10341. redirected to a regular file, he should be able to do so even if his
  10342. terminal is not capable of handling ANSI colors -- in fact, such
  10343. terminal wouldn't be involved with the testsuite output in any way,
  10344. so why should it be allowed to influence it?
  10345. Thus, we now enable coloring of test output whenever AM_COLOR_TESTS
  10346. is set to "always", irrespective of the value of the TERM environment
  10347. variable.
  10348. * NEWS: Update.
  10349. * lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization
  10350. of testsuite output whenever AM_COLOR_TESTS has the value of "always".
  10351. * t/ax/tap-summary-aux.sh: Export the TERM environment variable to
  10352. "dumb" when forcing colorization of the testsuite output; this should
  10353. *not* prevent such colorization from taking place, and we want to
  10354. check that this expectation really holds.
  10355. * t/ax/testsuite-summary-checks.sh: Likewise.
  10356. * t/color.sh: Likewise, and adjust some grepping checks.
  10357. * t/tap-color.sh: Likewise. Also, remove redundant "make check"
  10358. invocation since we are at it.
  10359. * t/color2.sh: Likewise, and check that exporting TERM=dumb actually
  10360. prevents testsuite output colorization when AM_COLOR_TESTS is unset.
  10361. * t/parallel-tests-reset-term.sh: Relax, to prevent it from failing
  10362. spuriously due to the new semantic.
  10363. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10364. cygnus: remove support for Cygnus-style trees
  10365. Support for "Cygnus-style" tree as enabled by the 'cygnus' option
  10366. has been deprecated in the documentation and with runtime warning
  10367. since Automake 1.12.1. It's now time to remove it.
  10368. Closes automake bug#11034.
  10369. * lib/Automake/Options.pm (_process_option_list): Issue a proper
  10370. error when the 'cygnus' option is seen.
  10371. * automake.in: Don't handle the 'cygnus' option anymore.
  10372. * docs/automake.texi: Remove references to cygnus option and
  10373. Cygnus-style trees.
  10374. * lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for
  10375. cygnus mode.
  10376. * NEWS: Update.
  10377. * t/cygnus-no-more.sh: New test.
  10378. * t/flavor.sh: Adjust.
  10379. * t/cygnus-deprecation.sh: Remove.
  10380. * t/cygnus-check-without-all.sh: Likewise.
  10381. * t/cygnus-requires-maintainer-mode.sh: Likewise.
  10382. * t/cygnus-dependency-tracking.sh: Likewise.
  10383. * t/cygnus-imply-foreign.sh: Likewise.
  10384. * t/cygnus-no-installinfo.sh: Likewise.
  10385. * t/cygnus-no-dist.sh: Likewise.
  10386. * t/clean2.sh: Likewise.
  10387. * t/txinfo5.sh: Likewise.
  10388. * t/txinfo5b.sh: Likewise.
  10389. * t/list-of-tests.mk: Update.
  10390. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10391. cygnus: warn when it's used (flagged as 'obsolete' now)
  10392. Support for "Cygnus-style" tree as enabled by the 'cygnus'
  10393. option is now reported as obsolete when the warnings in the
  10394. 'obsolete' category are enabled.
  10395. See automake bug#11034.
  10396. * automake.in (check_cygnus): Report the use of 'cygnus' mode as
  10397. obsolete.
  10398. * NEWS: Update.
  10399. * docs/automake.texi: Minor adjustments.
  10400. * t/cygnus-deprecation.sh: New test.
  10401. * t/list-of-tests.mk: Add it.
  10402. * tests/cygnus-check-without-all.sh: Adjust by calling automake
  10403. with the warnings in the 'obsolete' category disabled.
  10404. * t/cygnus-requires-maintainer-mode.sh: Likewise.
  10405. * t/cygnus-dependency-tracking.sh: Likewise.
  10406. * t/cygnus-imply-foreign.sh: Likewise.
  10407. * t/cygnus-no-installinfo.sh: Likewise.
  10408. * t/cygnus-no-dist.sh: Likewise.
  10409. * t/clean2.sh: Likewise.
  10410. * t/flavor.sh: Likewise.
  10411. * t/txinfo5.sh: Likewise.
  10412. * t/txinfo5b.sh: Likewise.
  10413. * t/library.sh: Remove use of 'cygnus' and 'dejagnu' options,
  10414. and of AM_MAINTAINER_MODE macro.
  10415. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10416. parallel-tests: optimize global log creation
  10417. With this change, the time required to execute the test case
  10418. 'testsuite-summary-speed.sh' has dropped as follows:
  10419. + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
  10420. GNU make 3.81:
  10421. - 1 run: 4 minutes => 30/40 seconds
  10422. + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
  10423. Solaris CCS make:
  10424. - 2 runs: 6 minutes => 30 seconds
  10425. + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
  10426. GNU make 3.82:
  10427. - 5 runs: 7 minutes => 1 minute and 10 seconds
  10428. * lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding
  10429. lots of forks with the help of ...
  10430. (am__create_global_log): ... this new internal variable, basically
  10431. defining a smart awk program, and ...
  10432. (am__global_test_result_rx, am__copy_in_global_log_rx): ... these new
  10433. internal variables, used by the one above.
  10434. (am__rst_section): Remove as obsolete
  10435. * t/rst-formatting.trs: Remove.
  10436. * t/list-of-tests.mk: Update.
  10437. * t/testsuite-summary-count-many.sh: Improve its stress testing by
  10438. using 1 million tests rather than just 5 thousands: we can afford
  10439. this with our new optimization, and still have the test completed
  10440. in a reasonable time.
  10441. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10442. parallel-tests: optimize 'recheck' target for speed
  10443. With this change, the time required to execute the test case
  10444. 'testsuite-recheck-speed.sh' has dropped as follows:
  10445. + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
  10446. GNU make 3.81:
  10447. - 1 run: 6 minutes => 40 seconds
  10448. + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
  10449. Solaris CCS make:
  10450. - 4 runs: 3 minutes => 1 minute
  10451. + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
  10452. GNU make 3.82:
  10453. - 5 runs: 4 minutes => 1 minute 30 seconds
  10454. * lib/am/check.am (recheck): Optimize for speed, by avoiding lots of
  10455. forks with the help of ...
  10456. (am__list_recheck_tests): ... this new internal variable, basically
  10457. defining a proper awk program, and ...
  10458. (am__recheck_rx): ... this other new internal variable, used by the
  10459. one above.
  10460. * t/test-trs-recover2.sh: Relax by not checking for a very corner
  10461. case ('.log' and '.trs' files both unreadable) that we don't handle
  10462. anymore.
  10463. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10464. news: announce initial support for Objective C++
  10465. 2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de>
  10466. Stefano Lattarini <stefano.lattarini@gmail.com>
  10467. objc++: test support for '.mm' suffix in _SOURCES entries
  10468. * t/ext.sh: Enhance by adding a file with the '.mm' suffix in
  10469. the 'foo_SOURCES' definition.
  10470. * t/nodep2.sh: Likewise.
  10471. 2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  10472. coverage: add performance tests on some parallel-tests aspects
  10473. * t/testsuite-recheck-speed.sh: New test.
  10474. * t/testsuite-summary-speed.sh: Likewise.
  10475. * t/list-of-tests.mk: Update.
  10476. The new tests are not meant to PASS/FAIL, but rather to help us to
  10477. obtain quantitative measurements of the performance improvements
  10478. offered by soon-to-appear optimization patches.
  10479. Timing before the optimizations implemented by following patches:
  10480. + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
  10481. GNU make 3.81:
  10482. - testsuite-recheck-speed.sh: 1 run, ~ 6 minutes
  10483. - testsuite-summary-speed.sh: 1 run, ~ 4 minutes
  10484. + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
  10485. Solaris CCS make:
  10486. - testsuite-recheck-speed.sh: 4 runs, ~ 3 minutes
  10487. - testsuite-summary-speed.sh: 2 runs, ~ 6 minutes
  10488. + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
  10489. GNU make 3.82:
  10490. - testsuite-recheck-speed.sh: 5 runs, ~ 4 minutes
  10491. - testsuite-summary-speed.sh: 5 runs, ~ 7 minutes
  10492. 2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de>
  10493. objc++: add documentation
  10494. * doc/automake.texi (Objective C++ Support): New node.
  10495. (How the Linker is Chosen, Support for Other Languages): Adjust.
  10496. 2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de>
  10497. objc++: initial support for Objective C++
  10498. Original thread (dating back to almost three years ago):
  10499. <http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html>
  10500. * automake.in: Register new language 'objcxx'.
  10501. (lang_objcxx_rewrite): New subroutine.
  10502. (resolve_linker): Add OBJCXXLINK.
  10503. (%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX.
  10504. (%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS.
  10505. * m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX.
  10506. * m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook.
  10507. 2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  10508. Merge branch 'mkdirp-remove' into master
  10509. * mkdirp-remove:
  10510. AM_PROG_MKDIR_P: remove as obsolete
  10511. 2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  10512. Merge branch 'maint'
  10513. * maint:
  10514. AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
  10515. 2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  10516. Merge branch 'mkdirp-deprecate' into maint
  10517. * mkdirp-deprecate:
  10518. AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
  10519. 2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  10520. Merge branch 'maint'
  10521. * maint:
  10522. tests: root can write on files without write perms; cater for this
  10523. tests: require lex, not yacc, in a lex test case
  10524. maint: fix a comment typo
  10525. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10526. tests: root can write on files without write perms; cater for this
  10527. Fixes last part of automake bug#11369.
  10528. * t/dist-readonly.sh ($required): Add 'non-root'.
  10529. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10530. tests: require lex, not yacc, in a lex test case
  10531. See automake bug#11369.
  10532. * t/lex-clean.sh ($required): Require 'lex', not 'yacc'.
  10533. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10534. AM_PROG_MKDIR_P: remove as obsolete
  10535. Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro (and its
  10536. output variable '$(mkdir_p)') has in the documentation and with
  10537. runtime warning since Automake 1.12.1. It's now time to remove it.
  10538. * automake.in (scan_autoconf_traces): Remove special handling of
  10539. 'AM_PROG_MKDIR_P'.
  10540. * m4/mkdirp.m4: Delete.
  10541. * Makefile.am (dist_automake_ac_DATA): Remove it.
  10542. * t/mkdirp-deprecation.sh: Delete.
  10543. * t/list-of-tests.mk: Remove it.
  10544. * doc/automake.texi: Remove references to the 'AM_MKDIR_P' m4 macro
  10545. and the '$(mkdir_p)' output variable.
  10546. * t/gettext-macros.sh: Ensure the gettext-requiring tests will
  10547. still see the now-removed 'AM_PROG_MKDIR_P' macro as an alias for
  10548. the 'AC_PROG_MKDIR_P' macro, since even recent versions of gettext
  10549. uses 'AM_PROG_MKDIR_P' in their '.m4' files.
  10550. * NEWS: Update.
  10551. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10552. AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
  10553. Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its
  10554. output variable '$(mkdir_p)') has already been deprecated in
  10555. the documentation. It's now time to make its use actively
  10556. emit warnings in the 'obsolete' category as well.
  10557. * automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P'
  10558. obsolescent if that macro is seen.
  10559. * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence.
  10560. * m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'.
  10561. * t/mkdirp-deprecation.sh: New test.
  10562. * t/list-of-tests.mk: Add it.
  10563. * syntax-check.mk (sc_mkdir_p): Delete this check as obsolete.
  10564. (syntax_check_rules): Remove it.
  10565. * t/gettext-macros.sh: Ensure the gettext-requiring tests will
  10566. call aclocal and automake with the 'obsolete' warnings disabled,
  10567. since even recent versions of gettext used the now-deprecated
  10568. 'AM_PROG_MKDIR_P' m4 macro.
  10569. * NEWS: Update.
  10570. 2012-04-28 Jim Meyering <meyering@redhat.com>
  10571. maint: fix a comment typo
  10572. * configure.ac: Fix typo in comment: s/out/our/
  10573. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10574. Merge branches 'remove-acdir-option' and 'remove-obsolete-m4'
  10575. * remove-acdir-option:
  10576. aclocal: remove the --acdir option
  10577. * remove-obsolete-m4:
  10578. m4: delete several obsolete macros
  10579. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10580. Merge branch 'maint'
  10581. * maint:
  10582. fixup: avoid unconditional re-bootstrapping on "make dist"
  10583. build: ensure release year in copyright notice is up-to-date
  10584. cosmetics: fix spacing in THANKS
  10585. readme: explicitly state we use ranges in copyright years
  10586. bootstrap: add convenience make target
  10587. automake, aclocal: update copyright year in output
  10588. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10589. fixup: avoid unconditional re-bootstrapping on "make dist"
  10590. Since our 'bootstrap' script is distributed, the 'distdir' target depends
  10591. on it. But in our GNUmakefile, we also have a 'bootstrap' target declared
  10592. .PHONY, which when called re-bootstrap the Automake distribution. Thus,
  10593. whenever we run "make dist", GNU make sees it must remake the 'bootstrap'
  10594. target (as it is a dependency of the 'distdir' target), and thus ends up
  10595. re-bootstrapping all the package (because of the .PHONY 'bootstrap' target
  10596. in GNUmakefile).
  10597. We fix this issue by renaming our bootstrap script to 'bootstrap.sh'.
  10598. * bootstrap: Renamed ...
  10599. * bootstrap.sh: ... to this.
  10600. * GNUmakefile (bootstrap): Adjust.
  10601. * Makefile.am (EXTRA_DIST): Likewise.
  10602. (autodiffs): Likewise.
  10603. * HACKING: Likewise.
  10604. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10605. build: ensure release year in copyright notice is up-to-date
  10606. From a suggestion by Eric Blake. See automake bug#11356.
  10607. This is a follow-up to previous patch 'v1.12-12-gb99b5be'.
  10608. * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold
  10609. the value of the current year.
  10610. * Makefile.am (update-copyright): Be sure to also update the
  10611. definition of 'RELEASE_YEAR' in configure.ac.
  10612. * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable,
  10613. initialized from the value substituted for '@RELEASE_YEAR@'.
  10614. (@EXPORT): Add it.
  10615. * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be
  10616. substituted at make time) instead of hard-coding the release
  10617. year. This should ensure the copyright range in the version
  10618. message and in the generated files (Makefile.in and aclocal.m4)
  10619. are automatically kept up-to-date.
  10620. * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'.
  10621. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10622. cosmetics: fix spacing in THANKS
  10623. * THANKS: Use spaces, not tabs, to separate a reporter's name from
  10624. his e-mail address. Also, increase such spacing, to allow a more
  10625. consistent formatting with longer names.
  10626. 2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  10627. readme: explicitly state we use ranges in copyright years
  10628. Reported by Jack Kelly in automake bug#11356.
  10629. * README: Explicitly state we use ranges in copyright years; this is
  10630. mandated by the GNU Coding Standards for each package that wants to
  10631. actually use ranges in copyright years.
  10632. 2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  10633. aclocal: remove the --acdir option
  10634. It not documented in the manual anymore, its use has already been
  10635. causing a deprecation warning, and its oncoming removal has already
  10636. been announced in the NEWS file. So let's finally remove it.
  10637. * aclocal.in (parse_arguments): Don't recognize the '--acdir' option
  10638. anymore.
  10639. (handle_acdir_option): Remove subroutine.
  10640. * configure.ac ($ACLOCAL): Adjust.
  10641. ($AUTOMAKE): Cosmetic changes, for consistency.
  10642. * tests/aclocal-acdir.test: Remove usages of the '--acdir' option.
  10643. * tests/aclocal-print-acdir.test: Likewise.
  10644. * NEWS: Update.
  10645. 2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  10646. bootstrap: add convenience make target
  10647. Dependencies in the Automake build system are not completely specified
  10648. (see for example the commit log of recent commit 'v1.12-10-gab14841',
  10649. "build: avoid too greedy rebuilds in the testsuite"). In fact, some of
  10650. them cannot even be; for example, Makefile is generated at configure
  10651. time from Makefile.in, which should be regenerated by our bleeding-edge
  10652. automake script, which is generated by out Makefile -- specifying the
  10653. complete chain of dependencies here would bring to a circular dependency
  10654. issue.
  10655. For this reason, before testing or deploying a change, we are often
  10656. forced to perform a full re-bootstrap of the Automake package, to ensure
  10657. all our files are actually up-to-date. Until now, this has to be done
  10658. manually, thus causing wasted keystrokes and more possibilities of error.
  10659. With this change, we introduce a new 'bootstrap' make target to
  10660. automatize all the (easy) steps of this re-bootstrapping (plus some
  10661. minor bells & whistles since we are at it).
  10662. * GNUmakefile: Rewrite to allow an easy bootstrapping and clean rebuild
  10663. of the whole package, in particular with the help of ...
  10664. (bootstrap): ... this new target.
  10665. 2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  10666. m4: delete several obsolete macros
  10667. Support for several obsolescent macros has already been deprecated,
  10668. and their removal already announced in the documentation and in the
  10669. NEWS file. It's now time to finally remove them.
  10670. * m4/dmalloc.m4 (fp_WITH_DMALLOC): Don't define anymore.
  10671. * m4/maintainer.m4 (jm_MAINTAINER_MODE): Likewise.
  10672. * m4/lispdir.m4 (ud_PATH_LISPDIR): Likewise.
  10673. * m4/protos.m4 (fp_C_PROTOTYPES): Likewise.
  10674. * m4/ccstdc.m4: Delete file.
  10675. * m4/header.m4: Likewise.
  10676. * m4/obsol-gt.m4: Likewise.
  10677. * m4/obsol-lt.m4: Likewise.
  10678. * m4/obsolete.m4: Likewise.
  10679. * Makefile.am (dist_automake_ac_DATA): Don't list the deleted '.m4'
  10680. files anymore.
  10681. * t/confh.sh: Use 'AC_CONFIG_HEADERS' instead of the now-removed
  10682. AM_CONFIG_HEADER.
  10683. * t/confh.sh: Likewise.
  10684. * t/confh4.sh: Likewise.
  10685. * t/confh6.sh: Likewise.
  10686. * t/confh7.sh: Likewise.
  10687. * t/confh8.sh: Likewise.
  10688. * t/confsub.sh: Likewise.
  10689. * t/stamph2.sh: Likewise.
  10690. * t/subdir6.sh: Likewise.
  10691. * t/autohdr2.sh: Remove as obsolete.
  10692. * t/obsolete.sh: Likewise.
  10693. * t/list-of-tests.mk. Don't list the deleted test cases anymore.
  10694. * NEWS: Update.
  10695. * doc/automake.texi: Likewise. In particular ...
  10696. (Obsolete Macros): Remove this node altogether.
  10697. 2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  10698. automake, aclocal: update copyright year in output
  10699. Fixes automake bug#11356.
  10700. * aclocal.in, automake.in: Add copyright year '2012' in the version
  10701. message. Ditto for the copyright notice in the generated Makefile.in
  10702. or aclocal.m4 files; and for those, since we are at it, prefer using
  10703. a range for copyright years, rather than listing each copyright year
  10704. individually.
  10705. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10706. Merge branch 'maint'
  10707. * maint:
  10708. maint: don't use "union" merge driver for NEWS anymore
  10709. build: avoid too greedy rebuilds in the testsuite
  10710. tests: avoid yet another spurious environment influence
  10711. tests: fix a failure in Lex/C++ tests on Mac OS X
  10712. tests: fix a spurious failure due to truncated timestamps
  10713. build: require autoconf 2.69
  10714. build: don't require minimal automake version in AM_INIT_AUTOMAKE
  10715. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10716. maint: don't use "union" merge driver for NEWS anymore
  10717. The use of the "union" merge driver to avoid conflicts in NEWS has
  10718. proven to be problematic, as it often silently produced mis-merges
  10719. (instead of spurious conflicts, but a spurious conflict is better
  10720. than a mis-merge). Also, our new branching policy (see automake
  10721. bug#11153 for a description) should greatly mitigate the problem of
  10722. merge conflicts in NEWS. For further discussion, see:
  10723. <http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00148.html>
  10724. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10725. build: avoid too greedy rebuilds in the testsuite
  10726. The autogenerated makefile fragment 't/testsuite-part.am' used to depend
  10727. on the list of *all* the hand-written files. This was technically correct,
  10728. since that makefile fragment was (and still is) generated by the script
  10729. 'gen-testsuite-part', which scans all the hand-written files to detect
  10730. implicit dependencies and to decide for which tests a further wrapper test
  10731. should be generated.
  10732. However, the presence of such a dependency implied that, whenever *any*
  10733. test case was modified (no matter how slightly), the 't/testsuite-part.am'
  10734. file was rebuilt, and since that is included by our 'Makefile.am', the
  10735. 'Makefile.in' file was rebuilt as well by automake. In order to do so,
  10736. automake scanned our 'configure.ac' file, which requires the latest
  10737. Autoconf version (2.69 at the time of writing), and the casual user can
  10738. easily lack that on his machine (and that should be allowed, as automake
  10739. currently supports any autoconf version >= 2.62).
  10740. The described situation could hinder in-field testing or debugging by
  10741. users (even experienced ones) that are not automake developers; see for
  10742. example automake bug#11347.
  10743. So we drop the explicit dependency of 't/testsuite-part.am' on the
  10744. hand-written test cases. (As an aside, note that this has already
  10745. been done in Automake-NG, albeit for other reasons; see the commit
  10746. 'v1.11b-129-g1690aca' of 2012-04-23, "[ng] build: define $(TESTS)
  10747. through a wildcard").
  10748. This is not a serious regression in the faithfulness of the Automake
  10749. build systems, since it unfortunately already had several undeclared
  10750. dependencies; e.g., 'Makefile.in' should depend on the automake script,
  10751. and 'aclocal.m4' should depend on the aclocal script (but this isn't
  10752. possible, as it would mean that distributed files depend on ones generated
  10753. at make time). Similarly, 'Makefile.in' should depend on some of the
  10754. 'lib/am/*.am' files, but does not.
  10755. Currently, the workaround to get a faithful and correct rebuild is to run
  10756. ./bootstrap && ./config.status --recheck && make clean all
  10757. and the present commit does not change that.
  10758. * Makefile.am ($(srcdir)/t/testsuite-part.am): Don't depend on
  10759. 't/list-of-tests.mk' nor on '$(handwritten_TESTS)' anymore.
  10760. ($(generated_TESTS)): Likewise, and don't depend on 'Makefile.am'
  10761. either.
  10762. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10763. Merge branch 'fix-pr11345-lex' into maint
  10764. * fix-pr11345-lex:
  10765. tests: fix a failure in Lex/C++ tests on Mac OS X
  10766. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10767. Merge branch 'fix-pr11346-timestamp' into maint
  10768. * fix-pr11346-timestamp:
  10769. tests: fix a spurious failure due to truncated timestamps
  10770. 2012-04-26 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
  10771. tests: avoid yet another spurious environment influence
  10772. * t/remake11.sh: Unset 'd' before first use.
  10773. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10774. tests: fix a failure in Lex/C++ tests on Mac OS X
  10775. The <cstdio> header from Xcode-4.3.2 on Mac OS X 10.7.3 declares a 'isatty'
  10776. function with C++ linkage, that conflicts with our dummy definition of the
  10777. same function, which in turn is required to work around the absence of the
  10778. unistd.h header on MinGW (see commit 'v1.11-2138-gfeea090' of 11-04-2012).
  10779. So we tweak the affected tests to work around this new problem as well.
  10780. This fixes automake bug#11345.
  10781. * t/lex-clean-cxx.sh ($required): Since we are at it, add an explicit
  10782. 'c++' requirement.
  10783. * t/lex-depend-cxx.sh ($required): Likewise.
  10784. (my-hdr.hxx): Don't include <cstdio>. The "using namespace" directive
  10785. should still be enough to ensure the content of this header is not valid
  10786. C, albeit being of course valid C++.
  10787. Fix unrelated typos in comments.
  10788. (joe.ll): Adjust, by removing the call to 'printf'.
  10789. * THANKS: Add entry for reporter "Adam Mercer".
  10790. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10791. Peter Breitenlohner <peb@mppmu.mpg.de>
  10792. tests: fix a spurious failure due to truncated timestamps
  10793. Fixes automake bug#11346.
  10794. * t/self-check-is_newest.tap: Apparently, on some systems (or file
  10795. systems), "touch -r" can truncate timestamps :-( Work around that.
  10796. 2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  10797. build: require autoconf 2.69
  10798. It is only from version 2.69 that the 'AC_PROG_FC' macro has started to
  10799. set the '$GFC' variable to "yes" if the selected Fortran compiler is a
  10800. GNU compiler. Since we use this variable in our configure.ac, we better
  10801. require autoconf 2.69 explicitly.
  10802. * configure.ac (AC_PRERQ): Require autoconf >= 2.69.
  10803. Remove a now-obsolete "FIXME" comment.
  10804. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10805. build: don't require minimal automake version in AM_INIT_AUTOMAKE
  10806. * configure.ac (AM_INIT_AUTOMAKE): Don't explicitly require a minimal
  10807. automake version number. Since the Automake build system is only meant
  10808. to work with the bleeding-edge automake, that requirement was redundant
  10809. and misleading.
  10810. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10811. post-release: major version bump
  10812. This is for the master branch.
  10813. * configure.ac, m4/amversion.m4: Bump version to 1.12a.
  10814. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10815. Merge branch 'maint'
  10816. * maint:
  10817. post-release: minor version bump
  10818. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10819. post-release: minor version bump
  10820. This is for the maint branch.
  10821. * configure.ac, m4/amversion.m4: Bump version to 1.12.0a.
  10822. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10823. Merge branch master into maint after 1.12 release
  10824. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10825. release: stable major release 1.12
  10826. * configure.ac (AC_INIT): Bump version number to 1.12.
  10827. * NEWS: Likewise.
  10828. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated
  10829. by ./bootstrap).
  10830. 2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  10831. Merge branches 'fix-pr11302-opensuse' and 'fix-pr11306-macosx'
  10832. * fix-pr11302-opensuse:
  10833. tests: cater to systems installing libs in /lib64
  10834. * fix-pr11306-macosx:
  10835. tests: fix spurious failure on Mac OS X
  10836. 2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  10837. coverage: test the internal $(am__relativize) variable
  10838. This new coverage might turn out be useful for the planned changes
  10839. in Automake-NG. Even if it eventually doesn't, we gen an improved
  10840. testsuite exposure of some non-trivial internals, so it's always a
  10841. win for us.
  10842. * t/relativize.tap: New test.
  10843. * t/list-of-tests.mk: Add it.
  10844. 2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  10845. tests: cater to systems installing libs in /lib64
  10846. See automake bug#11302.
  10847. On at least OpenSUSE 12.1, "make install" will install libraries in
  10848. the '${prefix}/lib64' directory by default. This is due to the
  10849. $CONFIG_SITE set by /etc/profile.d/site.sh, which sets a libdir
  10850. that ends in '/lib64' rather than '/lib' if it finds that the compiler
  10851. is generating 64-bit code. This behaviour was causing some spurious
  10852. failures in our testsuite. Fix them.
  10853. * t/posixsubst-libraries.sh: Assume the libraries are installed in
  10854. '$(libdir)' rather than in '$(prefix)/lib'.
  10855. * t/posixsubst-ltlibraries.sh: Likewise.
  10856. * t/posixsubst-scripts.sh: Similarly, don't assume that '$(bindir)',
  10857. '$(sbindir)' and '$(libexedir)' always defaults to respectively
  10858. '$(prefix)/bin', '$(prefix)/sbin' and '$(prefix)/libexec'.
  10859. * t/transform3.test: Likewise.
  10860. 2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  10861. Bruno Haible <bruno@clisp.org>
  10862. tests: fix spurious failure on Mac OS X
  10863. See automake bug#11306.
  10864. * t/lex-libobj.sh: We used to pass LEXLIB='-L /lib' to the ./configure
  10865. invocation, to prevent it from explicitly searching for a "lex library".
  10866. But the linker on MacOS X 10.5 apparently chokes on that:
  10867. cc -g -O2 -o foo foo.o -L /lib yywrap.o
  10868. ld: file not found: /lib
  10869. collect2: ld returned 1 exit status
  10870. So, we now instead pass LEXLIB=' ', which being non-empty is enough
  10871. to prevent the search of a "lex library". And since we are at it,
  10872. enhance comments on this non-obvious usage.
  10873. 2012-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  10874. coverage: parallel make with vala
  10875. * t/vala-parallel.sh: New test.
  10876. * t/list-of-tests.mk: Add it.
  10877. 2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  10878. vala: configure exit with status 77, not 1, if valac version is too old
  10879. From a report by Bruno Haible in automake bug#1193. This change should
  10880. also automatically avoid spurious testsuite failures with older vala
  10881. versions.
  10882. * m4/vala.m4 (AM_PROG_VALAC): Exit with status 77, rather than 1, if
  10883. the Vala compiler found older than the minimal required version (if
  10884. any). This is more consistent with what is done by other macros like
  10885. AM_PROG_UPC or AC_PROG_CC.
  10886. * NEWS: Update.
  10887. * t/vala-headers.sh: Adjust, so that the test is only skipped of the
  10888. vala compiler is too old or the required PKG_CHECK_MODULES third-party
  10889. macro is not found by aclocal, and not if a generic error happens in
  10890. the configure script.
  10891. * t/vala-libs.sh: Likewise.
  10892. * t/vala2.sh: Likewise.
  10893. * t/vala3.sh: Likewise.
  10894. * t/vala5.sh: Likewise.
  10895. * t/vala-vpath.sh: Likewise (but don't check for the potential error
  10896. with PKG_CHECK_MODULES, as that macro is not used in any way here).
  10897. * t/vala4.sh: Adjust, to avoid the new semantic causing this test to
  10898. skip instead of failing.
  10899. 2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  10900. refactor: processing of input makefile rules
  10901. This is a pure refactoring, with no intended functional or semantic
  10902. changes. It breaks up an overly-long function in three smaller
  10903. sub-functions. This change will very especially useful for the work
  10904. on Automake-NG.
  10905. * lib/Automake/Rule.pm (define): Move quite a lot of code out, into ...
  10906. (_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target,
  10907. _conditionals_for_rule): ... these new subroutines.
  10908. 2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  10909. automake: refactor pre-processing of makefile fragments
  10910. This change will provide the automake script with a new function that
  10911. reads in a Makefile fragment *without* performing Automake ad-hoc parsing,
  10912. but only the pre-processing step, i.e., removal of '##' comments and
  10913. substitution of tokens like '%SUBDIRS%', '%?LIBTOOL%' or '?GENENRIC?'.
  10914. This will very likely be useful for the work on Automake-NG.
  10915. This is a pure refactoring, with no intended functional or semantic
  10916. changes.
  10917. * automake.in (preprocess_file): New function, extracted ...
  10918. (make_paragraphs): ... from here.
  10919. 2012-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  10920. docs: remove obsolete references to Autoconf 2.13
  10921. Autoconf 2.13 is definitely obsolete today, so giving hints or caveats
  10922. about it in the Automake documentation is not only obsolescent, but
  10923. also counter-productive, as it suggests that autoconf 2.13 is still
  10924. relevant.
  10925. * doc/automake.texi: Adjust. Related rewordings. Since we are at it,
  10926. prefer using a more modern autoconf version number (2.68 instead of 2.57)
  10927. in an example showing how to correctly use 'AC_PREREQ' in third-party
  10928. .m4 files.
  10929. 2012-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
  10930. tests: fix spurious failure with non-ANSI terminals
  10931. * t/ax/tap-summary-aux.sh: When checking colored testsuite output,
  10932. be sure to export the TERM variable to the value "ansi"; otherwise
  10933. the automake testsuite driver will not display colored output, not
  10934. even if AM_COLOR_TESTS is exported to "always". Failure revealed
  10935. by NixOS Hydra.
  10936. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10937. hacking: fix typo
  10938. * HACKING (Test suite): Refer to file 't/README', not to the
  10939. non-existent 'tests/README'.
  10940. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10941. maint: version bump after beta release
  10942. * configure.ac (AC_INIT): Bump version number to 1.11e, as per
  10943. HACKING suggestion.
  10944. * NEWS: Likewise.
  10945. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
  10946. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10947. Beta release 1.11d (will become 1.12)
  10948. * configure.ac (AC_INIT): Bump version number to 1.11d.
  10949. * NEWS: Likewise.
  10950. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
  10951. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10952. tests: remove redundant 'set -e' calls
  10953. * t/aclocal-install-fail.sh: Do not set the 'errexit' shell flag,
  10954. as it is already set by './defs'.
  10955. * t/aclocal-install-mkdir.sh: Likewise.
  10956. * t/aclocal-no-install-no-mkdir.sh: Likewise.
  10957. * t/aclocal-verbose-install.sh: Likewise.
  10958. * t/instdir-no-empty.sh: Likewise.
  10959. * t/link_cond.sh: Likewise.
  10960. * t/python-pr10995.sh: Likewise.
  10961. * t/vala-vapi.sh: Likewise.
  10962. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10963. tests: avoid spurious failures when cross-compiling
  10964. * t/parallel-tests-recheck-depends-on-all.sh: Skip the test
  10965. when cross-compiling.
  10966. * t/vala-vapi.sh: Skip tests that do not make sense when
  10967. cross-compiling.
  10968. * t/yacc-basic.sh: Likewise.
  10969. * t/yacc-cxx.sh: Likewise.
  10970. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10971. maintainer-check: fix definition of $(ams) again
  10972. * syntax-checks.mk (ams): The previous change 'v1.11b-36-g127adfb' solved
  10973. one problem in the definition of this variable, but also caused it contain
  10974. the names of all the left-behind 't/*.dir' temporary test directories.
  10975. Fix that.
  10976. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10977. maintainer-check: do not hang
  10978. * syntax-checks.mk (ams): The definition of this variable was invoking
  10979. the 'find' utility in an incorrect way, which resulted into the variable
  10980. being empty, thus reducing coverage in some maintainer check and making
  10981. other hang. Fix this.
  10982. 2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  10983. parallel-tests: 'recheck' must depend on 'all'
  10984. Fixes automake bug#11252.
  10985. When a developer experience one or more failures in the testsuite, a good
  10986. workflow is for him to modify its program's sources to fix the bug thus
  10987. revealed, run "make recheck" to verify that the change has indeed solved
  10988. the testsuite failures previously experienced, and then run "make check"
  10989. to verify that the change has not introduced any new failure or regression.
  10990. Unfortunately, this apparently natural workflow couldn't have worked until
  10991. now, since the Automake-provided 'recheck' target (which didn't depend on
  10992. 'all') wouldn't have causes the program to be recompiled, and the failed
  10993. tests would have thus been run with the older, buggy version of the
  10994. program, failing the same way as before.
  10995. * lib/am/check.am (recheck): Depend on 'all'.
  10996. * t/parallel-tests-recheck-depends-on-all.sh: New test.
  10997. * t/list-of-tests.mk: Add it.
  10998. * NEWS: Update.
  10999. 2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  11000. vala tests: building libraries, and more on '.vapi' files
  11001. * t/vala1.sh: Remove, turned into ...
  11002. * t/vala-libs.sh: ... this functional test instead.
  11003. * t/list-of-tests.mk: Adjust.
  11004. 2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  11005. automake: fix botched call to 'check_user_variables'
  11006. * automake.in (lang_vala_finish_target): The 'check_user_variables' function
  11007. takes an array, not an array ref, as argument; adjust its call accordingly.
  11008. 2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  11009. vala: cleanup rules are better and more complete now
  11010. * automake.in (lang_vala_finish_target): Ensure Vala-generated C sources
  11011. and header files and our custom stamp files are correctly cleaned.
  11012. * t/vala-headers.sh, t/vala-vpath.sh: Enhance.
  11013. * NEWS: Update.
  11014. 2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  11015. vala tests: check headers generation
  11016. * t/vala-headers.sh: New test, checking use of 'valac' options for
  11017. header generation (e.g., '-H', '--vapi', ...) in '$(..._VALAFLAGS)'.
  11018. * t/list-of-tests.mk: Add it.
  11019. 2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  11020. vala tests: remove redundant libtool requirements and usages
  11021. * t/vala2.sh: Don't require libtool m4 macros, don't run libtoolize,
  11022. don't invoke AC_PROG_LIBTOOL: none of there is really needed.
  11023. * t/vala3.test: Likewise.
  11024. 2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  11025. vala tests: some enhancements
  11026. * t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little.
  11027. 2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  11028. vala tests: few adjustments and improvements
  11029. * t/vala4.sh: Don't run 'libtoolize', it's not truly required.
  11030. ($required): Don't require 'libtoolize'.
  11031. (configure.ac): Don't invoke 'AC_PROG_LIBTOOL'.
  11032. * t/vala-mix.sh ($required): Require 'cc'.
  11033. Avoid some calls to 'framework_failure_', they were only useful when
  11034. this test was xfailing (to ensure it wasn't failing for the wrong
  11035. reasons).
  11036. Ensure the stamp file is created in the source directory.
  11037. 2012-04-16 Jim Meyering <meyering@redhat.com>
  11038. build: use latest help2man, but without locale support
  11039. * doc/help2man: Update to latest (1.40.8), but built with
  11040. --disable-nls, which elides the less-portable locale-related
  11041. code, and with the "use 5.008" manually changed to "use 5.006".
  11042. Thanks to Brendan O'Dea for the tips.
  11043. * THANKS: Update Brendan's address.
  11044. 2012-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  11045. parallel-tests: print error messages on stderr, not stdout
  11046. * lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages
  11047. on stderr, not on stdout.
  11048. 2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  11049. dist tests: fix reduced coverage due to typo
  11050. * t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'.
  11051. 2012-04-13 Jim Meyering <meyering@redhat.com>
  11052. build: use slightly older help2man, for improved portability
  11053. Fixes automake bug#11235
  11054. * doc/help2man: Downgrade to help2man-1.36.4, so that it does
  11055. not require Locale/gettext.pm, which is not available on a
  11056. default Fedora 16 installation. Reported by Stefano Lattarini.
  11057. 2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  11058. tests: avoid spurious failure when 'install-info' program is unavailable
  11059. From a report by Dmitry V. Levin:
  11060. <http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00085.html>
  11061. * t/install-info-dir.sh : When 'install-info' is unavailable, create a
  11062. dummy '${infodir}/dir' file by hand when that file is required by later
  11063. checks.
  11064. 2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  11065. Merge branch 'maint'
  11066. * maint:
  11067. install: shell parameter expansions can be used in directory names
  11068. 2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  11069. Merge branch 'fix-pr11232' into maint
  11070. * fix-pr11232:
  11071. install: shell parameter expansions can be used in directory names
  11072. 2012-04-13 Dmitry V. Levin <ldv@altlinux.org>
  11073. install: shell parameter expansions can be used in directory names
  11074. Fixes automake bug#11232.
  11075. GNU automake used to support shell parameter expansion and command
  11076. substitutions in installation directories, but that was inadvertently
  11077. broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs
  11078. when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting
  11079. of generated MKDIR_P command was changed from double to single quotes
  11080. in 3 places, while some 21 other places still use double quotes for
  11081. generated MKDIR_P commands.
  11082. * lib/am/data.am: Use double quotes for generated "mkdir -p" commands.
  11083. * lib/am/libs.am: Likewise.
  11084. * lib/am/ltlib.am: Likewise.
  11085. 2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  11086. test defs: more environment cleanups
  11087. * defs (SH_LOG_COMPILER, SH_LOG_COMPILE, SH_LOG_FLAGS,
  11088. AM_SH_LOG_FLAGS, SH_LOG_DRIVER, SH_LOG_DRIVER_FLAGS,
  11089. AM_SH_LOG_DRIVER_FLAGS): Unset these variable to avoid
  11090. potential interferences from the environment.
  11091. 2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  11092. test defs: unset 'AM_UPDATE_INFO_DIR' environment variable
  11093. * defs (AM_UPDATE_INFO_DIR): Unset, to be sure to avoid unduly
  11094. interferences from the environment. See also automake bug#11204.
  11095. * THANKS: Add entry for David Fang.
  11096. 2012-04-12 Jim Meyering <meyering@redhat.com>
  11097. build: generate doc/*.1 files; include help2man
  11098. This change is required to avoid making a distributed file depend
  11099. on a generated (non-distributed) one. The preceding change
  11100. introduced one such dependency, with the distributed doc/*.1
  11101. depending on the generated aclocal and automake files. Here,
  11102. we avoid the problem by generating the doc/*.1 files rather than
  11103. distributing them.
  11104. * doc/help2man: New file, version 1.37.1.
  11105. * Makefile.am (EXTRA_DIST): Add doc/help2man.
  11106. (man1_MANS): Rename from $(dist_man1_MANS). Remove $(srcdir) prefix.
  11107. (CLEANFILES): Add these files here, rather than to
  11108. $(MAINTAINERCLEANFILES), since we are no longer distributing them.
  11109. (update_mans): Use doc/help2man, not $(HELP2MAN).
  11110. * configure.ac: Don't test for help2man, now that we bundle it.
  11111. 2012-04-12 Jim Meyering <meyering@redhat.com>
  11112. build: avoid parallel build failures
  11113. A parallel build would fail when two concurrent sub-make processes
  11114. tried to build lib/Automake/Config.pm. The loser would complain that
  11115. grep: lib/Automake/Config.pm-t: No such file or directory
  11116. chmod: cannot access `lib/Automake/Config.pm-t': No such file or\
  11117. directory
  11118. make[1]: *** [lib/Automake/Config.pm] Error 1
  11119. * Makefile.am (update_mans): Don't build lib/Automake/Config.pm here.
  11120. Instead, depend on it from the two rules that use it:
  11121. ($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on it.
  11122. ($(srcdir)/doc/automake-$(APIVERSION).1): Likewise.
  11123. [ Note that technically, the above is incorrect, since it makes those
  11124. distributed doc/*.1 files depend on generated aclocal and automake.
  11125. That problem is addressed by the following commit. ]
  11126. However, that was not enough, since even then, a parallel build
  11127. would still fail, now with this:
  11128. help2man: can't get `--help' info from automake-1.11a
  11129. Try `--no-discard-stderr' if option outputs to stderr
  11130. make: *** [doc/automake-1.11a.1] Error 1
  11131. a subsequent "make -j3" would create the missing file.
  11132. That was because help2man would invoke t/wrap/aclocal.in and
  11133. t/wrap/automake.in, each of which would require aclocal and
  11134. automake, yet those two files weren't guaranteed to be created.
  11135. Add explicit dependencies:
  11136. ($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on aclocal.
  11137. ($(srcdir)/doc/automake-$(APIVERSION).1): Depend on automake.
  11138. 2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  11139. news: remove older entry for "future backward incompatibilities"
  11140. * NEWS (New in 1.11.4): Remove subsection about "Future backward
  11141. incompatibilities"; they are now either documented changes for the
  11142. upcoming 1.12 release, or re-casted as planned future backward
  11143. incompatibilities for the next 1.13 release.
  11144. 2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  11145. news: document fixes for bug#11222 and bug#11229
  11146. * NEWS (Bugs fixed in 1.11.5): New, documenting the fixes.
  11147. 2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  11148. Merge branch 'maint'
  11149. * maint:
  11150. vala: fix distcheck with c/vala mixed projects
  11151. vala: fix vapi files handling
  11152. vala: test vapi files handling (still failing)
  11153. 2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  11154. Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint
  11155. * vala-fix-pr11222:
  11156. vala: fix vapi files handling
  11157. vala: test vapi files handling (still failing)
  11158. * vala-fix-pr11229:
  11159. vala: fix distcheck with c/vala mixed projects
  11160. 2012-04-12 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> (tiny change)
  11161. vala: fix distcheck with c/vala mixed projects
  11162. Fixes automake bug#11229.
  11163. * automake.in (lang_vala_finish_target): Return early if the
  11164. current '_SOURCES' variable does not contain any '.vala' nor
  11165. '.vapi' source. Otherwise, the vala compiler will be called
  11166. without arguments, causing an error.
  11167. * tests/vala-mix.test: Enhance to catch the fixed bug.
  11168. 2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  11169. news: fix typo
  11170. * NEWS (Changes to Automake-generated testsuite harnesses): It's
  11171. 'perl', not 'per'. Reported by Akim Demaille in a private mail.
  11172. 2012-04-12 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> (tiny change)
  11173. vala: fix vapi files handling
  11174. Fixes automake bug#11222.
  11175. Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012,
  11176. "vala: fix 'valac' calls for projects with mixed Vala/C", which
  11177. fixed automake bug#10894.
  11178. * automake.in (lang_vala_finish_target): Also recognize '.vapi'
  11179. as an extension for vala input files.
  11180. * tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'.
  11181. 2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
  11182. Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
  11183. vala: test vapi files handling (still failing)
  11184. Exposes automake bug#11222.
  11185. * tests/vala-vapi.test: New test, still failing.
  11186. * tests/list-of-tests.mk (handwritten_TESTS): Add it.
  11187. (XFAIL_TESTS): Likewise.
  11188. * THANKS: Update.
  11189. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11190. self checks: avoid spurious failures when keep_testdirs=yes
  11191. * t/self-check-cleanup.tap, t/self-check-dir.tap: Unset the
  11192. 'keep_testdirs' environment variable, to avoid spurious errors
  11193. when the testsuite is run with "keep_testdirs=yes make check".
  11194. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11195. fixup: some weaknesses in a self-check test case
  11196. * t/self-check-cleanup.tap: This test contained several buglets
  11197. introduced in the recent row of commits that converted the Automake
  11198. build system to a non-recursive setup. Fix them. Since we are at
  11199. it, enhance the test to cover also the use of the 'keep_testdirs'
  11200. environment variable in order to keep the temporary test directories
  11201. around.
  11202. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11203. maintcheck: avoid yet more spurious failures (2)
  11204. Some maintainer checks were too greedy in processing 'Makefile.am'
  11205. files, looking for them even in temporary directories left behind
  11206. by the test cases, thus causing occasional spurious failures.
  11207. * syntax-checks.mk (ams): Ignore 'Makefile.am' files in the
  11208. temporary test directories.
  11209. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11210. maintcheck: avoid yet more spurious failures (1)
  11211. The 'sc_tests_makefile_variable_order' maintainer check is too
  11212. strict sometimes, blaming automake for outputting out-of-order
  11213. variables when this is in fact due to the result of post-processing
  11214. of third-party tools or custom test code.
  11215. * t/tap-doc2.sh: Ensure the final Makefile.in (that we hack by
  11216. hand) is removed, to avoid a spurious maintainer-check failure.
  11217. * t/gettext-macros.sh: Ensure that any leftover Makefile.in (that
  11218. is generated by gettext/autopoint) is removed, to avoid a spurious
  11219. maintainer-check failure.
  11220. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11221. hacking: fixlets w.r.t. the release procedure
  11222. * HACKING (Release procedure): Do not state that the result of
  11223. "make fetch" is woefully incomplete: this is not true anymore today.
  11224. Suggest to re-run the testsuite after a "make fetch", in case any
  11225. file has been updated.
  11226. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11227. maintcheck: fix spurious failures
  11228. * syntax-check.mk (sc_mkinstalldirs): Now the 'mkinstalldirs' is
  11229. listed in the top-level 'Makefile.am', not in 'lib/Makefile.am';
  11230. adjust the "whitelist" accordingly.
  11231. (sc_ensure_testsuite_has_run): The 'test-suite.log' file created by
  11232. "make check" is now placed in the top-level directory, not in the
  11233. 't/' subdirectory. Adjust by using '$(TEST_SUITE_LOG)' instead of
  11234. an hand-crafted path for the 'test-suite.log' file.
  11235. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11236. maint: version bump after beta release
  11237. * configure.ac (AC_INIT): Bump version number to 1.11c, as per
  11238. HACKING suggestion.
  11239. * NEWS: Likewise.
  11240. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
  11241. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11242. Beta release 1.11b (will become 1.12)
  11243. * configure.ac (AC_INIT): Bump version number to 1.11b.
  11244. * NEWS: Likewise.
  11245. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
  11246. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11247. sync: some auxiliary files synced from upstream
  11248. * lib/texinfo.tex: Synced from upstream, by "make fetch".
  11249. * lib/INSTALL: Likewise.
  11250. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11251. hacking: described new branching policy for 1.12 an later
  11252. This change closes automake bug#11153.
  11253. * HACKING (Working with git): Document the new policy for automake
  11254. branching and merging, which will start being applied after 1.12 is
  11255. released:
  11256. - the maintenance branch will be 'maint', and we will cut the
  11257. maintenance releases directly from there;
  11258. - the development branch will be 'master', and we will cut the
  11259. new releases directly from there;
  11260. - 'maint' will be kept regularly merged into 'master'.
  11261. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11262. vala tests: avoid spurious failure with older GObject
  11263. * t/vala2.sh: In the 'PKG_CHECK_MODULES' call in 'configure.ac',
  11264. don't require gobject >= 2.10, but just >= 2.4: that is enough in
  11265. order for the test to pass.
  11266. * t/vala3.sh: Likewise.
  11267. * t/vala5.sh: Likewise. Also, skip the test instead of failing
  11268. if the ./configure invocation fails: that is likely due to the
  11269. fact that the GObject library is too old or missing, and that is
  11270. not automake's fault.
  11271. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11272. vala tests: force the use of automatic dependency tracking
  11273. * t/vala-mix2.sh: Invoke ./configure with the option
  11274. '--enable-dependency-tracking', so that slower dependency
  11275. extractors are not rejected. This avoids a spurious failure
  11276. at least on Solaris when the Sun C compiler is used.
  11277. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11278. tests: avoid spurious failures in tests on C++ and lex
  11279. This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012,
  11280. "tests: avoid spurious failures with non-flex 'lex' programs and
  11281. C++". It is required to avoid a couple of spurious failures on
  11282. Solaris and NetBSD systems (at least). See also automake bug#11185.
  11283. * t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided
  11284. dummy 'isatty' function as 'static', since that might conflict with
  11285. a declaration of it as 'extern' pulled in through other system
  11286. * t/lex-depend-cxx.sh (joe.ll): Likewise.
  11287. * t/README: Update advice, to avoid similar issues in the future.
  11288. 2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  11289. Merge branch 'rmch'
  11290. * rmch:
  11291. maint: simplify generation of files with @substed@ stuff
  11292. t/README: update w.r.t. recent overhaul (non-recursive build system)
  11293. docs: fix names of relevant test cases in comments
  11294. NEWS: automake build systems avoids make recursion
  11295. maint: no more make recursion in Automake's build system
  11296. tests: rename 'tests/' => 't/', '*.test' => '*.sh'
  11297. tests: remove recipes that run tests with 'prove'
  11298. tests: move most helper scripts and files into the 'ax' subdirectory
  11299. 2012-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  11300. Peter Rosin <peda@lysator.liu.se>
  11301. tests: avoid spurious failures with non-flex 'lex' programs and C++
  11302. This change fixes automake bug#11185.
  11303. The commit v1.11-2058-g6f4b08d of 06-03-2012, "tests: explicitly
  11304. state that our lexers do not require unistd.h" has broken the tests
  11305. 'lex-clean-cxx.test' and 'lex-depend-cxx.test' on Solaris, where lex
  11306. is not flex and does not understand the "%option never-interactive"
  11307. directive. Remove the use of this directive, resorting to defining
  11308. a dummy 'isatty()' function instead to keep the flex-generated tests
  11309. able to compile also on MinGW/MSYS.
  11310. * tests/lex-clean-cxx.test (parsefoo.lxx): Define a dummy 'isatty()'
  11311. function.
  11312. * tests/lex-depend-cxx.test (joe.ll): Likewise.
  11313. * tests/README: Adjust. Fix an unrelated typo since we are at it.
  11314. 2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  11315. tests: avoid a spurious failures for shells with busted 'set -e'
  11316. Some versions of the BSD Korn shell wrongly bail out when the
  11317. 'errexit' shell flag is active and the left-hand command in a
  11318. "&&" list fails and that list is the *last* command of the body
  11319. of a "while" or "for" loop.
  11320. * tests/install-info-dir.test: Work around that behaviour.
  11321. 2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  11322. maint: simplify generation of files with @substed@ stuff
  11323. Use a proper "config.status --file=-" idiom to do most substitutions
  11324. in our generated files, to avoid too much duplications between the
  11325. various $(do_subst) commands in Makefile.am and the (explicit or
  11326. implicit AC_SUBST) invocation in configure.ac.
  11327. From a suggestion by Eric Blake and Federico Simoncelli:
  11328. <http://lists.gnu.org/archive/html/automake/2012-01/msg00011.html>
  11329. * Makefile.am (do_subst): Rewrite to take advantage of the
  11330. "config.status --file=-" idiom.
  11331. (generated_file_finalize): New, to help checking that generated
  11332. files don't contain unexpanded '@substitutions@', and are made
  11333. read-only.
  11334. (automake, aclocal): Take advantage of the improved $(do_subst).
  11335. Improve comments.
  11336. (lib/Automake/Config.pm): Likewise, and of the new variable
  11337. $(generated_file_finalize) as well.
  11338. ($(top_srcdir)/m4/amversion.m4): Likewise.
  11339. (defs-static): Likewise, and depend explicitly on 'Makefile'.
  11340. (do_subst_t): Remove as obsolete.
  11341. * THANKS: Update.
  11342. 2012-04-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  11343. tests: remove redundant requirement
  11344. * tests/txinfo19.test ($required): Drop required "tex", it is not
  11345. really needed.
  11346. Add trailing ':' command since we are at it.
  11347. 2012-04-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  11348. tests: make two test scripts executable
  11349. * tests/instdir-cond.test: Add executable bit.
  11350. * tests/instdir-cond2.test: Likewise.
  11351. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11352. t/README: update w.r.t. recent overhaul (non-recursive build system)
  11353. And other miscellaneous improvements since we are at it.
  11354. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11355. docs: fix names of relevant test cases in comments
  11356. * doc/automake.texi: In comments reporting which test(s) check a
  11357. given feature/idiom, fix the names of the referenced tests, to
  11358. reflect the recent 'tests/foo.test' => 't/foo.sh' "Great Rename".
  11359. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11360. NEWS: automake build systems avoids make recursion
  11361. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11362. maint: no more make recursion in Automake's build system
  11363. We finally merge testsuite-related part of the Automake build
  11364. system with the top-level one. See also yesterday's commit
  11365. 'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's
  11366. own build system".
  11367. * t/gen-testsuite-part: Move ...
  11368. * gen-testsuite-part: ... here, with required adjustments.
  11369. * t/defs-static.in: Move ...
  11370. * defs-static.in: ... here, with required adjustments. In
  11371. particular ...
  11372. ($testsrcdir, $testbuilddir): Removed.
  11373. ($top_testsrcdir): Renamed ...
  11374. ($am_top_srcdir): ... to this.
  11375. ($top_testbuilddir): Renamed ...
  11376. ($am_top_builddir): ... to this.
  11377. * t/defs: Move ...
  11378. * defs: ... here, and adjust as required.
  11379. * t/Makefile.am: Merge ...
  11380. * Makefile.am: ... in here, with related adjustments and
  11381. simplifications.
  11382. * bootstrap: Adjust as required.
  11383. * syntax-checks.mk: Likewise.
  11384. * .gitignore: Likewise.
  11385. * t/ax/tap-setup.sh: Likewise.
  11386. * t/get-sysconf.sh: Likewise.
  11387. * t/help-multilib.sh: Likewise.
  11388. * t/multlib.sh: Likewise.
  11389. * t/parallel-tests2.sh: Likewise.
  11390. * t/self-check-cleanup.tap: Likewise.
  11391. * t/self-check-exit.tap: Likewise.
  11392. * t/self-check-dir.tap: Likewise.
  11393. * t/self-check-explicit-skips.sh: Likewise.
  11394. * t/self-check-reexec.tap: Likewise.
  11395. * t/self-check-sanity.sh: Likewise.
  11396. * t/yacc-d-cxx.sh: Likewise.
  11397. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11398. tests: rename 'tests/' => 't/', '*.test' => '*.sh'
  11399. When we (soon) convert the Automake testsuite to a non-recursive
  11400. make setup, we'll have to fix the entries of $(TESTS) to be
  11401. prepended with the subdirectory they are in; this will increase
  11402. the length of $(TESTS), and thus increase the possibility of
  11403. exceeding the command-line length limits on some systems (most
  11404. notably, MinGW/MSYS). See automake bug#7868 for more information.
  11405. Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
  11406. script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
  11407. will become 't/foo.sh', which have the same number of characters.
  11408. * tests/: Rename ...
  11409. * t/: ... to this.
  11410. * t/*.test: Rename ...
  11411. * t/*.sh: ... to this.
  11412. * t/.gitignore: Removed as obsolete.
  11413. * t/defs: Adjust.
  11414. * t/gen-testsuite-part: Likewise.
  11415. * t/list-of-tests.mk: Likewise.
  11416. * t/ccnoco.sh: Likewise.
  11417. * t/ccnoco3.sh: Likewise.
  11418. * t/self-check-cleanup.tap: Likewise.
  11419. * t/self-check-dir.tap: Likewise.
  11420. * t/self-check-me.tap: Likewise.
  11421. * t/self-check-reexec.tap: Likewise.
  11422. * README: Likewise.
  11423. * bootstrap: Likewise
  11424. * configure.ac: Likewise.
  11425. * Makefile.am: Likewise.
  11426. * .gitignore: Likewise.
  11427. * syntax-check.mk: Likewise.
  11428. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11429. tests: remove recipes that run tests with 'prove'
  11430. Those recipes has served its purpose by helping us during the
  11431. development of TAP support in Automake, to ensure our TAP driver
  11432. didn't have gratuitous incompatibilities with the 'prove' test
  11433. runner. But they are now unused, out-of-date and bitrotting. So
  11434. it's better to just remove them. We can resurrect them at a later
  11435. time if the need arises.
  11436. * tests/Makefile.am (PROVE, AM_PROVEFLAGS, AM_PROVECMD): Remove
  11437. these variables.
  11438. (prove, installprove): Remove these targets and their recipe.
  11439. (EXTRA_DIST): Don't distribute 'ax/prove-runner' anymore.
  11440. * ax/prove-runner: Delete.
  11441. 2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  11442. tests: move most helper scripts and files into the 'ax' subdirectory
  11443. * tests/defs-static.in ($am_testauxdir): New variable.
  11444. * tests/testsuite-summary-checks.sh: Moved ...
  11445. * tests/ax/testsuite-summary-checks.sh: ... here.
  11446. * tests/trivial-test-driver: Moved ...
  11447. * tests/ax/trivial-test-driver: ... here.
  11448. * tests/tap-summary-aux.sh: Moved ...
  11449. * tests/ax/tap-summary-aux.sh: ... here.
  11450. * tests/distcheck-hook-m4.am: Moved ...
  11451. * tests/ax/distcheck-hook-m4.am: ... here.
  11452. * tests/prove-runner: Moved ...
  11453. * tests/ax/prove-runner: ... here.
  11454. * tests/depcomp.sh: Moved ...
  11455. * tests/ax/depcomp.sh: ... here.
  11456. * tests/tap-setup.sh: Moved ...
  11457. * tests/ax/tap-setup.sh: ... here.
  11458. * tests/tap-functions.sh: Moved ...
  11459. * tests/ax/tap-functions.sh: ... here.
  11460. * tests/plain-functions.sh: Moved ...
  11461. * tests/ax/plain-functions.sh: ... here.
  11462. * tests/extract-testsuite-summary: Moved ...
  11463. * tests/ax/extract-testsuite-summary.pl: .. . here.
  11464. * tests/gen-testsuite-part: Adjusted accordingly.
  11465. * tests/Makefile.am: Likewise.
  11466. * tests/defs: Likewise.
  11467. * syntax-check.mk: Likewise.
  11468. * Several tests: Likewise.
  11469. 2012-04-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  11470. maint: remove most recursion in automake's own build system
  11471. Recursive make-based build systems tend to be slower, more fragile
  11472. and less faithful than "flat" ones. See Peter Miller's article
  11473. "Recursive Make Considered Harmful" for more a more in-depth
  11474. discussion:
  11475. <http://miller.emu.id.au/pmiller/books/rmch/>
  11476. While in the case of automake this isn't a big problem (given the
  11477. small size of its build systems), it still creates occasional
  11478. glitches and annoyances.
  11479. With this change, the use of recursion in Automake's own build
  11480. system is eliminated *but for the testsuite*. Converting that
  11481. is a little more tricky, and better left for a later change (or
  11482. series of changes).
  11483. See also commit v1.11-769-gfeeb7f6 of 28-03-2012.
  11484. * contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am,
  11485. doc/Makefile.am: Removed, their content merged ...
  11486. * Makefile.am: ... here, with required adjustments and few
  11487. other "opportunistic" changes.
  11488. (SUBDIRS): Update.
  11489. * configure.ac (AC_CONFIG_FILES): Likewise.
  11490. * .gitignore: Likewise.
  11491. 2012-04-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  11492. tests: fix a spurious failures with non-GNU make
  11493. * tests/instdir-no-empty.test: Also pass proper AM_MAKEFLAGS to
  11494. make invocations that might recurse, to ensure the macro definitions
  11495. passed from the command line are properly propagated.
  11496. 2012-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  11497. texinfo: warn about future use of '--tidy'
  11498. Starting from the next major release of Automake (likely 1.13) we
  11499. want to start passing the '--tidy' option to texi2dvi and texi2pdf
  11500. invocations, so that auxiliary TeX-generated files can be kept
  11501. around (thus speeding up rebuilding of DVI and PDF output) without
  11502. cluttering the build directory too much.
  11503. Since the '--tidy' option was introduced in Texinfo 4.9 (as
  11504. documented in the Texinfo distribution's NEWS file), this also
  11505. means that Makefiles generated by future Automake versions will
  11506. require at least that version of Texinfo (at the time of writing
  11507. four years and nine months old).
  11508. The users should be warned about the planned behavioral change
  11509. and the new version requirement it will entail.
  11510. See also automake bug#11146.
  11511. * NEWS (Planned Backward Incompatibilities): Add entry about use
  11512. of the '--tidy' option and requirement of Texinfo 4.9.
  11513. 2012-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  11514. texinfo: don't clutter the builddir when using modern texi2dvi
  11515. In modern versions of texi2dvi (at least since version 1.135, which
  11516. comes with Texinfo 4.13) the '-o' option does not imply anymore the
  11517. '--clean' option. As a consequence, lots of TeX-generated auxiliary
  11518. files are now left in the build directory by the 'pdf', 'ps' and
  11519. 'dvi' rules.
  11520. This is especially annoying with non-recursive setups having the
  11521. '.texi' files in a subdirectory, as in:
  11522. info_TEXINFOS = doc/foo.texi
  11523. In this case, the stray auxiliary files are left in the top build
  11524. directory (since TeX is run from there). See for example:
  11525. <http://lists.gnu.org/archive/html/bug-bison/2012-04/msg00002.html>
  11526. See also automake bug#11146.
  11527. * lib/am/texibuild.am: Call 'texi2dvi' and 'texi2pdf' with the
  11528. '--clean' option. Update comments accordingly.
  11529. * tests/txinfo-noclutter.test: New test.
  11530. * tests/txinfo18.test: Remove as obsolete, the still relevant parts
  11531. of it moved into the new test.
  11532. * tests/list-of-tests.mk: Adjust.
  11533. * NEWS: Update.
  11534. 2012-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  11535. hacking: autotools-generated files are not committed anymore
  11536. * HACKING (Working with git) Generated files like 'configure',
  11537. 'Makefile.in' and 'aclocal.m4' are not committed anymore in our
  11538. git repository since some months. Remove obsoleted advices that
  11539. assumed they still were.
  11540. 2012-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  11541. hacking: simplify documentation of bootstrapping process
  11542. * HACKING (Working with git): Do not suggest that, to ensure the
  11543. bootstrapping process is performed with the latest autotools, the
  11544. developer could explicitly pass $AUTOCONF and $AUTOM4TE in the
  11545. environment to the ./bootstrap and ./configure invocations: that
  11546. is a little tricky and quite fragile. Instead, suggest to just
  11547. put modern-enough version of the autotools early in PATH.
  11548. 2012-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  11549. cosmetics: remove repeated line in comment, fix quoting
  11550. * automake.in: Drop a repeated line in a comment. In the same
  11551. comment, prefer quoting 'like this' rather than `like this'.
  11552. Issue introduced in one of the commits that converted from quoting
  11553. `like this' to quoting 'like this'.
  11554. 2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  11555. cosmetics: remove useless import in automake script
  11556. * automake.in (Automake::Version): This import is not needed;
  11557. remove it.
  11558. 2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  11559. Merge branch 'maint'
  11560. * maint:
  11561. docs: deprecate 'cygnus' mode, help the transition
  11562. 2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  11563. docs: deprecate 'cygnus' mode, help the transition
  11564. Support for "Cygnus-style" trees (so far enabled by the 'cygnus'
  11565. option) will be deprecated in one release of the next major series
  11566. (1.12.x) and removed in the next major release after that (1.13).
  11567. Better to start warning about this in the manual.
  11568. * docs/automake.texi: Warn about the oncoming deprecation of the
  11569. 'cygnus' mode. Suggest some idioms that can be used to retain some
  11570. effects of the 'cygnus' option.
  11571. * THANKS: Update.
  11572. From a suggestion by Joseph S. Myers in automake bug#11034.
  11573. 2012-03-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  11574. perl refactor: use modern semantics of 'open'
  11575. * lib/Automake/XFile.pm: Update comments and POD documentation to
  11576. suggest a more idiomatic/modern usage.
  11577. (open): Be more robust in detecting whether the created file handle
  11578. is being opened for writing.
  11579. * lib/Automake/FileUtils.pm (update_file, contents): Call the
  11580. 'Automake::XFile' and 'File::IO' constructors with two arguments
  11581. rather than one; this change obsoletes ...
  11582. (open_quote): ... this subroutine, which has thus been removed.
  11583. (@EXPORT): Drop '&open_quote'.
  11584. 2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  11585. Merge branch 'maint'
  11586. * maint:
  11587. cosmetics: don't make the generated Config.pm executable
  11588. maint: reduce use of recursion in automake build system
  11589. + Extra non-trivial extra edits follows.
  11590. * lib/Makefile.am (amdir): Deleted this definition, it is already
  11591. provided by a proper AC_SUBST in configure.ac.
  11592. (dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and
  11593. 'am/multilib.am'.
  11594. (dist_perllib_DATA): Remove 'Automake/Struct.pm'.
  11595. 2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  11596. cosmetics: don't make the generated Config.pm executable
  11597. * lib/Makefile.am (Automake/Config.pm): Don't make this executable,
  11598. there's not need for it to be (it's a perl module, not a script).
  11599. 2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  11600. maint: reduce use of recursion in automake build system
  11601. Recursive make-based build systems tend to be slower, more fragile
  11602. and less faithful than "flat" ones. See Peter Miller's article
  11603. "Recursive Make Considered Harmful" for more a more in-depth
  11604. discussion:
  11605. <http://miller.emu.id.au/pmiller/books/rmch/>
  11606. While in the case of automake this isn't a big problem (given the
  11607. small size of its build systems), it still creates occasional
  11608. glitches and annoyances. So, with this change, we start making
  11609. less use of make recursion in the Automake's own build system
  11610. (future changes will reduce it even more).
  11611. * lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their
  11612. content merged ...
  11613. * lib/Makefile.am: ... here, with required adjustments.
  11614. * configure.ac (AC_CONFIG_FILES): Update.
  11615. 2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  11616. news: sync with branch-1.11, fix mis-merges
  11617. 2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  11618. acinstall: remove, it has never been really used
  11619. Accordingly to the git history (see for example the 'README-alpha'
  11620. in commit 'Release-1-1e-39-g9beb4ec' of 06-10-1996), the 'acinstall'
  11621. script should have been used to install m4 files for aclocal. The
  11622. comments in this script report that "... A script is needed to do
  11623. this because we want to do serial-number checking; newer versions
  11624. of macro files should always be preferred".
  11625. But the 'acinstall' script has never been really used: for example,
  11626. the entry "actually use acinstall program" was removed (unfixed)
  11627. from the TODO file in commit 'Release-1-1k-12-g1201405' of
  11628. 08-12-1996, and the only citation of 'acinstall' in the manual was
  11629. removed in commit 'Release-1-1l-37-g128c3d7' of 19-03-1997, and
  11630. never added back. In addition, the last non-trivial edit to the
  11631. script (that is, besides updates to the copyright notice) dates
  11632. back to 1996.
  11633. More importantly, now that aclocal supports the ACLOCAL_PATH
  11634. environment variable, installing m4 files directly in the
  11635. system-wide acdir is discouraged, and better left only to
  11636. distros' package managers (which already have their own way to
  11637. do so, with which third-party build systems should not directly
  11638. meddle).
  11639. So we just remove the 'acinstall' script.
  11640. * lib/acinstall: Remove.
  11641. * lib/Makefile.am (dist_script_DATA): Update.
  11642. 2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  11643. maint: reorganize the source tree and make it less cluttered
  11644. * TODO: Move ...
  11645. * old/TODO: ... here. This is done because this file is quite
  11646. outdated, and today TODO and wishlist items are better handled
  11647. though the debbugs tracker.
  11648. * ChangeLog.00: Move ...
  11649. * old/ChangeLog.00: ... here.
  11650. * ChangeLog.01: Move ...
  11651. * old/ChangeLog.01: ... here.
  11652. * ChangeLog.02: Move ...
  11653. * old/ChangeLog.02: ... here.
  11654. * ChangeLog.03: Move ...
  11655. * old/ChangeLog.03: ... here.
  11656. * ChangeLog.04: Move ...
  11657. * old/ChangeLog.04: ... here.
  11658. * ChangeLog.09: Move ...
  11659. * old/ChangeLog.09: ... here.
  11660. * ChangeLog.11: Move ...
  11661. * old/ChangeLog.11: ... here.
  11662. * ChangeLog.96: Move ...
  11663. * old/ChangeLog.96: ... here.
  11664. * ChangeLog.98: Move ...
  11665. * old/ChangeLog.98: ... here.
  11666. * tests/ChangeLog-old: Move ...
  11667. * old/ChangeLog-tests: .. here.
  11668. * tests/Makefile.am (EXTRA_DIST): Adjust.
  11669. * Makefile.am (EXTRA_DIST): Likewise.
  11670. * .autom4te.cfg: New file, instructing the autotools to place the
  11671. autom4te cache directory in '.autom4te.cache' rather than in
  11672. 'autom4te.cache'.
  11673. * .gitignore: Adjust.
  11674. * Makefile.am (maintainer-clean-local): Remove the '.autom4te.cache'
  11675. directory.
  11676. 2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  11677. news: we are going to drop 'cygnus' soonish
  11678. * NEWS (Future backward incompatibilities): Support for
  11679. "Cygnus-style" trees (so far enabled by the 'cygnus' option)
  11680. will be deprecated in the next minor release and removed in
  11681. in the next major release.
  11682. 2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  11683. Merge branch 'maint'
  11684. * maint:
  11685. depcomp: support tcc (Tiny C Compiler)
  11686. tests: workaround for automatic linker determination and conditionals
  11687. info: allow user to inhibit pruning of '${infodir}/dir'
  11688. vala tests: fix spurious failures with older valac (<= 0.7.2)
  11689. tests: fix a timestamp issue, and other minor buglets
  11690. tests: fix spurious failure with older autoconf
  11691. build: remove duplicated entries in $(TESTS)
  11692. + Extra non-trivia edits:
  11693. * tests/link_cond.test: Use 'configure.ac', not 'configure.in'.
  11694. 2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  11695. depcomp: support tcc (Tiny C Compiler)
  11696. This change fixes automake bug#11007.
  11697. Since git commit 0c928da9 of 21-06-2010, "tcc: Draft suppoprt for
  11698. -MD/-MF options" (sic, with typo in summary line), tcc has supported
  11699. automatic dependency generation with a command-line interface
  11700. similar to what old (pre-8.0) Intel compilers did. This caused
  11701. Automake-generated code for automatic dependency tracking to
  11702. recognize tcc dependency style as "icc". However, the format of
  11703. the dependency files generated by tcc is apparently different enough
  11704. from that of icc to cause spurious failures in the post-processing
  11705. operated by our 'depcomp' script on such files.
  11706. The failure was exposed with the development version of tcc 0.9.26
  11707. (as installed with debian package "tcc 0.9.26~git20120104.83d") by
  11708. test case 'depcomp-auto.tap' (available only in the master branch).
  11709. * lib/depcomp (icc): Cater to tcc as well. Update comments
  11710. accordingly.
  11711. * NEWS: Update.
  11712. 2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  11713. tests: workaround for automatic linker determination and conditionals
  11714. See automake bug#11089.
  11715. Automake is not very smart in automatically determining the command
  11716. to be used to link a program whose source files' languages are
  11717. conditionally defined. For example, an input like:
  11718. if HAVE_CXX
  11719. foo_SOURCES = more.c++
  11720. else
  11721. foo_SOURCES = less.c
  11722. endif
  11723. will cause the build rules for 'foo' to *unconditionally* use the
  11724. C++ compiler for linking, even when the 'HAVE_CXX' conditional
  11725. evaluates to false (which might mean that no C++ compiler is
  11726. available).
  11727. This behaviour is not really correct, but it's easy enough to work
  11728. around, and it's only relevant for fringe use cases (at best). So
  11729. let's just test that the workaround really works.
  11730. * tests/link_cond.test: New test.
  11731. * tests/list-of-tests.mk: Add it.
  11732. * THANKS: Update.
  11733. 2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  11734. info: allow user to inhibit pruning of '${infodir}/dir'
  11735. This should have ideally been part of commit 'v1.11-519-g1ec1668'
  11736. of 23-11-2011 "info: allow user to inhibit creation/update of
  11737. '${infodir}/dir'". Well, better late than never.
  11738. * lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the
  11739. output of "install-info --version" to decide whether to use it to
  11740. update the '${infodir}/dir' or not; instead, honour the environment
  11741. variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ...
  11742. (install-info-am): ... the recipe of this target, move common code
  11743. out to ...
  11744. (am__can_run_installinfo): ... this new internal variable.
  11745. * tests/install-info-dir.test: Enhance.
  11746. * doc/automake.texi (Texinfo): Update.
  11747. * NEWS: Likewise.
  11748. 2012-03-26 Bruno Haible <bruno@clisp.org>
  11749. Stefano Lattarini <stefano.lattarini@gmail.com>
  11750. vala tests: fix spurious failures with older valac (<= 0.7.2)
  11751. See automake bug#11093.
  11752. The Vala compiler before the 0.7.3 release does not support the
  11753. '--profile' option. But some of our tests were relying on it, so
  11754. skip those tests if the detected Vala compiler is too old.
  11755. * tests/vala-vpath.test, tests/vala-mix.test, tests/vala-mix2.test
  11756. (configure.in): Require vala version >= 0.7.3 in AM_PROG_VALAC call.
  11757. 2012-03-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  11758. tests: fix a timestamp issue, and other minor buglets
  11759. Cherry picked from commit v1.11-1988-g82616f0 of 21-02-2012.
  11760. Reported by Panther Martin in automake bug#10848. See also
  11761. automake bug#11093.
  11762. * tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
  11763. to avoid spurious failures on fast systems without sub-second
  11764. timestamp resolutions. Add other minor related and unrelated
  11765. improvements and fixlets since we are at it.
  11766. 2012-03-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  11767. tests: fix spurious failure with older autoconf
  11768. Cherry picked from commit v1.11-1950-gba5a89b of 16-02-2012.
  11769. * tests/conffile-leading-dot.test: Relax grepping of 'config.status'
  11770. stderr, to cater for older autoconf. Issue revealed by a failure
  11771. with autoconf 2.63 on Cygwin 1.5.25. See also automake bug#11093.
  11772. 2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  11773. fixup: update THANKS
  11774. * THANKS: Add entry for Tim Landscheidt.
  11775. 2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  11776. docs: terminate unfinished sentence, fix reference to a test case
  11777. * doc/automake.texi (Using the TAP test protocol): Here.
  11778. 2012-03-24 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change)
  11779. docs: fix some small typos and grammaros
  11780. * doc/automake.texi (Using the TAP test protocol): Here ...
  11781. * tests/tap-doc2.test: ... and here.
  11782. 2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  11783. build: remove duplicated entries in $(TESTS)
  11784. * tests/list-of-tests.mk (handwritten_TESTS): Remove duplicated
  11785. entries for test cases 'extra-portability*.test'.
  11786. 2012-03-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  11787. maint: update TODO file
  11788. We don't have to make creation of $(foodir) conditional when
  11789. foo_PRIMARY is conditionally defined; that has been solved in
  11790. a more sweeping way by commit v1.11-759-g368f1c4 of March 18,
  11791. which solved bug#11030 and bug#10997.
  11792. The "check" target already depends on the "all" target.
  11793. Remove comment "investigate problems with conditionally defined
  11794. libraries"; it is aimed at automake 1.5 (!) and too terse and old
  11795. to be useful now.
  11796. Remove the 12 years old suggestion that "distcheck should make sure
  11797. that each file that uses _() is listed in POTFILES.in"; this is
  11798. handled by gnulib-provided syntax check 'sc_po_check' already today.
  11799. Don't tell to "Run automake before libtool"; automake does not
  11800. automatically run libtool anymore today.
  11801. Remove hint about the possibility to "rewrite automake in guile" or
  11802. "add a GUI": we are not going to do so.
  11803. The automatic de-ANSI-fication feature has already been remove, so
  11804. no need to suggest its potential removal in the future.
  11805. Remove reference to a prospective "cvs" option that could add some
  11806. cvs-specific rules. First of all, CVS is falling out of use today.
  11807. Secondly, and most to the point, instead of guessing which VCS
  11808. is going to be most popular and try to hack support for it into
  11809. automake, we should leave it to developer-specific makefile
  11810. fragments offered by projects like Gnulib to provide such rules
  11811. (they are already doing so with succcess).
  11812. About DOS support: it should actually be dropped, not extended.
  11813. Add link about Karl Berry's proposal of preferring HTML over Info
  11814. documentation installed in the local system:
  11815. <http://lists.gnu.org/archive/html/texinfo-devel/2012-03/msg00018.html>
  11816. Remove items about "beautification" of output Makefile.in; they
  11817. are pretty obvious, and mostly noise (after all, everybody prefers
  11818. clean output where possible). Leave it to any developer doing
  11819. future refactorings to find out low-hanging and/or high-impact
  11820. optimizations and beatifications of the generated Makefiles.
  11821. Remove item about internationalization: we're not going to
  11822. implement it.
  11823. Remove an item explicitly marked as "not that it matters".
  11824. The order of files in a distribution tarball does not really
  11825. matter, nobody has ever complained about it, so do not worry
  11826. about it.
  11827. Remove the suggestions about allowing hierarchy of dirs to share
  11828. one aclocal.m4 and about printing full file name of Makefile.am
  11829. or configure.in when giving error, in order to help very large
  11830. trees: nobody has ever complained about the current behaviours,
  11831. so no real need to change them.
  11832. 2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  11833. fixup: bootstrapping issues with 'list-of-tests.mk'
  11834. * tests/list-of-tests.mk: This file is expected to be executed
  11835. directly with make from the bootstrap script, so we can't use
  11836. Automake '##' comments after line continuations.
  11837. 2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  11838. Merge branch 'maint'
  11839. * maint:
  11840. maint: move definition of XFAIL_TESTS near TESTS
  11841. Actually, after the trivial merge conflicts have been solved, what
  11842. this change actually does is moving the definition of XFAIL_TESTS
  11843. near that of handwritten_TESTS. But the rationale is the same of
  11844. that of commit 'v1.11-761-gabf40ce' (being merged here), and still
  11845. works, so all is good.
  11846. 2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  11847. maint: move definition of XFAIL_TESTS near TESTS
  11848. The $(TESTS) variable is defined in file 'tests/list-of-tests.mk',
  11849. while the $(XFAIL_TESTS) variable is defined in 'tests/Makefile.am'.
  11850. This means that when a new xfailing test is to be added, two files
  11851. must be touched; this is suboptimal and slightly confusing.
  11852. * tests/Makefile.am (XFAIL_TESTS): Definition moved ...
  11853. * tests/list-of-tests.mk: ... here.
  11854. 2012-03-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  11855. tests: fix spurious failures caused by uses of 'configure.in'
  11856. Issue introduced by the recent merges of maint into master, and
  11857. revealed by "make maintainer-check".
  11858. * tests/aclocal-install-fail.test: Likewise.
  11859. * tests/aclocal-install-mkdir.test: Likewise.
  11860. * tests/aclocal-verbose-install.test: Likewise.
  11861. * tests/installdir.test: Likewise.
  11862. * tests/instdir-cond2.test: Likewise.
  11863. * tests/instdir-no-empty.test: Likewise.
  11864. * tests/python-pr10995.test: Likewise.
  11865. * tests/aclocal-no-install-no-mkdir.test: Likewise.
  11866. 2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  11867. Merge branch 'maint'
  11868. * maint:
  11869. install-mans: avoid spurious failure with NetBSD make
  11870. install: don't create empty dirs when an empty 'foo_PRIMARY' is used
  11871. aclocal: remove a couple of useless imports
  11872. aclocal: create local directory where to install m4 files
  11873. 2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  11874. install-mans: avoid spurious failure with NetBSD make
  11875. * lib/am/mans.am: After the changes introduced by previous commit
  11876. v1.11-759-g368f1c4, some manpage installation recipes started to
  11877. fail spuriously on NetBSD 5.1 make. Apparently, the system make
  11878. there eats backslashes used to escape whitespace characters in the
  11879. relevant recipes. Revert to slightly slower but safer idioms that
  11880. avoid the need of such escaping.
  11881. 2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  11882. install: don't create empty dirs when an empty 'foo_PRIMARY' is used
  11883. Fixes automake bug#11030 and bug#10997.
  11884. An empty declaration of "foo_PRIMARY" in a Makefile.am used to
  11885. cause the generated install rules to create the directory $(foodir)
  11886. anyway, even if nothing was to be installed there.
  11887. While this could be seen as a convenient way to create a $(foodir)
  11888. directory upon "make install" (respecting $(DESTDIR) settings and
  11889. such), it also caused problems with conditionals; for example, an
  11890. input of:
  11891. if FALSE
  11892. pgkdata_DATA = something
  11893. endif
  11894. caused the generated install rules to unconditionally create the
  11895. $(pkgdatadir) directory (see automake bug#10997).
  11896. Also, a user wanting to create an empty directory upon installation
  11897. can easily do so with a custom install hook, as in:
  11898. installdirs-local:
  11899. $(MKDIR_P) $(DESTDIR)$(foodir)
  11900. install-data-hook: installdirs-local
  11901. On the other hand, the old behavior of "always create $(foodir),
  11902. even if 'foo_PRIMARY' is empty" was harder and more tricky to
  11903. override.
  11904. Thus, from now on, an empty declaration of "foo_PRIMARY" will not
  11905. cause the directory $(foodir) to be created upon "make install"
  11906. anymore.
  11907. * lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am,
  11908. lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am,
  11909. lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid
  11910. creating an installation directory if no files are actually to be
  11911. installed there.
  11912. * tests/instdir-empty.test: Remove, it was testing a semantic
  11913. opposite to the one we now want and implement.
  11914. * tests/instdir-no-empty.test: New test, check the new semantic.
  11915. * tests/instdir-cond.test: Enhance. Move the still-failing part
  11916. of the test ...
  11917. * tests/instdir-cond2.test: ... here.
  11918. * tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update.
  11919. * tests/java3.test: Adjust to avoid spurious failures.
  11920. * HACKING, NEWS, THANKS: Update.
  11921. 2012-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  11922. aclocal: remove a couple of useless imports
  11923. * aclocal.in (File::stat, Cwd): Remove these imports, they are not
  11924. really required.
  11925. 2012-03-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  11926. aclocal: create local directory where to install m4 files
  11927. Fixes automake bug#8168 and bug#10816.
  11928. A call like "aclocal -I m4 --install" used to fail if the 'm4'
  11929. directory wasn't pre-existing. This could be particularly
  11930. annoying when running in a checked-out version from a VCS like
  11931. git, which doesn't allow empty directories to be tracked.
  11932. * aclocal.in (File::Path): New import.
  11933. (scan_m4_dirs): Don't die if the first directory of type FT_USER
  11934. doesn't exist and the '--install' option was given; that directory
  11935. will be created later ...
  11936. (install_file): ... here. Change signature of this function: now
  11937. it takes as second argument the destination directory rather than
  11938. the destination file. Crate the destination directory if it
  11939. doesn't already exist. In verbose mode, tell what is being copied
  11940. where.
  11941. (write_aclocal): Update to the changes in 'install_file'.
  11942. * NEWS, THANKS: Update.
  11943. * tests/aclocal-install-fail.test: New test.
  11944. * tests/aclocal-install-mkdir.test: Likewise.
  11945. * tests/aclocal-no-install-no-mkdir.test: Likewise.
  11946. * tests/aclocal-verbose-install.test: Likewise.
  11947. * tests/list-of-tests.mk: Add them.
  11948. 2012-03-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  11949. Merge branch 'maint'
  11950. * maint:
  11951. python: avoid failures due to $(am__py_compile) being undefined
  11952. python: expose automake bug#10995
  11953. 2012-03-15 Steven Drake <sbd@NetBSD.org> (tiny change)
  11954. python: avoid failures due to $(am__py_compile) being undefined
  11955. Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf.
  11956. * lib/am/python.am: Move the definition of 'am__py_compile' to
  11957. ensure it is always emitted in the output Makefile.in. Previously,
  11958. this wouldn't have happened if the input Makefile.am contained a
  11959. 'noinst_PYTHON' declaration before a 'python_PYTHON' one.
  11960. * tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and
  11961. 'python.test'.
  11962. * NEWS: Update.
  11963. 2012-03-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  11964. python: expose automake bug#10995
  11965. * tests/python.test: Expose the bug in grepping tests.
  11966. * tests/python-noinst.test: New functional test to expose the
  11967. bug.
  11968. * tests/list-of-tests.mk: Add it.
  11969. * tests/Makefile.am (XFAIL_TESTS): Add the new test and the
  11970. extended one.
  11971. * THANKS: Update.
  11972. 2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  11973. tests: one more use of 'unindent' function
  11974. * tests/yacc-d-cxx.test (write_parse, write_main): Use 'unindent'
  11975. instead of ad-hoc sed invocation to strip extra leading whitespace.
  11976. 2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  11977. tests: remove redundant 'set -e' calls
  11978. * tests/dist-pr109765.test: Do not set the 'errexit' shell flag,
  11979. as it is already set by 'tests/defs'.
  11980. * tests/instdir-cond.test: Likewise.
  11981. * tests/instdir-empty.test: Likewise.
  11982. * tests/lex-clean-cxx.test: Likewise.
  11983. * tests/lex-clean.test: Likewise.
  11984. * tests/lex-depend-cxx.test: Likewise.
  11985. * tests/lex-depend.test: Likewise.
  11986. * tests/lex-line.test: Likewise.
  11987. * tests/lex-nodist.test: Likewise.
  11988. * tests/lex-pr204.test: Likewise.
  11989. * tests/silent-lex.test: Likewise.
  11990. * tests/silent-yacc-headers.test: Likewise.
  11991. * tests/silent-yacc.test: Likewise.
  11992. * tests/vala-mix2.test: Likewise.
  11993. * tests/yacc-auxdir.test: Likewise.
  11994. * tests/yacc-bison-skeleton-cxx.test: Likewise.
  11995. * tests/yacc-bison-skeleton.test: Likewise.
  11996. * tests/yacc-clean-cxx.test: Likewise.
  11997. * tests/yacc-cxx.test: Likewise.
  11998. * tests/yacc-d-cxx.test: Likewise.
  11999. * tests/yacc-deleted-headers.test: Likewise.
  12000. * tests/yacc-depend.test: Likewise.
  12001. * tests/yacc-depend2.test: Likewise.
  12002. * tests/yacc-line.test: Likewise.
  12003. * tests/yacc-mix-c-cxx.test: Likewise.
  12004. * tests/yacc-weirdnames.test: Likewise.
  12005. 2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  12006. Merge branch 'maint'
  12007. * maint:
  12008. tests: avoid spurious failures in get-sysconf.test
  12009. scripts: bump the depcomp scriptversion
  12010. sync: some auxiliary files synced from upstream
  12011. coverage: an empty foo_PRIMARY should create directory $(foodir)
  12012. coverage: make sure am__py_compile is defined when needed
  12013. coverage: expose automake bug#10997
  12014. coverage: expose automake bug#10975
  12015. getopt: relax version requirement for perl
  12016. + Extra non-trivial edits:
  12017. * tests/dist-pr109765.test: Use 'configure.ac', not 'configure.in'.
  12018. * tests/instdir-cond.test: Likewise.
  12019. * tests/instdir-empty.test: Likewise.
  12020. 2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  12021. tests: fix spurious failure with older m4
  12022. Reported by Panther Martin in automake bug#10866, diagnosed by
  12023. Panther Martin and Eric Blake.
  12024. Older GNU m4 versions (e.g., 1.4.6) did error reporting at the end
  12025. of an error construct rather than the beginning. This was causing
  12026. a spurious testsuite failure due to an off-by-one error in the line
  12027. number reported in an aclocal diagnostic.
  12028. * tests/cond41.test: Keep all the body of the 'AM_COND_IF'
  12029. invocation on a single line, to avoid the off-by-one error.
  12030. 2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  12031. tests: avoid spurious failures in get-sysconf.test
  12032. This change fixes the last bit of automake bug#10866.
  12033. * tests/get-sysconf.test: When Homebrew spawns a build, even if
  12034. from a project's VCS, it stages the files in a new temporary
  12035. directory, instead of building directly from a VCS checkout.
  12036. This behaviour was causing a spurious failure in this test, which
  12037. expected to find either a ChangeLog file or a .git directory in
  12038. the source directory (the former happening when the test was run
  12039. from a distribution tarball, the latter when it was run from a
  12040. git checkout). The Homebrew issue shows that these expectations
  12041. are not truly warranted, so relax the test to just give a warning,
  12042. not a failure, in case they do not hold. Since we are at it, fix
  12043. an unrelated weakness in the displaying of the git log, which
  12044. could have failed when the builddir was not a subdirectory of the
  12045. srcdir.
  12046. 2012-03-12 Peter Rosin <peda@lysator.liu.se>
  12047. scripts: bump the depcomp scriptversion
  12048. * lib/depcomp (scriptversion): Bump, to account for recent changes.
  12049. 2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  12050. sync: some auxiliary files synced from upstream
  12051. * lib/texinfo.tex: Synced from upstream, by "make fetch".
  12052. * lib/config.guess: Likewise.
  12053. * lib/config.sub: Likewise.
  12054. * lib/gnupload: Likewise.
  12055. 2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  12056. coverage: an empty foo_PRIMARY should create directory $(foodir)
  12057. For example, a Makefile.am containing the definition:
  12058. pkgdata_DATA =
  12059. should cause the 'install' rule of the generated Makefile.in to
  12060. create the '$(pkgdatadir)' directory (respecting any DESTDIR
  12061. setting as well).
  12062. Suggestion by Peter Breitenlohner in automake bug#10997.
  12063. 2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  12064. coverage: make sure am__py_compile is defined when needed
  12065. See automake bug#10995.
  12066. * tests/python.test: Also make sure 'am__py_compile' is defined
  12067. correctly in the generated Makefile.in.
  12068. 2012-03-12 Daiki Ueno <ueno@unixuser.org> (tiny change)
  12069. coverage: expose automake bug#10997
  12070. * tests/instdir-cond.test: New test.
  12071. * tests/list-of-tests.mk: Add it.
  12072. * tests/Makefile.am (XFAIL_TESTS): Likewise.
  12073. 2012-03-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  12074. coverage: expose automake bug#10975
  12075. * tests/dist-pr10975.test: New test.
  12076. * tests/list-of-tests.mk: Add it.
  12077. * tests/Makefile.am (XFAIL_TESTS): Likewise.
  12078. 2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  12079. getopt: relax version requirement for perl
  12080. * lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former
  12081. is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated
  12082. 04-03-2012).
  12083. 2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  12084. Merge branch 'maint'
  12085. * maint:
  12086. cosmetics: fix repeated changelog entry heading
  12087. 2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  12088. cosmetics: fix repeated changelog entry heading
  12089. 2012-03-07 Peter Rosin <peda@lysator.liu.se>
  12090. Merge branch 'maint'
  12091. 2012-03-07 Peter Rosin <peda@lysator.liu.se>
  12092. Merge branch 'msvc' into maint
  12093. This merge remedies the confusing situation that some changes
  12094. destined for both the master branch and the release branch (a.k.a.
  12095. branch-1.11) currently needs to be made on the non-obvious msvc
  12096. branch and not on the more natural maint branch. This has caused
  12097. a seemingly endless string of less than optimal commits.
  12098. The reason for the confusion stems from the fact that the changes made
  12099. on the msvc branch became too radical and was considered only suitable
  12100. for the master branch, and was thus written in a form suitable for
  12101. master and then merged there. Later, the msvc branch was merged
  12102. directly into branch-1.11, in order to rush the new features to the
  12103. market and to keep the released scripts (lib/ar-lib, lib/compile and
  12104. lib/depcomp) consistent with those on the master branch. However,
  12105. some changes had to be made to the features added by the msvc branch
  12106. in order for them to fit the requirements of branch-1.11, notably that
  12107. the warnings issued in the extra-portability class cannot be enabled
  12108. by -Wall in the 1.11.x maintenance releases.
  12109. In retrospect, it would have been better to not merge msvc directly
  12110. into branch-1.11, but instead do it via the maint branch (followed up
  12111. with a dummy merge from maint into master) the moment it was decided
  12112. that the msvc changes should make it into branch-1.11.
  12113. All in all, this merge is going to affect neither the master branch
  12114. nor branch-1.11, since it is followed up with dummy merges masking all
  12115. changes. The merge is made to maintain the sanity of the poor
  12116. developers, who wishes to once again have a working maint branch.
  12117. Discussion about merging the msvc branch into branch-1.11:
  12118. http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html
  12119. Discussion about why this merge hasn't happened before:
  12120. http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html
  12121. Extra edits below.
  12122. * lib/Automake/ChannelDefs.pm: Use the version from branch-1.11.
  12123. * tests/ar-lib3.test: Likewise.
  12124. * tests/ar-lib4.test: Likewise.
  12125. * tests/extra-portability.test: Likewise.
  12126. * tests/extra-portability2.test: Likewise.
  12127. * tests/extradep.test: Likewise.
  12128. * tests/extradep2.test: Likewise.
  12129. * tests/list-of-tests.mk: Likewise.
  12130. * HACKING: Backport the version from branch-1.11 while at it (as the
  12131. change on branch-1.11 is also present on master via an unrelated
  12132. commit), even though this change has nothing to do with the changes
  12133. on the msvc branch.
  12134. 2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  12135. tests: remove useless sleep from tests on remake rules
  12136. The sleeps were there to make generated autotools files strictly
  12137. newer than their sources; however, this is not necessary, since
  12138. POSIX mandates that make considers files with the same timestamp
  12139. of their dependencies to be up-to-date.
  12140. * tests/remake9a.test: Remove useless $sleep.
  12141. * tests/remake9b.test: Likewise.
  12142. * tests/remake9c.test: Likewise.
  12143. * tests/remake9d.test: Likewise.
  12144. * tests/remake10a.test: Likewise.
  12145. * tests/remake10b.test: Likewise.
  12146. * tests/remake10c.test: Likewise.
  12147. 2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  12148. Merge branch 'msvc' into master (dummy merge)
  12149. 2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  12150. Merge branch 'maint' into msvc
  12151. * maint:
  12152. news: describe recently-fixed bug in vala support
  12153. depcomp: add support for IBM xlc/xlC compilers
  12154. 2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  12155. Merge remote-tracking branch 'origin/master'
  12156. 2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  12157. Merge branch 'maint'
  12158. * maint:
  12159. news: describe recently-fixed bug in vala support
  12160. depcomp: add support for IBM xlc/xlC compilers
  12161. 2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  12162. news: describe recently-fixed bug in vala support
  12163. * NEWS (Long-standing bugs): Document fix for bug#10894, fixed
  12164. by commit 'v1.11-696-g51f61df' of 27-02-2012.
  12165. 2012-03-06 Michael Hofmannm <hofma@googlemail.com> (tiny change)
  12166. depcomp: add support for IBM xlc/xlC compilers
  12167. * lib/depcomp (xlc): New depmode.
  12168. * NEWS, THANKS: Update.
  12169. 2012-03-06 Peter Rosin <peda@lysator.liu.se>
  12170. tests: do not clobber the $CC set by AM_PROG_CC_C_O
  12171. If $CC is originally a losing compiler, AM_PROG_CC_C_O will
  12172. modify $CC. "$MAKE -e" will then clobber this modified $CC
  12173. and reintroduce the raw losing compiler causing the test
  12174. to fail, as subdir-objects is in effect.
  12175. * tests/yacc-dist-nobuild-subdir.test: Drop -e from the $MAKE
  12176. invocations. This is safe since DISTCHECK_CONFIGURE_FLAGS is not
  12177. specified in the Makefile and since the YACC override is carried
  12178. over from the configure invocation into the Makefile making it
  12179. redundant to specifiy it again in the environment for $MAKE.
  12180. 2012-03-06 Peter Rosin <peda@lysator.liu.se>
  12181. tests: explicitly state that our lexers do not require unistd.h
  12182. By default, GNU flex generates code that is dependent on unistd.h,
  12183. which is not portable to non-ANSI systems causing spurious test
  12184. failures.
  12185. * tests/cond35.test (tscan.l): Define YY_NO_UNISTD_H.
  12186. * tests/lex-clean.test (lexer.l): Likewise.
  12187. * tests/lex-depend.test (joe.l): Likewise.
  12188. * tests/lex-lib-external.test (foo.l): Likewise.
  12189. * tests/lex-lib.test (foo.l): Likewise.
  12190. * tests/lex-libobj.test (foo.l): Likewise.
  12191. * tests/lex-line.test (zardoz.l): Likewise.
  12192. * tests/lex-nodist.test (lexer.l): Likewise.
  12193. * tests/lex-noyywrap.test (foo.l): Likewise.
  12194. * tests/lex-pr204.test (lexer.l): Likewise.
  12195. * tests/lex-subobj-nodep.test (subl/sl.l): Likewise.
  12196. * tests/lex3.test (foo.l): Likewise.
  12197. * tests/lex5.test (foo/foo.l): Likewise.
  12198. * tests/lexvpath.test (lexer.l): Likewise.
  12199. * tests/silent-lex.test (foo.l): Likewise.
  12200. * tests/silent-many-gcc.test (foo5.l): Likewise.
  12201. * tests/silent-many-generic.test (foo5.l): Likewise.
  12202. * tests/lex-clean-cxx.test (parsefoo.lxx): Likewise. Also specify
  12203. the never-interactive option to prevent usage of the non-ANSI
  12204. function isatty(3) (from unistd.h).
  12205. * tests/lex-depend-cxx.test (joe.ll): Likewise.
  12206. * tests/README: Describe these quirks.
  12207. 2012-03-06 Peter Rosin <peda@lysator.liu.se>
  12208. Merge branch 'msvc'
  12209. * msvc:
  12210. scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
  12211. 2012-03-06 Peter Rosin <peda@lysator.liu.se>
  12212. scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
  12213. POSIX mandates that the compiler accepts a space between the -I,
  12214. -l and -L options and their respective arguments. See
  12215. http://pubs.opengroup.org/onlinepubs/000095399/utilities/c99.html
  12216. * lib/compile (func_cl_dashl): New function with factored out code
  12217. for implementing the -l option for the cl wrapper.
  12218. (func_cl_dashL): New function with factored out code implementing
  12219. the -L option for the cl wrapper.
  12220. (func_cl_wrapper): Use func_cl_dashl to implement both -l <lib>
  12221. and -l<lib>, and func_cl_dashL to implement both -L <dir> and
  12222. -L<dir>. Also add support for -I <dir>.
  12223. (scriptversion): Update.
  12224. * tests/compile3.test: Test both with and without a space between
  12225. -I, -l and -L and their respective arguments.
  12226. * tests/compile5.test: Likewise.
  12227. * tests/compile6.test: Likewise.
  12228. * tests/compile3.test: Likewise.
  12229. * NEWS: Update.
  12230. 2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  12231. maint: drop 'Automake::Struct' module
  12232. Now that we require Perl 5.6, we can drop the 'Automake::Struct'
  12233. module, which was basically just a backport of Perl 5.6's
  12234. 'Class::Struct' to Perl 5.5.
  12235. * automake.in: Use 'Class::Struct', not 'Automake::Struct'.
  12236. * lib/Automake/Struct.pm: Delete.
  12237. * lib/Automake/Makefile.am (dist_perllib_DATA): Remove it.
  12238. 2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  12239. maint: require perl 5.6 throughout
  12240. That version of perl is quite old already, so it should be OK to
  12241. require it. More importantly, it is the older perl versions the
  12242. developers can currently use for testing, thus it's safer and more
  12243. honest to just require it throughout. And anyway, we were already
  12244. requiring it in Automake::Getopt, which implied that both automake
  12245. and aclocal wouldn't have worked in practice with an older perl
  12246. version.
  12247. See also the discussion related to automake bug#10925.
  12248. * lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6.
  12249. * lib/Automake/Channels.pm: Likewise.
  12250. * lib/Automake/Condition.pm: Likewise.
  12251. * lib/Automake/Configure_ac.pm: Likewise.
  12252. * lib/Automake/DisjConditions.pm: Likewise.
  12253. * lib/Automake/FileUtils.pm: Likewise.
  12254. * lib/Automake/General.pm: Likewise.
  12255. * lib/Automake/Item.pm: Likewise.
  12256. * lib/Automake/ItemDef.pm: Likewise.
  12257. * lib/Automake/Location.pm: Likewise.
  12258. * lib/Automake/Options.pm: Likewise.
  12259. * lib/Automake/Rule.pm: Likewise.
  12260. * lib/Automake/RuleDef.pm: Likewise.
  12261. * lib/Automake/Struct.pm: Likewise.
  12262. * lib/Automake/VarDef.pm: Likewise.
  12263. * lib/Automake/Variable.pm: Likewise.
  12264. * lib/Automake/Version.pm: Likewise.
  12265. * lib/Automake/Wrap.pm: Likewise.
  12266. * lib/Automake/XFile.pm: Likewise.
  12267. 2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  12268. cosmetics: remove useless escaping for "'" character
  12269. 2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  12270. test defs: remove redundant and unused requirements
  12271. * tests/defs (xsi-bin-sh, xsi-shell): Remove these requirements,
  12272. they have never been used.
  12273. (cygpath, cscope): Recognizing these explicitly is mostly redundant;
  12274. just merge them with the default "catch all" rule, and adjust that
  12275. accordingly.
  12276. (bzip2): Adjust some outdated comments.
  12277. 2012-03-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  12278. tests: fix spurious failure on case-insensitive file systems
  12279. See automake bug#10866.
  12280. * tests/java-uninstall.test: Relax the test a little to cater to
  12281. case-insensitive file systems, like HFS+ on MacOS X.
  12282. 2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  12283. news: more about planned backward incompatibilities
  12284. * NEWS (Future backward-incompatibilities): Starting from the next
  12285. major Automake versions, the parallel testsuite driver will be used
  12286. by default, instead of the serial testsuite driver as in the past.
  12287. 2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  12288. maintcheck: fix few spurious failures
  12289. * syntax-checks.mk: Fix some spurious failures by tightening and/or
  12290. tweaking few checks so that some false positives end up whitelisted.
  12291. 2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  12292. tests: fix spurious failure due to exported MAKEINFO
  12293. * tests/txinfo30.test: Unset variable MAKEINFO, as its content could
  12294. take precedence over our faked makeinfo script and cause a spurious
  12295. failure. Reported as part of automake bug#10866. Add trailing ':'
  12296. command since we are at it.
  12297. 2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  12298. tests: fix spurious failure in a vala test
  12299. * tests/vala-mix2.test: Append to 'configure.ac' rather than to
  12300. 'configure.in'. Reported as part of automake bug#10866, and also
  12301. revealed by "make maintainer-check".
  12302. 2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  12303. self checks: relax tests on cleanup
  12304. Some find(1) implementations have problems operating recursively on
  12305. directories having subdirectories with null permissions, even when
  12306. the permissions of such subdirectory should be fixed by find before
  12307. it descends into them; for example, with this setup:
  12308. % mkdir a a/b
  12309. % chmod 000 a/b
  12310. a command like this:
  12311. % find a -type d ! -perm -700 -exec chmod u+rwx '{}' ';'
  12312. fails with this diagnostic on MacOS X 10.7:
  12313. find: a/b: Permission denied
  12314. and with this diagnostic on Solaris 10:
  12315. find: cannot read dir a/b: Permission denied
  12316. The problem is that our self checks were simply demanding too much
  12317. from our cleanup trap: our tests never use subdirectories with null
  12318. permissions, so it doesn't matter if the cleanup trap fails to
  12319. handle those. Just relax the self checks to avoid such useless
  12320. testsuite noise.
  12321. * tests/self-check-cleanup.tap: Only try directories missing
  12322. write permissions, not with null permission. That should be
  12323. enough for our usages.
  12324. 2012-03-02 Peter Rosin <peda@lysator.liu.se>
  12325. Merge branch 'msvc'
  12326. * msvc:
  12327. news: add entry about recent 'ar-lib' changes
  12328. 2012-03-02 Peter Rosin <peda@lysator.liu.se>
  12329. news: add entry about recent 'ar-lib' changes
  12330. * NEWS: Add information about recent 'ar-lib' changes.
  12331. 2012-03-02 Peter Rosin <peda@lysator.liu.se>
  12332. scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
  12333. * lib/ar-lib: Implement the "q" (quick) action as a synonym
  12334. for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
  12335. index) when used as modifiers and "s" when used as a command,
  12336. there is simply no way for Microsoft lib to not update the
  12337. symbol table index in the archive.
  12338. (scriptversion): Update.
  12339. * tests/ar-lib.test: Check the added behavior. Also add checks
  12340. for the recently added "u" (update) and "v" (verbose) modifiers.
  12341. 2012-03-02 Peter Rosin <peda@lysator.liu.se>
  12342. Merge branch 'fix-vala-test'
  12343. * fix-vala-test:
  12344. tests: fix (harmless) botched merge
  12345. 2012-03-02 Peter Rosin <peda@lysator.liu.se>
  12346. tests: fix (harmless) botched merge
  12347. Commit v1.11-1750-g9928ea5 of 2012-01-16 (Merge branch 'maint')
  12348. reordered the macro calls so that AM_PROG_AR ended up after
  12349. AC_PROG_LIBTOOL, which is not allowed. This error went by
  12350. undetected since AC_PROG_LIBTOOL was redefined, but that also
  12351. removed the ordering requirement making the error benign.
  12352. * tests/vala.test: Put AM_PROG_AR before AC_PROG_LIBTOOL.
  12353. 2012-03-02 Peter Rosin <peda@lysator.liu.se>
  12354. Merge branch 'maint' into msvc
  12355. 2012-03-01 Peter Rosin <peda@lysator.liu.se>
  12356. scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
  12357. * lib/ar-lib: Implement the "q" (quick) action as a synonym
  12358. for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
  12359. index) when used as modifiers and "s" when used as a command,
  12360. there is simply no way for Microsoft lib to not update the
  12361. symbol table index in the archive.
  12362. (scriptversion): Update.
  12363. * tests/ar-lib.test: Check the added behavior. Also add checks
  12364. for the recently added "u" (update) and "v" (verbose) modifiers.
  12365. 2012-02-29 Peter Rosin <peda@lysator.liu.se>
  12366. tests: do not try to use ar(1) when $AR points to something else
  12367. * tests/libobj10.test: Move the archive listing commands to the
  12368. Makefile, so that $AR - as determined by configure - can be
  12369. used.
  12370. * tests/libobj17.test: Likewise.
  12371. 2012-02-29 Peter Rosin <peda@lysator.liu.se>
  12372. tests: make tests behave for the AR=lib case
  12373. These below tests were left mostly as-is when AM_PROG_AR was
  12374. introduced (with libobj16b being the exception, that test was
  12375. forgotten or has regressed since), in a misguided attempt to
  12376. not make them diverge from the original problem reports.
  12377. Modernize them so that they do not FAIL when $AR is Microsoft
  12378. 'lib'.
  12379. * tests/libobj16b.test: Add AM_PROG_AR to configure.ac and remove
  12380. the no-longer-needed -Wno-extra-portability option when invoking
  12381. automake.
  12382. * tests/pr300-lib.test: Likewise.
  12383. * tests/pr300-ltlib.test: Likewise.
  12384. * tests/pr307.test: Likewise.
  12385. * tests/pr401.test: Likewise. Also fetch the 'ar-lib' script.
  12386. * tests/pr401b.test: Likewise.
  12387. * tests/pr401c.test: Likewise.
  12388. 2012-02-29 Stefano Lattarini <stefano.lattarini@gmail.com>
  12389. Merge branch 'maint'
  12390. * maint:
  12391. vala: fix 'valac' calls for projects with mixed Vala/C
  12392. vala: expose automake bug#10894
  12393. 2012-02-29 Dave Goodell <goodell@mcs.anl.gov> (tiny change)
  12394. Stefano Lattarini <stefano.lattarini@gmail.com>
  12395. tests: fix spurious failure with Portland Compilers
  12396. * tests/silent-many-generic.test (configure.ac): Be more careful
  12397. in the workaround to avoid spurious failures with C++ compilers
  12398. containing the string "CC" in their names; this avoids spurious
  12399. failures with at least the Sun Studio C++ compiler (when named
  12400. "sunCC") and the Portland Group C++ Compiler ("pgCC").
  12401. Also handle arguments with whitespace correctly in the 'am--cxx'
  12402. temporary wrapper.
  12403. * THANKS: Update.
  12404. 2012-02-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  12405. tests: fix spurious failure when dependency tracking is unavailable
  12406. Report by Dave Goodell. See automake bug#8880.
  12407. * tests/yacc-dist-nobuild.test: Run the sanity check that aims at
  12408. ensuring we really cover the expected code paths in a new build
  12409. directory, to avoid spurious failures when automatic dependency
  12410. tracking is disabled.
  12411. 2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  12412. vala: fix 'valac' calls for projects with mixed Vala/C
  12413. Fixes automake bug#10894.
  12414. * automake.in (lang_vala_finish_target): Strip non-vala files
  12415. from the dependencies of vala stamps, and from the invocation
  12416. of valac compiler. Related refactorings.
  12417. * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.
  12418. 2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  12419. vala: expose automake bug#10894
  12420. * tests/vala-mix2.test: New test.
  12421. * tests/list-of-tests.mk: Add it.
  12422. * tests/Makefile.am (XFAIL_TESTS): Likewise.
  12423. * THANKS: Update.
  12424. 2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  12425. cosmetics: remove a duplicated copyright line
  12426. * tests/list-of-tests.mk: Remove a duplicated copyright line.
  12427. 2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  12428. coverage: --program-transform shouldn't transform too much
  12429. Stemmed from a report by Vladimir 'φ-coder/phcoder' Serbinenko:
  12430. <http://lists.gnu.org/archive/html/automake/2012-02/msg00025.html>
  12431. * tests/transform3.test: New test, checking that --program-transform
  12432. does not transform too much stuff (in particular, pkglibexecdir,
  12433. pgklibdir and pkgdatadir).
  12434. * tests/list-of-tests.mk: Add it.
  12435. * THANKS: Update.
  12436. 2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  12437. tests: avoid spurious failure (line too long in awk)
  12438. * tests/parallel-tests-many.test: Use perl, not awk, to write the
  12439. Makefile.am with (deliberately) overly long TESTS content, as some
  12440. inferior awk implementations (e.g., Solaris 10 /usr/bin/awk) are
  12441. unable to handle the long lines used there and die with errors like:
  12442. "awk: string too long near line 5".
  12443. 2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  12444. tests: avoid spurious failures when awk is "traditional awk"
  12445. * tests/Makefile.am (do_subst): Also substitute '@AWK@'.
  12446. * tests/defs-static.in ($AWK): New, user-overridable and defaulting
  12447. to the substituted '@AWK@'.
  12448. * tests/defs (fetch_tap_driver): When the shell+awk implementation
  12449. of the TAP driver is required, export AM_TAP_AWK to point to a
  12450. properly capable awk, since the default awk might be a "traditional"
  12451. implementation, which won't be enough for our driver. This is the
  12452. right fix, since a proper setting of AM_TAP_AWK in the driver's
  12453. environment is expected (and documented to be required) in real
  12454. world uses of 'tap-driver.sh'.
  12455. 2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  12456. tests: avoid many spurious failures for shells with busted 'set -e'
  12457. Some versions of the BSD Korn shell wrongly bail out when the
  12458. 'errexit' shell flag is active and the left-hand command in a
  12459. "&&" list fails and that list is the *last* command of an entry
  12460. in a "case" statement.
  12461. * tests/defs (gcc, g++, gcj): Work around that.
  12462. 2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  12463. aclocal: don't create /usr/share/aclocal as empty
  12464. Related to automake bug#10791.
  12465. Since automake 1.11.2, aclocal no longer succeeds if the system
  12466. acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when
  12467. ${prefix} is "/usr") does not exist. So we now have a directory
  12468. *installed empty by default*, but whose existence is required by
  12469. aclocal in order for it to function at all. This might be
  12470. confusing, and sounds like asking for trouble in the long term.
  12471. So we now also install a simple README file in that directory,
  12472. which briefly explains its purpose and warn that its existence
  12473. is required by the normal aclocal functioning.
  12474. * m4/acdir/README: New file.
  12475. * m4/Makefile.am (dist_system_ac_DATA): Add it.
  12476. * m4/acdir/.placeholder: Delete, no more needed.
  12477. * m4/Makefile.am (EXTRA_DIST): Remove it.
  12478. * THANKS: Update.
  12479. 2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
  12480. hacking: document format for git commit messages
  12481. * HACKING (Writing a good commit message): New section.
  12482. (Working with git): A related minor adjustment.
  12483. 2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  12484. docs: improve 'dist-hook' documentation
  12485. * doc/automake.texi (The dist Hook): Explicitly document the fact
  12486. that the dist-hook should account for the case where the source
  12487. tree is read-only, mostly for the benefit of distcheck. Since
  12488. we are at it, do some minor unrelated rewordings, and remove
  12489. obsolescent advice. Motivated by the discussion on automake
  12490. bug#10878.
  12491. * tests/disthook.test: New test.
  12492. * tests/disthook-perms.test: Delete as obsolete.
  12493. * tests/list-of-tests.mk: Adjust.
  12494. 2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  12495. docs: improve "make distcheck" documentation
  12496. * doc/automake.texi (Checking the Distribution): The fact that
  12497. "make distcheck" uses a read-only srcdir wasn't documented clearly
  12498. enough here. Fix that. Since we are at it, be more explicit
  12499. about the steps undertaken by "make distcheck", and re-organize
  12500. this section a bit. Motivated by the discussion on automake
  12501. bug#10878.
  12502. (distcleancheck): Rename this node (in the "FAQ" section) ...
  12503. (Errors with distclean): ... to this.
  12504. Add a proper "FIXME" comment.
  12505. 2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  12506. cosmetics: proper capitalization and full stops in 'm4/depend.m4'
  12507. 2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  12508. coverage: dist-hook and distcheck-hook can modify file permission
  12509. See automake bug#10878.
  12510. * tests/dist-hook-perms.test: New test, checking that the user can
  12511. use the 'dist-hook' target to modify permissions of distributed
  12512. files before putting them in the distribution tarball.
  12513. * tests/distcheck-writable-srcdir.test: New test, checking that the
  12514. user can use 'distcheck-hook' to ensure his packages is built by
  12515. "make distcheck" with a writable srcdir. This goes against the GNU
  12516. Coding Standards, but some package authors might not care about
  12517. them too much, and it's nice to support their use case too.
  12518. * tests/list-of-tests.mk: Add them.
  12519. 2012-02-25 Jim Meyering <meyering@redhat.com>
  12520. tests: avoid spurious failure when gcj is not installed
  12521. Since yesterday's commit, v1.11-2019-g4d2bf42,
  12522. the gcj4 test would fail when gcj is not installed.
  12523. * tests/defs-static.in (GNU_GCJ, GNU_GCJFLAGS): Define.
  12524. * tests/Makefile.am (do_subust): Add those to the list of
  12525. substituted symbols.
  12526. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12527. tests: look for GNU Java compiler at configure time
  12528. Do this for consistency with what is done with other compilers.
  12529. * configure.ac: Look for GNU java compiler at configure time.
  12530. * tests/defs (gcj): Adjust and simplify.
  12531. ($am__tool_prefix): Remove definition, it's not used anymore.
  12532. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12533. refactor: in Automake::Options (no semantic change)
  12534. * lib/Automake/Options.pm: Prefer leading spaces to leading tabs
  12535. throughout. Minor whitespace and comment changes.
  12536. (_process_option_list): Simple refactoring to make the code more
  12537. pleasant to read and easier to modify in the future. This
  12538. refactoring also reduces code duplication, with the help of ...
  12539. (_option_must_be_from_configure, _is_valid_easy_option): ... these
  12540. new internal subroutines.
  12541. * tests/tar3.test: Enhance.
  12542. * tests/silent-amopts.test: New, checks that automake complains if
  12543. the 'silent-rules' option is used in AUTOMAKE_OPTIONS.
  12544. * tests/list-of-tests.mk: Add it.
  12545. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12546. cosmetics: typofixes and whitespace changes
  12547. * configure.ac: Fix a typo in comments.
  12548. * aclocal.in: Get rid of latest form-feed (^L) usages.
  12549. * automake.in: Likewise.
  12550. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12551. tests: looks for GNU compilers at configure time
  12552. This way, if the generic C compiler determined configure time is
  12553. recognized to be the GNU C compiler, we can reuse it instead of
  12554. looking for a compiler named "gcc" (over and over again) in the
  12555. test scripts requiring the GNU C compiler. Ditto for the C++,
  12556. Fortran, and Fortran 77 compilers.
  12557. This change will improve coverage by allowing us to more easily
  12558. use non-default GNU compilers throughout the testsuite.
  12559. And as a bonus, this change also removes a weakness from our
  12560. testsuite that could cause spurious failures when flags passed
  12561. to the generic compilers were erroneously reused for the GNU
  12562. compilers; see automake bug#10859.
  12563. * configure.ac: Look for the GNU compilers explicitly. Improve
  12564. some configure output and diagnostic since we are at it.
  12565. * tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77):
  12566. Initialize with the values determined at configure time (while
  12567. allowing user overrides).
  12568. * tests/Makefile.am (do_edit): Also substitute the configure-time
  12569. values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77.
  12570. * tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU
  12571. compilers determined at configure time (i.e., $GNU_CC for the GNU
  12572. C compiler, and so on).
  12573. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12574. docs, news: document planned removal of obsolete macros and features
  12575. * NEWS (Future backward-incompatibilities): Document planned removal
  12576. of several superseded and/or obsoleted macros, of the $(mkdir_p)
  12577. variable and @mkdir_p@ substitution, and of the support for the
  12578. two- or three-arguments invocation forms of AM_INIT_AUTOMAKE.
  12579. * doc/automake.texi: Likewise.
  12580. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12581. docs: remove reference to lzma support, it has been removed
  12582. Support for lzma compression in distribution tarball has been
  12583. removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, "dist:
  12584. remove support for lzma (superseded by xz and lzip)", but was
  12585. still documented in the manual.
  12586. * doc/automake.texi: Remove references to the 'dist-lzma' option
  12587. and to the lzma compression support.
  12588. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12589. cosmetics: fixlet in comment in automake
  12590. * automake.in ($configure_dist_common): In the associated comment,
  12591. refer to scanning of 'configure.ac', not 'configure.in'.
  12592. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12593. maint: assume 'test -x' is portable
  12594. * lib/Makefile.am (installcheck-local): To verify that the installed
  12595. scripts are actually executable, simply use 'test -x', instead of
  12596. resorting to perl and its '-x' file operator. Today, 'test -x'
  12597. should today be portable to any non-museum system. Since we are at
  12598. it, improve diagnostic in case of failure.
  12599. 2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  12600. deptrack: avoid few forks in configure (minor optimization)
  12601. * m4/depend.m4 (_AM_DEPENDENCIES): Use 'echo > file' instead of
  12602. 'touch file' to ensure the creation of a dummy file. Adjust the
  12603. comment that explains why we can't simply use ': > file': the
  12604. problem this latter idiom tickles is present also with Solaris 10
  12605. /bin/sh, not merely with Solaris 8 /bin/sh.
  12606. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12607. maintcheck: remove an obsolete check
  12608. * syntax-checks.mk (sc_perl_local_no_parens): Remove, we don't even
  12609. allow the use of local but for the '$_' and '$~' special variables.
  12610. (syntax_check_rules): Adjust.
  12611. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12612. news: update w.r.t. change in quoting format
  12613. * NEWS (New in 1.11.1a): State that we prefer to quote 'like this'
  12614. or "like this" rather than `like this', as according to the new GCS
  12615. recommendations.
  12616. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12617. automake: do not quote `like this', as per GCS recommendation
  12618. * automake.in: Convert comments, diagnostic and help screen to the
  12619. use of new quoting format 'like this' or "like this" rather than
  12620. `like this'.
  12621. * tests/stdlib2.test: Adjust.
  12622. * tests/ltinstloc.test: Likewise.
  12623. * tests/location.test: Likewise.
  12624. * tests/libtool8.test: Likewise.
  12625. * tests/ldadd.test: Likewise, and prefer trailing ':' over trailing
  12626. 'Exit 0'.
  12627. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12628. aclocal: do not quote `like this', as per GCS recommendation
  12629. * aclocal.in: Convert comments, diagnostic and help screen
  12630. to the use of new quoting format 'like this' or "like this"
  12631. rather than `like this'.
  12632. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12633. pm: do not quote `like this', as per GCS recommendation
  12634. This patch converts the internal perl modules used by automake and
  12635. aclocal to the use of new quoting format 'like this' or "like this"
  12636. rather than `like this'.
  12637. * lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
  12638. lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm,
  12639. lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm,
  12640. lib/Automake/General.pm, lib/Automake/Item.pm,
  12641. lib/Automake/Rule.pm, lib/Automake/Getopt.pm,
  12642. lib/Automake/Options.pm, lib/Automake/Struct.pm,
  12643. lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
  12644. lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and
  12645. adjust quoting format throughout, in comments and diagnostic.
  12646. Some minor related rewordings and reformatting since we are
  12647. at it.
  12648. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12649. m4: do not quote `like this', as per GCS recommendation
  12650. This patch converts the files comprising the automake's own build
  12651. system to the use of new quoting format 'like this' or "like this"
  12652. rather than `like this'.
  12653. * m4/auxdir.m4, m4/ccstdc.m4, m4/depend.m4, m4/depout.m4, m4/tar.m4,
  12654. m4/init.m4, m4/maintainer.m4, m4/make.m4, m4/missing.m4, m4/vala.m4,
  12655. m4/mkdirp.m4, m4/sanity.m4, m4/silent.m4, m4/strip.m4: Update and
  12656. adjust quoting format throughout, in comments and diagnostic. Some
  12657. minor related rewordings and reformatting since we are at it. Bump
  12658. serial numbers.
  12659. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12660. build: do not quote `like this', as per GCS recommendation
  12661. This patch converts the files implementing the automake's own build
  12662. system to the use of new quoting format 'like this' or "like this"
  12663. rather than `like this'.
  12664. * bootstrap, configure.ac, syntax-checks.mk, Makefile.am,
  12665. lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting
  12666. format throughout, in comments and diagnostic. Some minor related
  12667. rewordings and reformatting since we are at it.
  12668. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12669. hacking: update advice w.r.t. release process
  12670. * HACKING: Don't describe the obsolete 'git-release' target anymore.
  12671. Instead, document the new and improved targets 'git-tag-release' and
  12672. 'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of
  12673. 25-01-2012, "release: revamp rules to tag and upload the releases").
  12674. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12675. hacking: do not quote `like this', as per GCS recommendation
  12676. * HACKING: Quote 'like this' or "like this", not `like this'. This
  12677. is done for consistency with the new recommendations in the GNU
  12678. Coding Standards, and because I've come to actually prefer the '...'
  12679. and "..." quoting format over the `...' one.
  12680. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12681. am: do not quote `like this', as per GCS recommendation
  12682. This patch converts the automake-provided '*.am' fragments, and
  12683. related files, to the use of new quoting format 'like this' or
  12684. "like this" rather than `like this'.
  12685. * lib/am/check.am: Update quoting format throughout, in comments
  12686. and diagnostic. Some related rewordings, reformatting, and removal
  12687. of redundant commands since we are at it.
  12688. * lib/am/configure.am: Likewise.
  12689. * lib/am/dejagnu.am: Likewise.
  12690. * lib/am/depend2.am: Likewise.
  12691. * lib/am/distdir.am: Likewise.
  12692. * lib/am/inst-vars.am: Likewise.
  12693. * lib/am/install.am: Likewise.
  12694. * lib/am/lang-compile.am: Likewise.
  12695. * lib/am/lisp.am: Likewise.
  12696. * lib/am/ltlib.am: Likewise.
  12697. * lib/am/mans.am: Likewise.
  12698. * lib/am/progs.am: Likewise.
  12699. * lib/am/remake-hdr.am: Likewise.
  12700. * lib/am/subdirs.am: Likewise.
  12701. * lib/am/tags.am: Likewise.
  12702. * lib/am/texi-vers.am: Likewise.
  12703. * lib/am/texibuild.am: Likewise.
  12704. * lib/am/texinfos.am: Likewise.
  12705. * lib/am/yacc.am: Likewise.
  12706. 2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  12707. tests: quote 'like this', not `like this', as per GCS recommendation
  12708. This patch converts the automake testsuite and related files, to
  12709. the use of new quoting format 'like this' or "like this" rather
  12710. than `like this'.
  12711. This is done for consistency with the new recommendations in the GNU
  12712. Coding Standards, and, well, because I've come to actually prefer
  12713. the '...' and "..." quoting formats over the `...' one.
  12714. * tests/README: Update quoting format throughout. Remove some
  12715. "excessive" use of quoting, and throw in minor rewording where
  12716. appropriate.
  12717. * tests/Makefile.am: Likewise, for comments.
  12718. * tests/CheckListOfTests.am: Likewise.
  12719. * tests/defs-static.in: Likewise.
  12720. * tests/defs: Likewise.
  12721. * tests/trivial-test-driver: Likewise.
  12722. * Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise,
  12723. and for the diagnostic and informational messages as well.
  12724. * tests/gen-testsuite-part: Likewise, and for the generated tests
  12725. as well.
  12726. 2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  12727. spy: "rm -f" and "rm -rf" without args are portable
  12728. According to recent testing by Eric Blake, it seems that all
  12729. non-museum rm(1) implementations don't complain if called without
  12730. file operands, *if* the '-f' option is used. This behaviour will
  12731. likely be mandated by future versions of the POSIX standard as
  12732. well.
  12733. We'd like to start assuming this rm(1) behaviour in future Automake
  12734. releases, in order to simplify some automake-provided cleanup rules.
  12735. So, for the moment, we add a new "spy" test in our test suite, to
  12736. try ensuring that all the rm(1) implementation we encounter "in the
  12737. wild" truly behaves as expected in this regard.
  12738. For more references, see this discussion on the bug-autoconf list:
  12739. <http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html>
  12740. which sprang from coreutils bug#10819:
  12741. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819>
  12742. and brought to the POSIX issue#542:
  12743. <http://austingroupbugs.net/view.php?id=542>
  12744. which has been accepted and will ensure that future version of the
  12745. POSIX standards will mandate that 'rm' shouldn't complain if called
  12746. without file operands, when the '-f' option is in use.
  12747. * tests/spy-rm.test: New test.
  12748. * tests/list-of-tests.mk: Add it.
  12749. 2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  12750. tests: avoid spurious failures under "make distcheck"
  12751. * tests/tap-setup.sh: Pass also '-f' option to 'cp' invocations,
  12752. so that files that have already been copied in without write
  12753. permissions will still be overwritten where needed, instead of
  12754. causing a spurious testsuite failure. Issue seen when the
  12755. testsuite is run under "distcheck".
  12756. * tests/defs (get_shell_script): Remove target file before
  12757. overwriting it, for the same reason. Rework code flow a bit
  12758. since we are at it.
  12759. 2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  12760. fixup: avoid spurious failure for 'parallel-tests-many.test'
  12761. * tests/parallel-tests-many.test: Adjust grepping of "make check"
  12762. and "make recheck" output to match the new format of the testsuite
  12763. summary. Remove redundant 'set -e' call since we are at it.
  12764. 2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  12765. tests: prefer 'configure.ac' over 'configure.in'
  12766. With this change, our testsuite now uses 'configure.ac' as the
  12767. name for the typical autoconf input, instead of the obsolescent
  12768. 'configure.in' (which has been deprecated for several years, at
  12769. least since autoconf 2.50).
  12770. Most of the test cases changed by this commit have been
  12771. automatically modified with this sed command (using GNU
  12772. sed):
  12773. sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g'
  12774. * syntax-checks.mk (sc_tests_no_configure_in): New syntax check.
  12775. (syntax_check_rules): Add it.
  12776. * tests/defs: Create stub for autoconf input in 'configure.ac',
  12777. not in 'configure.in'. Adjust comments.
  12778. ($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the
  12779. infamous debian autoconf wrapper: we don't need such workaround
  12780. anymore now that we name our autoconf input as 'configure.ac'.
  12781. For more information, see commit v1.11-564-g63da492 "test defs:
  12782. hack to support autoconf-wrapper programs" of 16-12-2011.
  12783. * tests/README: Use 'configure.ac', not 'configure.in'.
  12784. * Many many tests: Likewise.
  12785. * tests/backcompat3.test: Adjust to avoid spurious failures.
  12786. * tests/backcompat5.test: Likewise.
  12787. * tests/missing6.test: Likewise.
  12788. * tests/backcompat6.test: Likewise, and extend a bit since we
  12789. are at it.
  12790. 2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  12791. coverage: expose automake bug#7868
  12792. Expose the command-line length limit issue that can affect the
  12793. Automake-generated parallel-tests harness, especially on systems
  12794. where this limit is smaller (e.g., MinGW/MSYS).
  12795. Suggestion by Bob Friesenhahn.
  12796. * tests/parallel-tests-many.test: New test. We have verified that
  12797. it actually exposes the bug#7868, as it passes when we opportunely
  12798. reduce the number of test cases in $(TESTS). Checked on NetBSD 5.1
  12799. 64bit, Debian unstable 32bit, Solaris 10 64bit and Cygwin 1.5 32bit.
  12800. * tests/list-of-tests.mk (handwritten_TESTS): Add it.
  12801. * tests/Makefile.am (XFAIL_TESTS): Likewise.
  12802. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12803. tests: remove obsoleted "icc" requirement
  12804. * tests/defs (icc): This requirement is not used anymore by any
  12805. test case, so remove it.
  12806. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12807. readme: fix typo in tests/README
  12808. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12809. tests: "make installcheck" shouldn't run the testsuite twice
  12810. * Makefile.am (installcheck-local): Remove. The "installcheck"
  12811. target provided by automake is already a recursive target, so
  12812. there's no need to have an 'installcheck-local' recipe that
  12813. manually recurse into 'tests/'. In fact, such a manual recursion
  12814. was causing the testsuite to be run twice by "make installcheck".
  12815. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12816. news: minor fixlets and reorganization
  12817. * NEWS: Get rid of form-feed characters (^L) throughout the file.
  12818. Use separator lines instead (composed by 76 '~' characters), or
  12819. just an extra blank lines for older less verbose entries (those
  12820. predating the 1.8 release).
  12821. (New in 1.11.3): Move description of planned future backward
  12822. incompatibilities that won't make it to 1.12 ...
  12823. (New in 1.11a): ... in here. Quote 'like this', not `like this'.
  12824. Other minor miscellaneous rewordings and fixlets.
  12825. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12826. cosmetics: few typofixes
  12827. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12828. automake: new option 'serial-tests'
  12829. Currently, automake offers a 'parallel-tests' option to enable the
  12830. use of the parallel testsuite harness in the generated Makefiles,
  12831. but no option to explicitly state the intention of using the older
  12832. serial testsuite driver (which is currently the default).
  12833. This makes the parallel test harness seems like a second-class
  12834. citizen (while actually it should be the other way around); more
  12835. importantly, it will prevent us from making the parallel harness
  12836. be the default one in future automake versions, since the users
  12837. of the serial harness would then have no way to instruct automake
  12838. to continue using it.
  12839. We solve all of this by introducing a new 'serial-tests' option.
  12840. * lib/Automake/Options.pm (_process_option_list): Recognize the
  12841. new option, and related minor refactoring.
  12842. * tests/serial-tests.test: New test.
  12843. * tests/list-of-tests.mk: Add it.
  12844. * doc/automake.texi: Update.
  12845. * NEWS: Likewise.
  12846. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12847. tests: fix a timestamp issue, and other minor buglets
  12848. Reported by Panther Martin in automake bug#10848.
  12849. * tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
  12850. to avoid spurious failures on fast systems without sub-second
  12851. timestamp resolutions. Add other minor related and unrelated
  12852. improvements and fixlets since we are at it.
  12853. 2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  12854. automake: new option to print location of scripts and data files
  12855. With this change, we add a new automake option '--print-libdir'
  12856. that prints (on stdout) the path of the directory containing the
  12857. Automake-provided scripts (e.g., 'missing' and 'install-sh') and
  12858. data files (e.g., INSTALL or texinfo.tex).
  12859. Suggestion by Nick Bowler. See also automake bug#10473.
  12860. * automake.in (parse_arguments): Handle the new option.
  12861. (usage): Mention it.
  12862. * doc/automake.texi (automake Invocation): Document it.
  12863. * NEWS: Update.
  12864. * tests/print-dir.test: New test.
  12865. * tests/list-of-tests.mk: Add it.
  12866. 2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  12867. docs: prefer the awk+sh TAP driver over the perl one
  12868. We had completed our shell+awk implementation of the TAP driver
  12869. months ago, but never documented it in the manual, continuing to
  12870. document only the "prototype" written in perl instead. Time to
  12871. fix this, before the 1.12 release.
  12872. * doc/automake.texi (Use TAP with the Automake test harness): Now
  12873. we document the use of the awk+shell implementation of our TAP
  12874. driver, rather than of the perl one.
  12875. * tests/tap-doc2.test: Adjust to use the shell+awk implementation
  12876. of the TAP driver.
  12877. 2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  12878. tests: be stricter in determining whether "make -jN" works
  12879. * tests/parallel-tests3.test: With at least Solaris 10 CCS make,
  12880. "make -jN" does not fail, but merely prints a warning about
  12881. "DistributedMake -j option" being ignored. This was causing this
  12882. test case to fail spuriously. So we now use a stricter check in
  12883. determining whether make works in parallel mode. Since we are at
  12884. it, we try to cater also to Sun Distributed make, which understands
  12885. "-j N" but *not* "-jN".
  12886. 2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  12887. tests: don't trust exit status of "make -k"
  12888. * tests/parallel-tests-extra-programs.test: Unless $MAKE is GNU
  12889. make, don't trust the exit status of "$MAKE -k". Fixes a spurious
  12890. failure with OpenBSD 5.0 make and NetBSD 5.1 make.
  12891. 2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  12892. tests: fix race condition in 'self-check-dir.tap'
  12893. * tests/self-check-dir.tap (do_check): Don't fail if "ls -l" fails.
  12894. 2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  12895. parallel-tests: fix another BSD parallel make issue
  12896. When BSD make is run in parallel mode, it apparently strips any
  12897. leading directory component from the automatic variable '$*' (of
  12898. course, against what POSIX mandates). This was causing FreeBSD 9.0
  12899. make and NetBSD 5.1 make to spuriously fail with automake-generated
  12900. test harnesses if subdir tests were present *and* make was being
  12901. run in parallel mode. This issue affected also the Automake own
  12902. testsuite.
  12903. * lib/am/check2.am (am__set_b): New internal variable.
  12904. (%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around
  12905. the described BSD make issue.
  12906. * tests/parallel-tests3.test: Enhanced to expose the bug.
  12907. * tests/parallel-tests-subdir.test: Enhance a little, since we
  12908. are at it.
  12909. * NEWS: Update.
  12910. 2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  12911. tests: avoid FreeBSD make VPATH issues in more tests (see bug#7884)
  12912. See also similar change 'v1.11-755-g818bc40' of 07-02-2012,
  12913. "tests: work around bug#7884 in many yacc/lex tests". The
  12914. rationale for this change is basically the same.
  12915. * tests/lex-lib-external.test: Use "yl_distcheck" instead of
  12916. bare "$MAKE distcheck" to avoid extra failures caused by
  12917. automake bug#7884.
  12918. * tests/lex-noyywrap.test: Likewise.
  12919. * tests/lex-libobj.test: Likewise.
  12920. * tests/man6.test: This test suffers from the same FreeBSD make
  12921. incompatibility in VPATH handling that is the source of automake
  12922. bug#7884. Since this is caused by rules that are defined in the
  12923. Makefile.am by the test itself, rather that being generated by
  12924. automake, the best thing to do is to skip this test if we detect
  12925. the presence of said make incompatibility (through the function
  12926. 'useless_vpath_rebuild').
  12927. * tests/man8.test: Likewise.
  12928. 2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  12929. cosmetics: remove extra trailing whitespace in configure.ac
  12930. 2012-02-18 Peter Rosin <peda@lysator.liu.se>
  12931. Merge branch 'yacc-quote-fix'
  12932. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12933. tests: avoid spurious failure with FreeBSD make
  12934. * tests/parallel-tests-extra-programs.test: FreeBSD make seems to
  12935. write (some) diagnostic messages on stdout instead than on stderr,
  12936. so now we also grep the stdout for the expected make diagnostic.
  12937. 2012-02-17 Peter Rosin <peda@lysator.liu.se>
  12938. tests: fix broken quoting in the generated yacc grammar
  12939. Fixes problem introduced by v1.11-1912-ge0906b7 "tests: avoid
  12940. spurious failure with non-bison yacc" from 12-02-2012.
  12941. * tests/suffix10.tap (Makefile.am): Avoid outer single quotes
  12942. when we need to produce single quotes.
  12943. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12944. fixup: always use correct path for automake/aclocal wrappers
  12945. Otherwise, bootstrapping from a git checkout won't work anymore.
  12946. Issue introduced in today's commit 'v1.11-1974-ga98e58f'.
  12947. * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Export PATH in a
  12948. way that makes the automake and aclocal wrappers truly accessible
  12949. (the location of this wrappers has been modified in a recent commit,
  12950. but this makefile hadn't been updated accordingly).
  12951. (update_mans): Likewise.
  12952. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12953. tests: fix spurious failure in VPATH build
  12954. * tests/self-check-dir.tap: Adjust to handle running in a VPATH
  12955. build correctly.
  12956. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12957. tests: fix many spurious failures in VPATH builds
  12958. The 'is' helper script, used by some test cases since commit
  12959. 'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare
  12960. lists in Makefile rules", is not available in VPATH builds, since
  12961. it resides in $(srcdir), nor in $(builddir), and only $(builddir)
  12962. is added to $PATH in the test script. This was causing spurious
  12963. failures.
  12964. Solve this issue by re-organizing a bit the layout and placing of
  12965. wrapper and help scripts used by the testsuite. This reorganization
  12966. is by no mean complete, but should be enough to solve the VPATH
  12967. issues.
  12968. * tests/is: Moved ...
  12969. * tests/ax/is: ... here
  12970. * tests/automake.in: Moved ...
  12971. * tests/wrap/automake.in: ... here.
  12972. * tests/aclocal.in: Moved ...
  12973. * tests/wrap/aclocal.in: ... here.
  12974. * tests/defs-static.in ($am_bindir, $PATH): Adjust.
  12975. * configure.ac (AC_CONFIG_FILES): Likewise.
  12976. * tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise.
  12977. * tests/get-sysconf.test: Likewise.
  12978. * .gitignore: Likewise.
  12979. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12980. tests: relax a test to cater to NetBSD make
  12981. * tests/parallel-tests-empty-testlogs.test: When $(TESTS) is empty,
  12982. NetBSD 5.1 make ends up defining $(TESTS_LOGS) to ".log" rather than
  12983. to the empty string (as would be expected). This behaviour was
  12984. causing a check in this test case to fail. But that check was in
  12985. fact overly strict, since our recipes are smart enough to work
  12986. around the botched-up substitution. Also, the failure wasn't a
  12987. regression from Automake 1.11, since that version too would have
  12988. triggered the same error with NetBSD 5.1 make. So we just relax
  12989. the test a little to avoid extra noise in the testsuite.
  12990. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12991. Merge branch 'maint'
  12992. * maint:
  12993. dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
  12994. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12995. dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
  12996. * lib/am/header-vars.am (am__make_dryrun): Be smarter and more
  12997. correct in handling shell metacharacters in $(MAKEFLAGS).
  12998. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  12999. tests: TAP-based tests should error if no plan was specified
  13000. After this change, it will still be OK for TAP-based tests not to
  13001. report any explicit TAP plan -- but they should state *explicitly*
  13002. that they want to do so, by calling the 'plan_' function with a
  13003. proper argument (currently, either "later" or "unknonwn").
  13004. Motivated by a recent issue introduced by yesterday's commit
  13005. 'v1.11-1959-g0699a84' (pointed out by Peter Rosin, and fixed
  13006. by follow-up commit 'v1.11-1961-gea44190').
  13007. * tests/tap-functions.sh (plan_): Get rid of '$have_tap_plan_',
  13008. and refactor use and initialization of '$planned_' in a way that
  13009. will allow client script to get more information on which kind
  13010. of plan (if any) has been declared by the former 'plan_' invocation.
  13011. (skip_all_): Adjust.
  13012. * tests/defs (exit trap): Only print the "lazy" TAP plan if 'plan_'
  13013. has requested that *explicitly*.
  13014. * syntax-check.mk (sc_tests_tap_plan): Remove: it's obsolete now,
  13015. since a TAP-based test that doesn't call 'plan_' explicitly won't
  13016. print any TAP plan, and the TAP driver will catch that and report
  13017. an error.
  13018. (syntax_check_rules): Adjust.
  13019. 2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  13020. tests: expose $(am__dry_run) limitations
  13021. Currently, the internal $(am__dry_run) macro can fail in weird ways
  13022. when $(MAKEFLAGS) contains shell metacharacters. Let's expose this
  13023. limitation in the testsuite (and fix a couple of related weaknesses
  13024. since we are at it).
  13025. * tests/make-dryrun.test: Moved ...
  13026. * tests/make-dryrun.tap: ... here, converted to TAP, and extended to
  13027. expose the described limitations. Also ...
  13028. (am_parallel_tests): Define this so that the 'gen-testsuite-part'
  13029. script won't generate a useless wrapper script.
  13030. * test/list-of-tests.mk: Update.
  13031. 2012-02-17 Peter Rosin <peda@lysator.liu.se>
  13032. cosmetics: fix commit message typo in previous
  13033. * .git-log-fix: The file is called .git-log-fix, nothing else.
  13034. 2012-02-17 Peter Rosin <peda@lysator.liu.se>
  13035. fixup: .git-log-fix should not be executable
  13036. * .git-log-fix: Set mode 644.
  13037. 2012-02-17 Peter Rosin <peda@lysator.liu.se>
  13038. maint: support amending the generated ChangeLog, and fix a typo
  13039. * Makefile.am (gitlog_to_changelog_options): Add support for
  13040. amending the generated ChangeLog.
  13041. (EXTRA_DIST): Update.
  13042. * .git-log-fix: New file with things to amend to the generated
  13043. ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6
  13044. "maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from
  13045. yesterday.
  13046. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13047. cosmetics: normalize copyright notice in some tests
  13048. * tests/lisp3.test: Normalize copyright notice to read the
  13049. same of that of other tests.
  13050. * tests/lisp4.test: Likewise.
  13051. * tests/lisp5.test: Likewise.
  13052. * tests/lisp6.test: Likewise.
  13053. * tests/lisp7.test: Likewise.
  13054. * tests/lisp8.test: Likewise.
  13055. * tests/lispdry.test: Likewise.
  13056. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13057. readme: fix grammaro
  13058. Reported by Eric Blake.
  13059. * README: Use "also has" instead of "has also"; the former sounds
  13060. better to a native speaker.
  13061. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13062. maint: use AC_PACKAGE_BUGREPORT to avoid duplication
  13063. * configure.ac: In the message reporting whether the user is about
  13064. to build an alpha or beta version, use the autoconf-provided
  13065. AC_PACKAGE_BUGREPORT macro instead of duplicating the bug reporting
  13066. address.
  13067. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13068. readme: update and renew
  13069. * README: Remove stale or now-obvious description and advices.
  13070. Add reference to the INSTALL file. Some minor rewordings.
  13071. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13072. depcomp tests: fix up today's botched commit
  13073. Today's commit 'v1.11-1959-g0699a84' has caused the generated
  13074. 'depcomp*.tap' tests to call the 'plan_' function *before* it is
  13075. defined, and has also caused the extra checks required for better
  13076. libtool coverage to be run only when libtool is *not* in use,
  13077. rather than the other way around. Fix this mess.
  13078. Report by Peter Rosin.
  13079. * tests/gen-testsuite-part: Include './defs' in the generated
  13080. tests, rather than doing so from 'depcomp.sh'. Adjust the count
  13081. of TAP tests for 'depcomp-lt-auto.test' (it's 84, not 72).
  13082. * tests/depcomp.sh: Adjust accordingly, and fix inverted logic
  13083. about the decision of when to run extra checks for libtool.
  13084. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13085. build: clearer diagnostic if "make" is invoked before "./configure"
  13086. Since a GNUmakefile wrapper has been introduced in our build
  13087. system, a "make" invocation issued before a "./configure" one
  13088. has caused GNU make to die with the cryptic message:
  13089. GNUmakefile:18: Makefile: No such file or directory
  13090. GNUmakefile:19: /syntax-checks.mk: No such file or directory
  13091. make: *** No rule to make target `/syntax-checks.mk'. Stop.
  13092. * GNUmakefile: Detect when we are being run from an unconfigured
  13093. tree, and give helpful diagnostic.
  13094. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13095. depcomp tests: put TAP plan in generated tests
  13096. This avoids a spurious maintcheck failure, and also simplifies
  13097. the 'depcomp.sh' helper script a little.
  13098. * tests/gen-testsuite-part: Create and place also a proper 'plan_'
  13099. call (to emit the TAP plan) in each generated 'depmod*.tap' test.
  13100. * tests/depcomp.sh: Remove 'plan_' invocations, and simplify a
  13101. little since we are at it.
  13102. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13103. update-copyright: don't touch COPYING and INSTALL
  13104. Reported by Peter Rosin.
  13105. * update-copyright: Also exclude the COPYING and INSTALL files
  13106. found in the top-level directory.
  13107. * COPYING, INSTALL: Revert update of copyright years done in
  13108. today's commit 'v1.11-1948-g641a5a4'.
  13109. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13110. maintcheck: whitelist some false positives
  13111. Instead of tweaking or dumbing down some of our sources or tests
  13112. in order not to make them spuriously trigger few maintainer checks,
  13113. we tweak such checks instead.
  13114. * syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Also
  13115. allow the variable 'exp' to be overridden on the make command line.
  13116. Whitelist the test 'make-dryrun.test' where appropriate.
  13117. (sc_mkinstalldirs): When whitelisting the 'mkinstalldirs' occurrence
  13118. in 'lib/Makefile.am', do not look for the exact line number: it is
  13119. obviously too fragile.
  13120. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13121. tests: avoid spurious failure with parallel make
  13122. * tests/parallel-tests-extra-programs.test: Run make with the '-k'
  13123. option where appropriate, to ensure it doesn't stop at the first
  13124. error, which would prevent the building of the extra programs we
  13125. expect it to build.
  13126. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13127. tests: avoid spurious failure on older Cygwin
  13128. * tests/tap-signal.tap: Sending a SIGQUIT on Cygwin 1.5 can cause a
  13129. segmentation fault instead (sometimes at least). Don't let this
  13130. older bug pollute the results of our testsuite.
  13131. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13132. fixup: display captured make stdout in 'tap-signal.tap'
  13133. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13134. tests: avoid spurious failure in 'suffix3.tap'
  13135. * tests/suffix3.tap (foo.zoo): This C++ file fails to compile with
  13136. older g++ (3.4.4) on Cygwin 1.5.25 if we #include <iostream>. Don't
  13137. do that, since it's not strictly required, and the "using namespace"
  13138. directive is already enough to ensure the file contents is valid C++
  13139. but invalid C.
  13140. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13141. docs: fix typo in description of AM_YFLAGS
  13142. Report by Akim Demaille.
  13143. * doc/automake.texi (Program variables): Don't list "-d -t" twice
  13144. in the examples of valid ways to specify the '-d' flag to Yacc;
  13145. instead, use "-d -t" and "-t -d". Add missing period.
  13146. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13147. tests: another spurious failure with older autoconf fixed
  13148. * tests/aclocal8.test (configure.in): Also call 'AC_INIT', it's
  13149. required by some older autoconf versions (e.g., 2.63).
  13150. * tests/acloca15.test: Likewise. Add trailing ':' command since
  13151. we are at it.
  13152. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13153. tests: fix spurious failure with older autoconf
  13154. * tests/conffile-leading-dot.test: Relax grepping of 'config.status'
  13155. stderr, to cater for older autoconf. Issue revealed by a failure
  13156. with autoconf 2.63 on Cygwin 1.5.25.
  13157. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13158. maint: sync auxiliary files from upstream
  13159. * lib/texinfo.tex: Synced from upstream, by "make fetch".
  13160. * lib/config.guess: Likewise.
  13161. * lib/config.sub: Likewise.
  13162. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13163. maint: run "make update-copyright"
  13164. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13165. maint: add some missing copyright notices
  13166. * tests/ChangeLog-old: Add copyright notice.
  13167. * tests/aclocal.in: Likewise.
  13168. * tests/automake.in: Likewise.
  13169. * tests/extract-testsuite-summary: Likewise.
  13170. * tests/prove-runner: Likewise.
  13171. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13172. Merge branch 'maint'
  13173. * maint:
  13174. update-copyright: don't touch files synced from external packages
  13175. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13176. update-copyright: don't touch files synced from external packages
  13177. * Makefile.am (update-copyright): Do not update copyright years of
  13178. files synced from external packages, as given by the '$(FETCHFILES)'
  13179. variable. Silence the recipe since we are at it.
  13180. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13181. Merge branch 'extra-dist-tests-ksh-bug'
  13182. * extra-dist-tests-ksh-bug:
  13183. tests: fix spurious failure when testing wildcards in EXTRA_DIST
  13184. 2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  13185. tests: fix spurious failure when testing wildcards in EXTRA_DIST
  13186. * tests/extra10.test: Remove the "make distcheck" call, since, at
  13187. least with GNU make 3.82, it trips on the fact that $(srcdir) is
  13188. not explicitly used in the wildcard in EXTRA_DIST.
  13189. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13190. Merge branch 'maint'
  13191. * maint:
  13192. fixup: distribute 'lib/update-copyright'
  13193. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13194. fixup: distribute 'lib/update-copyright'
  13195. While the 'update-copyright' script shouldn't be needed by final
  13196. users, that's not a good reason to keep it out by the distribution,
  13197. as doing so might be unhelpful toward occasional but curious users
  13198. interested in peeking into the automake build system.
  13199. * lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'.
  13200. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13201. maint: prefer $(GIT) over hard-coded "git" in maintainer recipes
  13202. * Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead
  13203. of hard-coding 'git'.
  13204. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13205. Merge branch 'maint'
  13206. * maint:
  13207. maint: add a rule to use gnulib's update-copyright
  13208. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13209. Merge branch 'extra-dist-tests-ksh-bug'
  13210. * extra-dist-tests-ksh-bug:
  13211. tests: avoid ksh bug for wildcards in EXTRA_DIST
  13212. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13213. Merge branch 'yl-work-for-master'
  13214. * yl-work-for-master: (44 commits)
  13215. tests: truly use Lex and Yacc selected by configure
  13216. news: fix grammaros related to Yacc
  13217. yacc/lex tests: avoid spurious skips with non-GNU make
  13218. fixup: remove double news entry
  13219. tests: workaround for shells with broken 'set -e'
  13220. tests: avoid spurious failure with non-bison yacc
  13221. tests: fix spurious failures due to missing 'yywrap()' function
  13222. fixup: list of yacc/lex tests was botched
  13223. tests: work around bug#7884 in many yacc/lex tests
  13224. yacc/lex tests: remove an unneeded workaround for bug#8485
  13225. yacc/lex tests: avoid too much failures with FreeBSD make
  13226. yacc-dist-nobuild.test: add reference to bug#7884
  13227. yacc tests: fix bug in 'yacc-cxx.test'
  13228. lex tests: fix spurious link errors on Solaris
  13229. lex: "make clean" removes .c files from non-distributed .l
  13230. lex tests: make test on Lex dependency tracking more "semantic"
  13231. lex tests: remove erroneous check about ylwrap distribution
  13232. yacc tests: "make clean" removes C++ files from non-distributed .y
  13233. tests: add a workaround for automake bug#8485
  13234. tests: add a couple of inter-tests reference
  13235. ...
  13236. 2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  13237. cscope: is only expected to work with GNU make in VPATH setup
  13238. The 'cscope' functionality does not properly handle VPATH rewrites;
  13239. so we explicitly document that, for now, it is only ensured to work
  13240. with GNU make when doing a VPATH build, and we adjust testsuite
  13241. requirements accordingly.
  13242. Issue revealed by a failure of 'cscope.test' with Solaris 10 CCS
  13243. make.
  13244. * doc/automake.texi (Tags): Document the limitations of the cscope
  13245. support. Couple of fixlets to formatting since we are at it.
  13246. * tests/cscope.test: Converted to TAP, and thus moved ...
  13247. * tests/cscope.tap: ... here. Only run tests with VPATH builds when
  13248. using GNU make. Adjust so that no C, C++, Fortran or Java compiler,
  13249. nor any Emacs program, will be required to run this test.
  13250. * tests/list-of-tests.mk: Adjust.
  13251. 2012-02-14 Jim Meyering <meyering@redhat.com>
  13252. maint: add a rule to use gnulib's update-copyright
  13253. * lib/update-copyright: New file, from gnulib.
  13254. * Makefile.am (FETCHFILES): Add update-copyright to the list.
  13255. (fetch): Fetch it.
  13256. (update-copyright): New rule.
  13257. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13258. Merge branch 'doc-no-history'
  13259. * doc-no-history:
  13260. docs: move chapter on automake history out of main manual
  13261. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13262. check: fix test-suite.log formatting with NetBSD sed
  13263. * lib/am/check.am (am__rst_section): Tweak to ensure en extra final
  13264. newline is printed also with NetBSD sed. Issue revealed by a
  13265. failure of 'test-metadata-global-result.test'.
  13266. * tests/rst-formatting.test: New test, checking the internal
  13267. variables '$(am__rst_title)' and '$(am__rst_section)'.
  13268. * tests/list-of-tests.mk: Add it.
  13269. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13270. tests: avoid ksh bug for wildcards in EXTRA_DIST
  13271. Some shells, like NetBSD 5.1 /bin/ksh, have a bug that causes
  13272. wildcards resulting from an unquoted parameter expansion not to
  13273. be expanded as expected in some cases:
  13274. $ touch a b c d
  13275. $ /bin/sh -c 'var="[ab]" && echo $var' # As expected.
  13276. a b
  13277. $ /bin/ksh -c 'var="[ab]" && echo $var' # Oops.
  13278. [ab]
  13279. $ /bin/ksh -c 'var="?" && echo $var' # But this as expected.
  13280. a b c d
  13281. This was causing a failure in our testsuite. Work around that.
  13282. See also:
  13283. <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00149.html>
  13284. * tests/extra11.test: Work around the described issue by using the
  13285. $(wildcard) builtin in the EXTRA_DIST definition. This is not a
  13286. problem, since this test was assuming GNU make anyway. Since we are
  13287. at it, enhance coverage a little by also running "make distcheck".
  13288. * tests/extra10.test: Similarly, enhance coverage by also running
  13289. "make distcheck", and fix a minor bug in the process. But continue
  13290. using a "bare" wildcard expression in EXTRA_DIST, without involving
  13291. the $(wildcard) builtin, to ensure coverage of similar usages "in
  13292. the wild".
  13293. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13294. Merge branch 'fix-tap-signal-test'
  13295. * fix-tap-signal-test:
  13296. fixup: fix test tap-signal.tap to avoid false negatives
  13297. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13298. fixup: fix test tap-signal.tap to avoid false negatives
  13299. Problem introduced by yesterday commit v1.11-1851-g79b2c6a,
  13300. "tests: avoid yet other spurious failures on NetBSD"
  13301. * tests/tap-signal.tap: Truly ensure the exit status of the make
  13302. call under test is correctly reflected in the TAP result displayed
  13303. by the corresponding 'command_ok_' invocation.
  13304. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13305. Merge branch 'maint'
  13306. * maint:
  13307. fixup: do not tickle makefile-deps.test with the make_dryrun code
  13308. gitattributes: custom merge driver for ChangeLog not needed anymore
  13309. gitattributes: use "union" merge driver for NEWS
  13310. 2012-02-14 Peter Rosin <peda@lysator.liu.se>
  13311. fixup: do not tickle makefile-deps.test with the make_dryrun code
  13312. * lib/am/header-vars.am (am__make_dryrun): Avoid code matching
  13313. '^ *:' in the Makefile, as that tickles makefile-deps.test.
  13314. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13315. gitattributes: custom merge driver for ChangeLog not needed anymore
  13316. * .gitattributes: We don't maintain a version-controlled ChangeLog
  13317. file anymore, so we have no need to specify a custom merge driver
  13318. for it anymore. Update accordingly.
  13319. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13320. gitattributes: use "union" merge driver for NEWS
  13321. This should help in reducing the spurious merge conflicts for the
  13322. NEWS file, which have already caused a great deal of confusion and
  13323. wasted time.
  13324. Suggestion by Eric Blake:
  13325. http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html
  13326. * .gitattributes (NEWS): Use the "union" merge driver.
  13327. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13328. tests: truly use Lex and Yacc selected by configure
  13329. When 'yacc-work' was merged into 'yl-work-for-master' in commit
  13330. v1.11-1910-ge6c40d4 (12-02-2012), the values for $YACC and $LEX
  13331. stopped being substituted directly by config.status, and started
  13332. being substituted by a Makefile rule using the contents of the
  13333. $(YACC) and $(LEX) makefile variables.
  13334. Unfortunately, our configure.ac was calling AM_SUBST_NOTMAKE on
  13335. 'YACC' and 'LEX' (see commit v1.11-284-g34ca92b of 29-01-2011,
  13336. "tests: don't define YACC and LEX in the Makefiles", for a
  13337. rationale), so that the $(YACC) and $(LEX) in the Makefile simply
  13338. hold the default make-provided values (that is, "yacc" and "lex"
  13339. respectively), independently of what yacc and lex programs were
  13340. defined at configure time.
  13341. Apart from reducing coverage and creating confusion, this behaviour
  13342. also caused spurious failures on systems lacking a yacc and/or lex
  13343. programs.
  13344. Problem reported by Peter Rosin. References:
  13345. <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00131.html>
  13346. <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00132.html>
  13347. * configure.ac (AM_SUBST_NOTMAKE): Don't call anymore on 'YACC' nor
  13348. on 'LEX'.
  13349. 2012-02-14 Peter Rosin <peda@lysator.liu.se>
  13350. depcomp tests: do not specify LDFLAGS for static libraries
  13351. Commit v1.11-1848-gb3f34ca accidentally specified LDFLAGS
  13352. for libbaz even when built as a static library, which is
  13353. not allowed.
  13354. * tests/depcomp.sh (src/Makefile.am): Don't add any LDFLAGS
  13355. when libbaz is built as a static library.
  13356. 2012-02-14 Peter Rosin <peda@lysator.liu.se>
  13357. depcomp tests: avoid redundant runs for non-libtool test
  13358. When running the dependency tests without libtool, it's
  13359. not meaningful to run the tests three-fold, the libtool
  13360. configure options are simply ignored anyway.
  13361. * tests/depcomp.sh: Only run the tests three-fold when
  13362. libtool is in use.
  13363. 2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  13364. tests: avoid yet other spurious failures on NetBSD
  13365. * tests/tap-signal.tap: Add a "strategically placed" extra 'echo'
  13366. command and a temporary silencing of xtraces; they are required
  13367. to avoid possible garbled output with NetBSD make, which would
  13368. miss some final newlines in the expected places and thus mess up
  13369. our TAP output.
  13370. 2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  13371. tests: avoid a spurious failure on NetBSD
  13372. * tests/test-driver-is-distributed.test: Rewrite to avoid having to
  13373. edit configure.in; such editing was subtly botched on NetBSD (the
  13374. 'AC_CONFIG_AUX_DIR' call got misplaced, ending up *before* the
  13375. 'AC_INIT' call), and that caused an hard-to-track bug. Since we
  13376. are at it, extend coverage a little.
  13377. 2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  13378. tests: avoid spurious failure with NetBSD /bin/ksh
  13379. * tests/parallel-tests-fd-redirect-exeext.test (configure.in): Tweak
  13380. so that we don't end up with the generated configure script having
  13381. two nested subshells that start with '((':
  13382. ((./conftest$EXEEXT 9>&1) | grep "^foobar") >&5 2>&5
  13383. which is unportable and could confuse some shells (e.g., NetBSD 5.1
  13384. /bin/ksh) into thinking we are trying to perform an arithmetic
  13385. operation.
  13386. 2012-02-13 Peter Rosin <peda@lysator.liu.se>
  13387. tests: increase coverage for depcomp tests
  13388. On platforms requiring that no undefined symbols exist in order
  13389. to build shared libraries (e.g. Windows DLLs), you have to
  13390. explicitly declare that the libtool library you are building
  13391. does not actually have any undefined symbols, for libtool to
  13392. even try to build it as a shared library. Without that
  13393. explicit declaration, libtool falls back to a static library
  13394. only, regardless of any --enable-shared flags etc.
  13395. tests/depcomp.sh (Makefile.am): Add -no-undefined if a libtool
  13396. library (.la) is built.
  13397. (src/Makefile.am): Likewise.
  13398. 2012-02-13 Peter Rosin <peda@lysator.liu.se>
  13399. news: fix grammaros related to Yacc
  13400. * NEWS: Fix some grammaros and typos.
  13401. 2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  13402. yacc/lex tests: avoid spurious skips with non-GNU make
  13403. * tests/defs (useless_vpath_rebuild): Fix botched logic that
  13404. was causing this function to always diagnose non-GNU make
  13405. implementations as being affected by the "useless rebuilds
  13406. in VPATH setup" bug (that affects FreeBSD make and causes
  13407. automake bug#7884).
  13408. 2012-02-13 Peter Rosin <peda@lysator.liu.se>
  13409. fixup: remove double news entry
  13410. * NEWS: Remove double (stale) news entry introduced by a botched
  13411. merge.
  13412. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13413. tests: workaround for shells with broken 'set -e'
  13414. * tests/dist-formats.tap: Some versions of the BSD shell wrongly
  13415. bail out when the 'errexit' shell flag is active and the left-hand
  13416. command in a "&&" list fails and that list is the *last* command
  13417. of a "case" statement. This was causing an incorrect initialization
  13418. of the '$missing_compressors' variable, and thus potential spurious
  13419. failures when non-existing programs were assumed to be available.
  13420. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13421. tests: workaround for shells with broken 'set -e'
  13422. * tests/yacc-cxx.test: Some versions of the BSD shell wrongly bail
  13423. out when the 'errexit' shell flag is active if the left-hand
  13424. command in a "&&" list fails and such list is the *last* command
  13425. of a "for" or "while" loop or of an "if" construct. Work around
  13426. this issue.
  13427. * tests/check12.test: Likewise.
  13428. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13429. tests: avoid spurious failure with non-bison yacc
  13430. Issue revealed by a failure on NetBSD 5.1.
  13431. * tests/suffix10.tap (Makefile.am): Adjust the rule generating
  13432. the '.y' files so that such files won't use bison-only features.
  13433. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13434. tests: fix spurious failures due to missing 'yywrap()' function
  13435. The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
  13436. the "lex library" expected to provide a 'yywrap' function (function
  13437. which is required to link most lex-generated programs). On the
  13438. contrary, when all the link attempts (i.e., with '-ll' and '-lfl')
  13439. fail, configure declares that no lex library is needed, and simply
  13440. proceeds with the configuration process -- only for the build to
  13441. possibly fail later, at make time.
  13442. This behaviour is intended; the Autoconf manual reads:
  13443. You are encouraged to use Flex in your sources, since it is
  13444. both more pleasant to use than plain Lex and the C source it
  13445. produces is portable. In order to ensure portability, however,
  13446. you must either provide a function 'yywrap' or, if you don't use
  13447. it (e.g., your scanner has no '#include'-like feature), simply
  13448. include a '%noyywrap' statement in the scanner's source.
  13449. This AC_PROG_LEX behaviour is causing some spurious failures of
  13450. the Automake testsuite in environments which lack a proper library
  13451. providing 'yywrap' (this happens for example on Fedora-based
  13452. systems). The proper workaround is to simply provide a fall-back
  13453. implementation of 'yywrap' in our lexers.
  13454. See also similar commits 'v1.11-546-gca0ba5d' (24-10-2011),
  13455. 'v1.11-1085-gb5c3968' (24-10-2011) and 'v1.11-871-geb147a1'
  13456. (25-05-2011).
  13457. * tests/lex-clean.test: Provide a dummy 'yywrap' function.
  13458. * tests/lex-line.test: Likewise.
  13459. * tests/lex-nodist.test: Likewise.
  13460. * tests/lex-depend.test: Likewise.
  13461. * tests/lex-clean-cxx.test: Move the dummy 'yywrap' function
  13462. from the main '.cc' file into the '.lxx' file, so that it won't
  13463. be subject to the namespace declaration in the '.cc' file (which
  13464. was causing a spurious link error in systems without a default
  13465. "lex library").
  13466. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13467. Merge branch 'yacc-work' into yl-work-for-master
  13468. * yacc-work: (37 commits)
  13469. fixup: list of yacc/lex tests was botched
  13470. tests: work around bug#7884 in many yacc/lex tests
  13471. yacc/lex tests: remove an unneeded workaround for bug#8485
  13472. yacc/lex tests: avoid too much failures with FreeBSD make
  13473. yacc-dist-nobuild.test: add reference to bug#7884
  13474. yacc tests: fix bug in 'yacc-cxx.test'
  13475. lex tests: fix spurious link errors on Solaris
  13476. lex: "make clean" removes .c files from non-distributed .l
  13477. lex tests: make test on Lex dependency tracking more "semantic"
  13478. lex tests: remove erroneous check about ylwrap distribution
  13479. yacc tests: "make clean" removes C++ files from non-distributed .y
  13480. tests: add a workaround for automake bug#8485
  13481. tests: add a couple of inter-tests reference
  13482. lex tests: require just `lex' instead of `flex'
  13483. fix typo in ChangeLog (2011-05-04)
  13484. tests defs: use `skip_' for skipping yacc/lex related tests
  13485. lex/yacc tests: remove redundant $distdir definition
  13486. coverage: test lex-generated "#line" directives postprocessing
  13487. tests: minor improvements to a couple of yacc tests
  13488. tests: fix spurious failure in test 'yacc-d-cxx.test'
  13489. ...
  13490. + Extra non-trivial edits:
  13491. * tests/defs.in: Delete; the differences from maint has been
  13492. merged into 'tests/defs' and 'tests/defs-static.in'.
  13493. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to
  13494. skip the whole test case if yacc (resp. lex) is missing.
  13495. (bison): New, set up the environment so that 'bison -y' will
  13496. be used as the yacc program.
  13497. (useless_vpath_rebuild, yl_distcheck): Moved in from
  13498. 'tests/defs.in'.
  13499. * tests/defs-static.in ($YACC, $LEX): Default to the values
  13500. determined at configure time, and allow them to be overridden
  13501. by the more namespace-safe variables '$AM_TESTSUITE_YACC' and
  13502. '$AM_TESTSUITE_LEX' respectively.
  13503. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and
  13504. '@LEX@'.
  13505. * Several tests: Fix requirements declarations, by preferring
  13506. 'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
  13507. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13508. fixup: list of yacc/lex tests was botched
  13509. * tests/list-of-tests.mk: Update to take into account the addition,
  13510. renaming, removing or split-ups of Yacc/Lex tests that have taken
  13511. place in the 'yacc-work' branch. Problem likely introduced by a
  13512. botched merge of 'maint' into 'yacc-work'.
  13513. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13514. docs: move chapter on automake history out of main manual
  13515. The chapter on Automake history, while certainly interesting and
  13516. even fascinating, does not truly pertain to a reference manual,
  13517. so move it out from there and into its own dedicated file. This
  13518. change is made more advisable and pressing by the fact that such
  13519. and "Automake history" chapter hasn't been updated since the 1.9.6
  13520. release, so it has been becoming less faithful and useful since
  13521. then.
  13522. * doc/history.texi: New, manual on the history of the automake
  13523. package; extracted from ...
  13524. * doc/automake.texi: ... this file, with related adjustments.
  13525. * doc/Makefile.am (info_TEXINFOS): Add 'history.texi'.
  13526. (history_TEXINFOS): New, list included file 'fdl.texi'.
  13527. * Makefile.am (release-stats): Remove as obsolete.
  13528. * HACKING (Release Procedure): Don't advise anymore to run the
  13529. "release-stats" target and to update the manual with its output.
  13530. * NEWS: Update.
  13531. * .gitignore: Likewise.
  13532. 2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  13533. depcomp tests: avoid redundant runs for libtool tests
  13534. When running libtool-oriented tests, our 'depcomp.sh' script used
  13535. to run the same checks thrice: once after having run configure
  13536. with the '--disable-shared' option, once after having run it with
  13537. the '--enable-shared' option, and once by allowing configure to
  13538. automatically select which kind of library (or libraries) to build.
  13539. This was done to offer extra coverage for the less-common depmodes
  13540. (like "aix" of "hp2") where the name of the compiler-generated
  13541. depfiles can depend on whether libtool is in use *and* on which
  13542. kind of libraries libtool is building (static, shared, or both).
  13543. About this, see commit 'Release-1-10-24-ge89ec38' of 28-03-2007,
  13544. "* lib/depcomp (aix): Rewrite depmode in the spirit of the tru64
  13545. one".
  13546. But that extra coverage came at the price of *considerably* slowing
  13547. down the depcomp libtool-oriented tests, since for each of them the
  13548. tested source tree was configured and built *twelve* times (rather
  13549. than "just" four as it is for the non-libtool case).
  13550. So, to strike a balance between coverage and speed, we now run the
  13551. libtool-oriented tests with the three different configuration modes
  13552. *only* when it is possible that the depmode that will get selected
  13553. is one of those which can actually benefit from the extra coverage.
  13554. * tests/depcomp.sh: Adjust to only run the threefold libtool tests
  13555. when that can truly be potentially useful. Add related explanatory
  13556. comments.
  13557. 2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  13558. tests: avoid wrong skips in dist-formats.tap
  13559. * tests/dist-formats.tap: The test checking whether the 'compress'
  13560. program is actually capable of compressing files relied on the
  13561. assumption that 'compress' exits with status zero if no problem
  13562. occurs; alas, this reasonable assumption doesn't hold in practice,
  13563. since 'compress' does (and is documented to) exit with status 2 if
  13564. the output is larger than the input after (attempted) compression!
  13565. Fix this by using and input that 'compress' can actually reduce in
  13566. size when compressing.
  13567. Do some related reformatting of surrounding code since we are at it.
  13568. 2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  13569. tests: few tweakings and cosmetic changes
  13570. * tests/dist-formats.tap: Fix botched spacing.
  13571. * tests/subobjname.test: Prefer spaces to tabs in indentation.
  13572. * tests/cond43.test: Likewise.
  13573. * tests/comment7.test: Likewise.
  13574. * tests/compile_f90_c_cxx.test: Use "$tab" instead of literal
  13575. tab characters in the grep regexp.
  13576. * tests/compile_f_c_cxx.test: Likewise.
  13577. * tests/pluseq3.test: Likewise.
  13578. * tests/cond-basic.test: Likewise.
  13579. * tests/acloca16.test: Add empty line before trailing ':' command.
  13580. * tests/bsource.test: Likewise.
  13581. * tests/depend5.test: Likewise.
  13582. * tests/depend6.test: Likewise.
  13583. * tests/destdir.test: Likewise.
  13584. * tests/fort2.test: Likewise.
  13585. * tests/instdir-java.test: Likewise.
  13586. * tests/instdir-lisp.test: Likewise.
  13587. * tests/instdir-python.test: Likewise.
  13588. * tests/instdir.test: Likewise.
  13589. * tests/instdir2.test: Likewise.
  13590. * tests/ltinstloc.test: Likewise.
  13591. * tests/missing.test: Likewise.
  13592. * tests/missing2.test: Likewise.
  13593. * tests/nodef.test: Likewise.
  13594. * tests/nodef2.test: Likewise.
  13595. * tests/subst4.test: Likewise.
  13596. * tests/werror3.test: Likewise.
  13597. * tests/commen11.test: Likewise. Also, make grepping of automake
  13598. stderr slightly stricter, and properly quote strings with shell
  13599. metacharacters.
  13600. * tests/nodep2.test: Add empty line before trailing ':' command.
  13601. Do not create unneeded dummy source files.
  13602. 2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  13603. tests: remove a couple of redundant 'set -e' calls
  13604. * tests/conffile-leading-dot.test: Do not set the 'errexit'
  13605. shell flag, as it is already set by 'tests/defs'.
  13606. * tests/make-dryrun.test: Likewise.
  13607. 2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  13608. Merge branch 'maint'
  13609. * maint:
  13610. tests: fix a timestamp-related spurious failures
  13611. dryrun: fix regression with '$(am__make_dryrun)'
  13612. test defs: function 'is_newest' now works also with directories
  13613. 2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
  13614. Merge branch 'dryrun-fix' into maint
  13615. * dryrun-fix:
  13616. dryrun: fix regression with '$(am__make_dryrun)'
  13617. 2012-02-09 Peter Rosin <peda@lysator.liu.se>
  13618. tests: check if 'compress' is real or fake
  13619. On Cygwin, 'compress' is provided by sharutils and is just a
  13620. dummy script that is not able to actually compress (it can
  13621. only decompress). This fake 'compress' is not usable for
  13622. our purpose - to create compressed tarballs.
  13623. * tests/dist-formats.tap (missing_compressors): Count 'compress'
  13624. as missing if it does not support the -c option.
  13625. 2012-02-08 Peter Rosin <peda@lysator.liu.se>
  13626. Merge branch 'msvc'
  13627. * msvc:
  13628. depcomp: try to prevent whitespace regressions
  13629. depcomp: recognize tabs as whitespace in the dashmstdout mode
  13630. depcomp: quote 'like this', not `like this'
  13631. 2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  13632. depcomp tests: avoid spurious failures with 'dashXmstdout' depmode
  13633. * tests/gen-testsuite-part: The 'dashXmstdout' depmode cannot be
  13634. truly forced on gcc (like we were trying to do, causing spurious
  13635. failures in the process); so don't do that. This change shouldn't
  13636. actually reduce coverage anyway, since, as the comments in
  13637. 'lib/depcomp' say, the 'dashXmstdout' depmode is just like
  13638. the 'dashmstdout' one, only with a different argument for the
  13639. compiler.
  13640. 2012-02-08 Peter Rosin <peda@lysator.liu.se>
  13641. depcomp: try to prevent whitespace regressions
  13642. Suggested by Stefano Lattarini.
  13643. * lib/depcomp: Add $tab and $nl variables and use them
  13644. throughout.
  13645. 2012-02-08 Peter Rosin <peda@lysator.liu.se>
  13646. depcomp: recognize tabs as whitespace in the dashmstdout mode
  13647. Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in
  13648. dependencies." inadvertedly converted tabs into spaces.
  13649. * lib/depcomp (dashmstdout): Add a tab character to all sets
  13650. matching whitespace.
  13651. 2012-02-08 Peter Rosin <peda@lysator.liu.se>
  13652. depcomp: quote 'like this', not `like this'
  13653. Cherry-picked from recent changes from master.
  13654. * lib/depcomp: Quote 'like this', not `like this'.
  13655. 2012-02-08 Peter Rosin <peda@lysator.liu.se>
  13656. tests: check the depmodes 'msvisualcpp' and 'msvcmsys'
  13657. * tests/defs (cygpath): New requirement, checking that cygpath
  13658. is working.
  13659. (mingw): New requirement, checking that the build system is
  13660. MSYS (in its normal MinGW mode).
  13661. * tests/gen-testsuite-part (depmodes): Add entries for depmodes
  13662. 'msvisualcpp' and 'msvcmsys'.
  13663. 2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  13664. tests: better way to compare lists in Makefile rules
  13665. With this commit, we introduce a new helper shell script for use
  13666. in the testsuite, which is meant to allow the test cases to easily
  13667. check whether two whitespace-separated lists are equal; this ability
  13668. is particularly useful to check for equality of the contents of make
  13669. variables that are expected to contain multiple whitespace-separated
  13670. words, and are defined through line continuations (or are rewritten
  13671. by automake in this way), or that contain expansion of potentially
  13672. empty variables.
  13673. Before this change, a test checking that an usage like this one:
  13674. VAR = valA
  13675. if COND1
  13676. VAR += val1 # com1
  13677. endif COND1
  13678. VAR += valC
  13679. worked as expected, couldn't use rules like:
  13680. ## Doesn't work because $(VAR) expands to multiple words
  13681. verify:
  13682. test $(VAR) = "valA val1 valC"
  13683. nor like:
  13684. ## Doesn't work because the final expansion of $(VAR) contains
  13685. ## repeated contiguous whitespace characters (it actually
  13686. ## equals "valA val1 valC", not "valA val1 valC"), and this
  13687. ## is an internal detail which might change and which we don't
  13688. ## want to explicitly rely on.
  13689. verify:
  13690. test "$(VAR)" = "valA val1 valC"
  13691. Instead, we had to rely on cumbersome workaround such as:
  13692. ## This works, but is ugly.
  13693. verify:
  13694. test "`echo $(VAR)`" = "valA val1 valC"
  13695. or:
  13696. ## This works, but is even uglier.
  13697. verify:
  13698. echo BEG: $(VAR) :END | grep "BEG: valA val1 valC :END"
  13699. Now, with the help of the new 'is' script, we can perform such a
  13700. check in a clearer and more straightforward way, as in:
  13701. ## Works, and reads clearly.
  13702. verify:
  13703. is $(VAR) == valA val1 valC
  13704. * tests/is: New helper shell script, telling whether two whitespace
  13705. separated lists are equal.
  13706. * Makefile.am (EXTRA_DIST): Add it.
  13707. * tests/colneq2.test: Use the new helper script, and accordingly
  13708. get rid of older, more cumbersome idioms.
  13709. * tests/cond11.test: Likewise.
  13710. * tests/cond16.test: Likewise.
  13711. * tests/cond18.test: Likewise.
  13712. * tests/cond22.test: Likewise.
  13713. * tests/cond31.test: Likewise.
  13714. * tests/cond38.test: Likewise.
  13715. * tests/test-logs-repeated.test: Likewise.
  13716. * tests/objext-pr10128.test: Likewise.
  13717. * tests/programs-primary-rewritten.test: Likewise.
  13718. * tests/substre2.test: Likewise. Also ...
  13719. (configure.in, Makefile.am): Add a couple of hack to avoid having
  13720. to require (and run) a C compiler; accordingly ...
  13721. ($required): ... remove this.
  13722. * tests/exeext4.test: Likewise.
  13723. * tests/substref.test: Likewise. Also ...
  13724. (hello.c): Use ": >" rather than "cat <<EOF" to generate it,
  13725. since it's meant to be empty anyway.
  13726. * tests/cond4.test: Use the new helper script, and accordingly
  13727. get rid of older, more cumbersome idioms. Avoid some unnecessary
  13728. uses of "make -e" since we are at it.
  13729. * tests/cond19.test: Likewise.
  13730. * tests/cond32.test: Likewise.
  13731. * tests/cond6.test: Use the new helper script, and accordingly
  13732. move some checks in the Makefile.am.
  13733. Avoid unnecessary execution of automake remake rules by manually
  13734. "touching" aclocal.m4
  13735. 2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  13736. tests: improve and rework tests on dependency tracking
  13737. Fixes automake bug#10434. Suggestion by Peter Rosin.
  13738. The 'depcomp.tap' test case worked by trying to unconditionally
  13739. force the compiler in use by the testsuite to use, one by one, *all*
  13740. the dependency modes known by the 'depcomp' script, and, for each
  13741. such forced mode that was compatible enough with said compiler not
  13742. to cause breakage in the basic compilation rules, checking that it
  13743. was *also* good enough not to break remake rules in VPATH builds.
  13744. This seemed a good approach when this test was first introduced, as
  13745. it apparently increased coverage for the less used and less tested
  13746. dependency-tracking modes. But in the log run it turned out the
  13747. approach was actually in part too brittle, causing some annoying
  13748. spurious failures (as with the Tru64 depmode forced on GCC, see
  13749. automake bug#10434), and partly too forgiving, since, for some of
  13750. the more corner-case dependency modes, the 'depcomp' script simply
  13751. reverts to silently disabling dependency tracking when an error is
  13752. encountered (this happened e.g., with the Tru64 depmode forced on
  13753. the Sun C compiler 5.9), so that a passing test means nothing, and
  13754. only gives a false sense of security.
  13755. As Peter Rosin put it, "it's just dead wrong to assume that feeding
  13756. -M or -xM to the compiler (or whatever other random stuff 'depcomp'
  13757. might do) and not get an error is the same as dependencies magically
  13758. appearing".
  13759. So we get rid of this wrong approach, and in the process proceed to
  13760. a complete overhaul of many of the tests on automatic dependency
  13761. tracking, extending the offered coverage and rationalizing their
  13762. organization.
  13763. * tests/depcomp.sh: New helper script, used by several new
  13764. autogenerated tests.
  13765. * tests/gen-testsuite-part: Generate several tests based on the
  13766. new 'depcomp.sh' script. Emit makefile code that declares their
  13767. dependency on that script, and that extends EXTRA_DIST in order
  13768. to distribute it.
  13769. * tests/depmod.tap: Remove.
  13770. * tests/depend2.test: Remove, it has been subsumed by the new
  13771. autogenerated test 'depcomp-disabled.tap'.
  13772. * tests/depcomp3.test: Remove, it has been subsumed by the new
  13773. autogenerated test 'depmod-dashmstdout.tap'.
  13774. * tests/depcomp3.test: Remove, it has been subsumed by the new
  13775. autogenerated test 'depmod-lt-makedepend.tap'.
  13776. * tests/depcomp6.test: Remove, it has been subsumed by the new
  13777. autogenerated test 'depmod-auto.tap'.
  13778. * tests/depcomp7.test: Remove, it has been subsumed by the new
  13779. autogenerated test 'depmod-lt-auto.tap'.
  13780. * tests/depcomp5.test: Remove as obsolescent.
  13781. * test/list-of-tests.mk: Adjust.
  13782. * .gitignore: List the new autogenerated tests.
  13783. 2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  13784. tests: fix a timestamp-related spurious failures
  13785. Fixes automake bug#10737. Report from Larry Daniel.
  13786. See also automake bug#8365 and commit 'v1.11-329-gd4df619' of
  13787. 30-03-2011, "tests: fix timestamp-related failures".
  13788. * tests/aclocal5.test: Sleep before modifying m4 files that should
  13789. trigger remake rules. This fixes an hard-to-hit timestamp-related
  13790. race condition.
  13791. * THANKS: Update.
  13792. 2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  13793. dryrun: fix regression with '$(am__make_dryrun)'
  13794. In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new
  13795. variable '$(am__make_dryrun)' that could be used in recipes to
  13796. determine whether make is running in dry mode (e.g., as with
  13797. "make -n"). Unfortunately, the idiom we used fails to take into
  13798. account the case in which $(MAKEFLAGS) contains one or more variable
  13799. definitions whose value is a whitespace-separated list; for example,
  13800. if we invoke make as:
  13801. make check TESTS="n1.test n2.test"
  13802. then the better make implementations out there (at least modern
  13803. GNU make and BSD make) will export MAKEFLAGS to the following
  13804. value:
  13805. TESTS=n1.test\ n2.test
  13806. So a shell loop like the one we used in $(am__make_dryrun):
  13807. for flag in $$MAKEFLAGS; do ...
  13808. won't behave as expected: the shell word-splitting rules will break
  13809. up the entry for TESTS into the two distinct entries "TESTS=n1.test\"
  13810. and "n2.test", and this second entry will goad our $(am__make_dryrun)
  13811. code into thinking that make is performing a dry run!
  13812. So now we simply loop over the expanded value of $(MAKEFLAGS).
  13813. This solves the regression, but alas, is more brittle in case the
  13814. users passes on the command line a macro value containing unbalanced
  13815. " or ' quotes, or shell metacharacters like, say, '`' or '('. This
  13816. should almost never happen though, so we don't worry about it now;
  13817. we will revisit the issue only when and if we receive bug reports in
  13818. this area.
  13819. * lib/am/header-vars.am (am__make_dryrun): Fix.
  13820. * tests/make-dryrun.test: New test.
  13821. * tests/list-of-tests.mk: Add it.
  13822. 2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com>
  13823. tests: work around bug#7884 in many yacc/lex tests
  13824. Due to automake bug#7884, many test cases on Yacc/Lex support are
  13825. failing when run with FreeBSD make. Since these failures are all
  13826. due to the same bug, and that bug is well understood and already
  13827. explicitly exposed in the dedicated 'yacc-dist-nobuild.test' test,
  13828. the reported failures are mostly noise, that not only is annoying,
  13829. but which might end up covering different real bugs or regressions.
  13830. Thus we minimize such spurious failures, by ensuring the commands
  13831. triggering them (most of them being "make distcheck" invocations)
  13832. will be skipped when $MAKE suffers of the bug/limitation that
  13833. triggers automake bug#7884.
  13834. * tests/defs.in (useless_vpath_rebuild): New function.
  13835. (yl_distcheck): Likewise.
  13836. * tests/lex3.test, tests/subpkg-yacc.test, tests/yacc-basic.test,
  13837. tests/yacc-cxx.test, tests/yacc-d-basic.test, tests/yacc-d-cxx.test,
  13838. tests/yacc-dist-nobuild-subdir.test : Use them to avoid extra
  13839. failures caused by automake bug#7884. Where possible, throw in
  13840. some related simplifications.
  13841. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13842. Merge branch 'maint' into yacc-work
  13843. * maint: (75 commits)
  13844. test defs: function 'is_newest' now works also with directories
  13845. refactor: new variable telling whether make is running in "dry mode"
  13846. ...
  13847. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13848. test defs: avoid spurious XPASS results with NetBSD make
  13849. * tests/defs (make_can_chain_suffix_rules): Ensure to properly
  13850. declare the '.SUFFIXES:' in the temporary Makefile used to check
  13851. whether $MAKE is able to automatically chain suffix rules. This
  13852. avoids spurious XPASS results with (at least) NetBSD make in some
  13853. 'suffix*.tap' tests; in a sense also, this also makes the probing
  13854. of $MAKE capabilities more faithful, since the Automake-generated
  13855. Makefiles are expected to properly declare the '.SUFFIXES:' as
  13856. well.
  13857. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13858. cosmetics: few whitespace fixlets
  13859. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13860. cosmetics: various typofixes
  13861. Several typofixes in documentation and comments, as
  13862. suggested by the "codespell.py" script. Reference:
  13863. <http://git.profusion.mobi/cgit.cgi/lucas/codespell/>
  13864. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13865. cosmetics: convert encoding from ISO-8859 to UTF-8 in some tests
  13866. The changed files have been converted using iconv; specifically,
  13867. the command "iconv --from-code=ISO-8859-1 --to-code=UTF-8".
  13868. * tests/block.test, tests/tagsub.test: Converted to UTF-8 encoding.
  13869. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13870. test defs: remove obsolete requirement 'rst2html'
  13871. * tests/defs (rst2html): Remove, it's not needed anymore now that
  13872. the old code supporting the ".log -> .html" conversion for the
  13873. parallel-tests harness has been moved in contrib. This removal
  13874. should have actually be done in commit v1.11-1757-g0a9d201 of
  13875. 17-01-2012, 'check: move ".log -> .html" conversion in contrib'.
  13876. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13877. tests: workaround for shells with broken 'set -e'
  13878. * tests/defs (gmake, native, rst2html): Some versions of the BSD
  13879. shell wrongly bail out when the 'errexit' shell flag is active and
  13880. the left-hand command in a "&&" list fails, if that list is the
  13881. *last* command of a "for" or "while" loop. Work around this issue.
  13882. * tests/lex3.test: Likewise.
  13883. * tests/check12.test: Likewise.
  13884. * tests/yacc-basic.test: Likewise.
  13885. * tests/lex-noyywrap.test: Likewise.
  13886. * tests/parallel-tests2.test: Likewise.
  13887. * tests/lex-lib-external.test: Likewise.
  13888. * tests/check-no-test-driver.test: Likewise.
  13889. * tests/test-metadata-recheck.test: Likewise.
  13890. * tests/parallel-tests-dry-run-1.test: Likewise.
  13891. * tests/parallel-tests-dry-run-2.test: Likewise.
  13892. * tests/parallel-tests-unreadable.test: Likewise.
  13893. * tests/test-driver-custom-no-extra-driver.test: Likewise.
  13894. Problem revealed by spurious testsuite failures on a NetBSD 5.1
  13895. system and an OpenBSD 5.0 system.
  13896. 2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  13897. cosmetics: fix a typo in comments
  13898. * tests/extra-programs-empty.test: Fix typo in heading comments.
  13899. 2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  13900. test defs: function 'is_newest' now works also with directories
  13901. Reported by Jim Meyering against automake master (see bug#9147) and
  13902. by Adam Sampson against automake 1.11.3 (see bug#10730).
  13903. * tests/defs (is_newest): Call 'find' with the '-prune' option,
  13904. so that it won't descend in the directories (which could cause
  13905. spurious results).
  13906. * THANKS: Update.
  13907. Backported from commit v1.11-914-gb6a40fa (originally on master).
  13908. 2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  13909. parallel-tests: more uses for '$(am__make_dryrun)'
  13910. With this change we refactor some recipes of the parallel-tests
  13911. harness to make them use, where appropriate, the new internal
  13912. variable '$(am__make_dryrun)' (introduced in the 'maint' branch)
  13913. when they need to determine whether make is running in "dry mode",
  13914. i.e., with "make -n". This allows for some simplifications and
  13915. for improved uniformity.
  13916. * lib/am/check.am (check-TESTS recheck): Use $(am__make_dryrun) and
  13917. simplify accordingly.
  13918. (am--redo-logs): Delete this internal helper recipe, merged into ...
  13919. ($(TEST_SUITE_LOG)): ... this, with the help of $(am__make_dryrun).
  13920. recipe accordingly.
  13921. 2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  13922. Merge branch 'maint'
  13923. * maint:
  13924. refactor: new variable telling whether make is running in "dry mode"
  13925. tests: do not clobber the modified CC
  13926. 2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  13927. refactor: new variable telling whether make is running in "dry mode"
  13928. We define a new variable '$(am__make_dryrun)', that can be used
  13929. in recipes to determine whether make is running in "dry mode" (as
  13930. with "make -n") or not. This is useful in rules that invoke make
  13931. recursively, and are thus executed also with "make -n" -- either
  13932. because they are declared as dependencies to '.MAKE' (NetBSD make)
  13933. or because their recipes contain the "$(MAKE)" string (GNU and
  13934. Solaris make).
  13935. * lib/am/header-vars.am (am__make_dryrun): New variable.
  13936. * lib/am/check.am (check-TESTS recheck): Use it, and simplify
  13937. recipe accordingly.
  13938. * lib/am/distdir.am (distdir): Likewise.
  13939. * lib/am/lisp.am ($(am__ELCFILES)): Likewise.
  13940. 2012-02-02 Peter Rosin <peda@lysator.liu.se>
  13941. tests: do not clobber the modified CC
  13942. If CC is originally a losing compiler, AM_PROG_CC_C_O will
  13943. modify CC. "$MAKE -e" will then clobber this modified CC
  13944. and reintroduce the raw losing compiler causing the test
  13945. to fail, as subdir-objects is in effect.
  13946. tests/check8.test: Drop -e from the $MAKE invocation, since
  13947. AM_COLOR_TESTS is not specified in the Makefile and -e is
  13948. therefore not needed.
  13949. 2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  13950. cosmetics: fix indentation and typos in perl TAP driver
  13951. * lib/tap-driver.pl (get_test_exit_message): Fix botched
  13952. indentation. Fix typo in error message: s/ststus/status/.
  13953. 2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  13954. test defs: fix typo in variable name ($AM_TESTSUITE_PERL)
  13955. * tests/defs-static.in: Fix typo: it's '$AM_TESTSUITE_PERL',
  13956. not '$AM_TESTUITE_PERL'.
  13957. 2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  13958. tap/perl: handle missing or non-executable scripts better
  13959. This change improves how our Perl-based TAP driver handles
  13960. non-runnable test scripts (meaning they might be not executable,
  13961. or not readable, or even not exist). In particular, it makes the
  13962. driver deterministically display a clear "ERROR" result instead
  13963. of possibly dying with diagnostic from 'TAP::Parser' internals,
  13964. and prevents it from displaying spurious "missing TAP plan" errors.
  13965. Moreover, with this change, some testsuite failures present only
  13966. with newer perl versions (e.g., 5.14) are fixed. See automake
  13967. bug#10418.
  13968. * tests/tap-bad-prog.tap: When testing the perl implementation of
  13969. the TAP driver, and when the perl interpreter offers a good-enough
  13970. 'IPC::Open3::open3' function, expect it not to display spurious
  13971. "missing TAP plan" diagnostic if the error is actually due to a
  13972. non-runnable test script.
  13973. * lib/tap-driver.pl (start): Removed, broken up into ...
  13974. (setup_io): ... this ...
  13975. (setup_parser): ... and this, which now tries to catch and report
  13976. errors in launching the test scripts.
  13977. (finish): New, used by both 'main' and 'setup_parser'.
  13978. (main): Adjust.
  13979. 2012-02-01 Peter Rosin <peda@lysator.liu.se>
  13980. Merge branch 'maint'
  13981. 2012-02-01 Peter Rosin <peda@lysator.liu.se>
  13982. tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers
  13983. When AM_PROG_CC_C_O is after AC_OUTPUT, the compile script
  13984. is not used even if needed, causing testsuite fails if
  13985. libtool is not used.
  13986. * tests/depcomp8a.test: Uncomment the AM_PROG_CC_C_O macro
  13987. in its correct location, as indicated...
  13988. (configure.in): ...with this comment.
  13989. * tests/depcomp8b.test: Sync with tests/depcomp8a.test.
  13990. 2012-01-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  13991. cleanup: remove unused .am file
  13992. * lib/am/comp-vars.am: Remove. This file has stopped being useful
  13993. since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should
  13994. have been removed back then. But apparently only its contents were
  13995. removed, leaving the file empty but still present in the repository.
  13996. Or maybe this situation is the consequence of a minor blunder in
  13997. the conversion from CVS to Git; either way, this is not a big deal.
  13998. 2012-01-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  13999. Merge branch 'maint'
  14000. * maint:
  14001. tests: do not assume the object file extension is .o
  14002. tests: avoid spurious failure of 'transform2.test' on Cygwin
  14003. tests: avoid spurious failure of deleted-am.test with FreeBSD make
  14004. tests: avoid possibly undeserved PASS from check8.test
  14005. warnings: more precise category and message for one warning
  14006. release: revamp rules to tag and upload the releases
  14007. amversion: add missing dependency
  14008. hacking: update advice w.r.t. synced files
  14009. hacking: don't reference ChangeLog anymore
  14010. + Extra non-trivial edits:
  14011. * tests/suffix8.tap: Copy in (by hand) the modifications done
  14012. to 'suffix8.test' on maint, i.e., the addition of an explicit
  14013. '.y_.obj:' suffix rule to Makefile.am.
  14014. 2012-01-30 Peter Rosin <peda@lysator.liu.se>
  14015. Merge branch 'msvc'
  14016. * msvc:
  14017. ar-lib: ignore the verbose modifier instead of erroring out
  14018. scripts: cherry-pick recent changes from master
  14019. tests: add missing dependency for some 'ar-lib*.test' tests
  14020. 2012-01-30 Peter Rosin <peda@lysator.liu.se>
  14021. ar-lib: ignore the verbose modifier instead of erroring out
  14022. * lib/ar-lib: A number of tests uses the v modifier when listing
  14023. the archive content, ignore it to make them pass.
  14024. 2012-01-30 Peter Rosin <peda@lysator.liu.se>
  14025. scripts: cherry-pick recent changes from master
  14026. * lib/ar-lib: prefer the term "Windows" over "Win32" and quote
  14027. 'like this', not `like this'.
  14028. * lib/compile: Likewise.
  14029. 2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  14030. maintcheck: fix real and spurious warnings
  14031. * lib/Makefile.am (install-data-hook): Correctly quote $(DESTDIR)
  14032. occurrences.
  14033. * Makefile.am (install-exec-hook, uninstall-hook): Likewise.
  14034. (autodiffs): Prefer '$(am__cd)' to plain 'cd', where warranted.
  14035. * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise. Also,
  14036. prefer using AC_SUBST'd $(abs_top_builddir) over obtaining it at
  14037. runtime from $(top_builddir).
  14038. * syntax-check.mk (sc_mkinstalldirs): Tweak to whitelist known
  14039. harmless occurrences of the checked-against usages.
  14040. (sc_no_for_variable_in_macro): Likewise.
  14041. * tests/CheckListOfTests.am (maintainer-check-list-of-tests): Tweak
  14042. to avoid spuriously triggering the 'sc_no_for_variable_in_macro'
  14043. maintainer check. Prefer '$(am__cd)' to plain 'cd' when warranted.
  14044. 2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  14045. maintcheck: take advantage of some GNU make features
  14046. We can do so now that our maintainer checks require GNU make
  14047. unconditionally.
  14048. * syntax-check.mk (ams, xtests): Redefine as "immediate variables",
  14049. using the GNU make $(shell ...) builtin.
  14050. (maintainer-check-list-of-tests): Take advantage of GNU make "-C"
  14051. option. Don't use $(AM_MAKEFLAGS), we shouldn't need it with GNU
  14052. make.
  14053. 2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  14054. build: require GNU make in order to run the maintainer checks
  14055. This is not a real regression in portability, since most maintainer
  14056. check rules already assumed GNU grep, and were anyway only meant to
  14057. run on the developers' systems (where we can safely assume the
  14058. presence of GNU make).
  14059. This change will allow us to take advantage, in future changes, of
  14060. more GNU make features, thus simplifying or optimizing some of our
  14061. maintainer rules.
  14062. * GNUmakefile: New, including 'Makefile' and 'syntax-checks.mk'.
  14063. * configure.ac (AC_CONFIG_LINKS): Link it in the builddir.
  14064. * Makefile.am (EXTRA_DIST): Distribute 'GNUmakefile' and
  14065. 'syntax-checks.mk'.
  14066. Move all syntax-check rules and auxiliary variables into ...
  14067. * syntax-checks.mk: ... this new file, with some adjustments.
  14068. 2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  14069. maintcheck: refactor rules checking '*.am' files
  14070. A small refactoring in our syntax-check to avoid code duplication
  14071. and to ensure more uniform checking. This change introduces some
  14072. new failures in syntax-check rules (both real and spurious), that
  14073. will be fixed in follow-up changes and code reorganizations.
  14074. * Makefile.am (ams): New variable, holding the list of all the
  14075. '*.am' fragments in he automake source tree.
  14076. (sc_no_brace_variable_expansions): Use it.
  14077. (sc_rm_minus_f): Likewise.
  14078. (sc_no_for_variable_in_macro): Likewise.
  14079. (sc_mkinstalldirs): Likewise.
  14080. (sc_pre_normal_post_install_uninstall): Likewise.
  14081. (sc_cd_in_backquotes): Likewise.
  14082. (sc_cd_relative_dir): Likewise.
  14083. (sc_tests_make_without_am_makeflags): Likewise.
  14084. (sc_tests_plain_egrep_fgrep): Likewise.
  14085. (sc_mkdir_p): Likewise.
  14086. 2012-01-30 Peter Rosin <peda@lysator.liu.se>
  14087. tests: do not assume the object file extension is .o
  14088. * tests/specflg7.test: Dig out the object file extension from the
  14089. OBJEXT makefile variable.
  14090. * tests/substref.test: Likewise.
  14091. * tests/specflg8.test: Likewise. Also check that the false-true
  14092. object is created instead of checking the true-true object twice.
  14093. * tests/suffix8.test: Add a chain rule for the case where the
  14094. object file extension is .obj.
  14095. 2012-01-30 Peter Rosin <peda@lysator.liu.se>
  14096. tests: fetch the 'compile' script for subdir objects
  14097. * tests/libobj19.test: Subdir objects are used, so the 'compile'
  14098. script needs to be present for inferior hosts. Fetch it.
  14099. 2012-01-30 Peter Rosin <peda@lysator.liu.se>
  14100. tests: fetch the 'ar-lib' script for archiver usage
  14101. * tests/libobj10.test: The archiver is used, so the 'ar-lib'
  14102. script needs to be present for inferior hosts. Fetch it.
  14103. 2012-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  14104. tests: avoid spurious failure of 'transform2.test' on Cygwin
  14105. On newer Cygwin versions (at least 1.7.x), the 'transform2.test'
  14106. test has been failing spuriously; the gist is the following:
  14107. some *purposefully* rigged install rules there try something
  14108. like:
  14109. install bla.exe .../inst/bin/foo.exe
  14110. install script.sh .../inst/bin/foo
  14111. and the second install command fails (trying to overwrite the
  14112. '.../inst/bin/foo.exe' file, likely due to overly aggressive
  14113. appending of '.exe' suffix when copying/renaming Windows
  14114. executables). Since this is a Cygwin issue rather than an
  14115. Automake one (and since the use case we are testing is a really
  14116. corner-case anyway, making it unworthy to attempt to work
  14117. around it in automake proper), we simply hack the test case
  14118. to avoid the failure.
  14119. Analysis by Peter Rosin and Ralf Wildenhues.
  14120. References:
  14121. <http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html>
  14122. <http://thread.gmane.org/gmane.os.cygwin/119380>
  14123. * tests/transform2.test: Skip the affected part of the test
  14124. if the described Cygwin behaviour is detected.
  14125. 2012-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  14126. tests: avoid spurious failure of deleted-am.test with FreeBSD make
  14127. * tests/deleted-am.test: Sleep between the removal of the included
  14128. '.am' fragments and the subsequent "make" calls, to ensure that the
  14129. remake rules kick in. This is required to avoid racy spurious
  14130. failures (~ 60% of the time) with FreeBSD make.
  14131. 2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  14132. tests: avoid possibly undeserved PASS from check8.test
  14133. * tests/check8.test: Strengthen grepping of "make check" output
  14134. where we know no problem with VPATH rewrites can take place. This
  14135. has the advantage of ensuring that we won't match also "sub/bar"
  14136. when looking for "bar" during the uncolorized tests.
  14137. Suggestion by Peter Rosin.
  14138. 2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  14139. tests: work around MinGW/MSYS issue in fd redirections
  14140. Some checks on $(AM_TESTS_FD_REDIRECT) were failing on MSYS, likely
  14141. because system calls like "write(9, ...)" simply doesn't work for
  14142. MinGW-compiled programs. Similar usages work for the shell scripts
  14143. though, since /bin/sh is an MSYS program and thus is a lot more
  14144. POSIX-ish than most MinGW-compiled programs.
  14145. The best fix for this issue is to separate the checks using shell
  14146. scripts as dummy test cases from the checks using compiled programs
  14147. for the same purpose, and skip these latter checks on MinGW.
  14148. This change fixes automake bug#10466. Report by Peter Rosin.
  14149. * tests/parallel-tests-fd-redirect.test: Move checks using compiled
  14150. C programs as test cases to ...
  14151. * tests/parallel-tests-fd-redirect-exeext.test: ... this new test.
  14152. * tests/list-of-tests.mk: Update.
  14153. 2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
  14154. warnings: more precise category and message for one warning
  14155. If automake detected an usage like "AC_CONFIG_FILES([./Makefile])"
  14156. in configure.ac, it warned that such an usage was unportable to
  14157. non-GNU make implementations. But the truth is actually worse:
  14158. that is actually *unportable to GNU make* itself, since it breaks
  14159. the automatic remake rules in subtle ways.
  14160. So we now reveal this breakage in a new test case, and enhance
  14161. the warning by giving it a more precise and correct wording, and
  14162. by moving it from the category 'portability' to the category
  14163. 'unsupported'.
  14164. * automake.in (scan_autoconf_config_files): Improve the warning.
  14165. * tests/conffile-leading-dot.test: New test.
  14166. * tests/list-of-tests.mk: Add it.
  14167. 2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  14168. release: revamp rules to tag and upload the releases
  14169. The older Makefile rules used to create and tag the releases were
  14170. based on an approach we now consider flawed: they over-mechanized
  14171. some delicate operations that are better performed manually *and*
  14172. double-checked by a developer, and at the same time they did not
  14173. run enough safety checks.
  14174. * Makefile.am (GIT, version_rx, stable_version_rx, beta_version_rx,
  14175. match_version, git_must_have_clean_workdir, determine_release_type):
  14176. New variables.
  14177. (git-release, git-dist): Remove, they are superseded by ...
  14178. (git-tag-release, git-upload-release): ... these new targets.
  14179. 2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  14180. amversion: add missing dependency
  14181. * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Depend on
  14182. configure.ac, since the value of $(VERSION) can change every
  14183. time configure.ac is updated.
  14184. 2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  14185. hacking: update advice w.r.t. synced files
  14186. * HACKING: Update and improve advices and explanations about files
  14187. in the automake repository that are now owned by automake, but
  14188. mirrored from other upstreams. Also, don't list these files
  14189. explicitly, rather point the reader to the $(FETCHFILES) variable
  14190. in Makefile.am.
  14191. * Makefile.am (FETCHFILES): Don't state that "there should be a
  14192. lot more here", as this is not true anymore today. Only 'COPYING'
  14193. must be synced by hand.
  14194. 2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
  14195. hacking: don't reference ChangeLog anymore
  14196. * HACKING: Don't reference the ChangeLog file anymore, since that
  14197. is now generated from the git commit messages, not maintained by
  14198. hand. So remove advice that is obsolete, and speak about "git
  14199. commit message" instead of "ChangeLog entry" for advice that is
  14200. still relevant.
  14201. 2012-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
  14202. multilib: move to contrib
  14203. This follows up on commit v1.11-665-gc5df21e of 2012-01-17,
  14204. "multilib: deprecate, will be moved to contrib". See also:
  14205. <http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html>
  14206. * NEWS: Update.
  14207. * automake.in ($seen_multilib): Remove.
  14208. (scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't
  14209. handle it anymore.
  14210. (handle_multilib): Remove.
  14211. (generate_makefile): Don't call it anymore.
  14212. * doc/automake.texi: Remove documentation about multilib support,
  14213. related macros, and helper files.
  14214. * m4/multi.m4: Delete.
  14215. * m4/Makefile.am (dist_automake_ac_DATA): Remove it.
  14216. * lib/am/multilib.am: Delete.
  14217. * lib/am/Makefile.am (dist_am_DATA): Remove it.
  14218. * contrib/multilib/multilib.am: New file, adapted from extracts of
  14219. a Makefile.in generated with automake multilib support. We did
  14220. this instead of moving and editing 'lib/am/multilib.am' because it
  14221. allows us to license this file with a liberal license that will
  14222. permit users to copy-and-paste it in non-GPLed Makefile.am files
  14223. too).
  14224. * lib/symlink-tree, lib/config-ml.in: Move ...
  14225. * contrib/multilib: ... in here.
  14226. * lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update.
  14227. * contrib/multilib/README: New file.
  14228. * contrib/Makefile.am (EXTRA_DIST): Add the files created or moved
  14229. in 'contrib/multlib'.
  14230. * tests/multilib.test: Update and enhance a little.
  14231. * tests/help-multilib.test: Likewise.
  14232. 2012-01-23 Peter Rosin <peda@lysator.liu.se>
  14233. tests: improve diagnostics when write(2) fails
  14234. MinGW programs can't redirect file descriptor 9, they can only redirect
  14235. stdin, stdout and stderr. So, improve the information in the test log.
  14236. See automake bug#10466.
  14237. * tests/parallel-tests-fd-redirect.test (baz.c, zardoz.c): Check the
  14238. return value from the write(2) call, and report detected errors.
  14239. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14240. Merge branch 'compilers-for-testsuite'
  14241. * compilers-for-testsuite:
  14242. readme: how to run the testsuite with cross-compilers
  14243. tests: no need to unset CFLAGS in tests requiring 'gcc' anymore
  14244. test defs: allow compilers to be auto-selected on user's request
  14245. test defs: substitute compilers and flags found at configure time
  14246. test defs: setup `*FLAGS' variables for GNU compilers
  14247. configure: search generic compilers for use in the tests
  14248. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14249. Peter Rosin <peda@lysator.liu.se>
  14250. readme: how to run the testsuite with cross-compilers
  14251. * tests/README: Suggest a better way to run the automake testsuite
  14252. with cross-compilers -- that is, configuring the Automake source
  14253. tree with proper `--build' and `--host' configure option. And
  14254. yes, specifying both these options (not only `--host') is indeed
  14255. required to avoid spurious failures in corner cases.
  14256. When you call configure with the `--host' option but without the
  14257. `--build' option, configure tries to auto-detect whether you are
  14258. cross-compiling or not, by trying to run a generated executable.
  14259. That test might spuriously "succeed" in some corner cases (e.g.,
  14260. Cygwin is able to run non-Cygwin apps). In fact, generally, it
  14261. can be the case that a cross-compilation is not detected as a
  14262. cross anymore just because someone has installed an emulator; as
  14263. an example, think of what can happen on a GNU/Linux system that
  14264. is configured (through the use of the binfmt_misc kernel module)
  14265. to execute PE executables (compiled for MS-DOS or Windows) through
  14266. Wine *automatically*. In conclusion, configure needs to be used
  14267. as recommended in the documentation (i.e., by specifying *both*
  14268. `--host' and `--build' instead of just one of them) to not have
  14269. the build fall into any of a number of weird traps.
  14270. * tests/defs (cross_compiling): Improve comments.
  14271. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14272. tests: no need to unset CFLAGS in tests requiring 'gcc' anymore
  14273. * tests/ccnoco.test: Since this test have "gcc" in $required,
  14274. there is no need to manually nullify the CFLAGS variable, since
  14275. now `tests/defs' should automatically re-define that to a value
  14276. appropriate for gcc.
  14277. * tests/ccnoco3.test: Likewise.
  14278. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14279. test defs: allow compilers to be auto-selected on user's request
  14280. In the recent changes, by pre-setting the required compilers for
  14281. the `configure' scripts launched by the test scripts, we have
  14282. slightly reduced the coverage of autoconf/automake code aimed at
  14283. automatically detecting said compilers. This commit restore such
  14284. coverage, by allowing the user to instruct the testsuite *not* to
  14285. preset the testsuite compiler(s).
  14286. * tests/defs (cc): If $CC is set to the special value "autodetect"
  14287. or "autodetected", don't export the configure-detected CC, CFLAGS
  14288. and CPPFLAGS variables; rather, unset them.
  14289. (c++): Likewise, but for CXX, CXXFLAGS and CPPFLAGS instead.
  14290. (fortran): Likewise, but for FC and FCFLAGS instead.
  14291. (fortran77): Likewise, but for F77 and FFLAGS instead.
  14292. (require_compiler_): New function, to reduce code duplication.
  14293. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14294. test defs: substitute compilers and flags found at configure time
  14295. * tests/Makefile.am (do_subst): Also substitute CC, CXX, F77, FC,
  14296. CPPFLAGS, CFLAGS, CXXFLAGS, FCFLAGS and FFLAGS.
  14297. * tests/defs-static.in: Define those variables, allowing for
  14298. overrides from the environment.
  14299. * tests/defs (for tool in $required): Export (subsets of) those
  14300. variables when the stuff in `$required' calls for it.
  14301. Add related explanatory comments.
  14302. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14303. test defs: setup `*FLAGS' variables for GNU compilers
  14304. * configure.ac: Setup some `*FLAGS' variables for use by the
  14305. GNU compilers in our testsuite. For example, use `GNU_CFLAGS'
  14306. instead of `CFLAGS', and so on for similar variables. This
  14307. is especially useful in case the compilers found or defined
  14308. at configure time are not the GNU ones.
  14309. * tests/defs-static.in: Initialize those same variables with
  14310. the values set at configure time, but allowing overrides
  14311. from the environment.
  14312. * tests/Makefile.am (do_subst): Process configure-style
  14313. substitutions of those variables (e.g., `@GNU_CFLAGS@').
  14314. * tests/defs: When a GNU compiler is required, override the
  14315. corresponding generic `*FLAGS' variable with the GNU-specific
  14316. variant (e.g., redefine `$CFLAGS' to take the value of
  14317. `$GNU_CFLAGS').
  14318. 2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
  14319. configure: search generic compilers for use in the tests
  14320. * configure.ac: Look for "generic" C, C++ and Fortran compilers,
  14321. with the aim of starting to use them in the testsuite (this will
  14322. be done in future changes). This is more tricky than it seems,
  14323. since we don't want to abort the whole configure script even if
  14324. no one of those compilers is available (after all, they're only
  14325. needed by the testsuite, not to build automake), but currently
  14326. autoconf doesn't offer an easy way to obtain this behaviour.
  14327. We prefer non-GNU compilers to the GNU ones, to ensure better
  14328. coverage "in the wild".
  14329. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14330. tests: remove redundant 'set -e' calls
  14331. * tests/aclocal-install-absdir.test: Do not set the 'errexit' shell
  14332. flag, as it is already set by 'tests/defs'.
  14333. * tests/distcheck-pr10470.test: Likewise.
  14334. * tests/objext-pr10128.test: Likewise.
  14335. * tests/parallel-tests-dry-run-1.test: Likewise.
  14336. * tests/silent-nested-vars.test: Likewise.
  14337. * tests/tar-override.test: Likewise.
  14338. * tests/vala-mix.test: Likewise.
  14339. * tests/vala-vpath.test: Likewise.
  14340. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14341. Merge branch 'maint'
  14342. * maint:
  14343. tests: fix spurious failure due to autom4te caching
  14344. vala: fix name of temporary file used in vala rules
  14345. vala tests: add missing 'valac' requirement, and other minor fixlets
  14346. news: fix grammaro
  14347. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14348. tests: fix spurious failure due to autom4te caching
  14349. * tests/lzma.test: Remove stale autom4te.cache directories, to
  14350. prevent racy, spurious failures (using 'aclocal --force' was
  14351. not enough, since the cache was still picked up by the following
  14352. automake call).
  14353. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14354. dist tests: missing 'compress' program was causing spurious failures
  14355. Fixes automake bug#10575.
  14356. The compress(1) tool is becoming anachronistic, and thus is not
  14357. installed by default on modern distros (e.g., Fedora 16). We
  14358. can't thus unconditionally assume it exists on every reasonable
  14359. portability target.
  14360. * tests/dist-formats.tap ($missing_compressors): When defining
  14361. this, don't assume anymore that compress(1) is unconditionally
  14362. available.
  14363. (Parallel compression): Skip this sub-test if compress(1) is
  14364. unavailable.
  14365. Since we are at it, fix a couple of unrelated buglets: a typo
  14366. in a test name (s/distcheck/ark-exists/), and some attempts to
  14367. remove directories with "rm -f".
  14368. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14369. vala: fix name of temporary file used in vala rules
  14370. Unquoted `@' characters in a "..." string in the automake script
  14371. were causing slightly wrong rules to be emitted in the generated
  14372. Makefile.in; i.e., rules like:
  14373. rm -f $@ && echo stamp > $10t
  14374. instead of the expected:
  14375. rm -f $@ && echo stamp > $@-t
  14376. * automake.in (lang_vala_finish_target): Fix that.
  14377. * tests/vala.test: Enhance.
  14378. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14379. vala tests: add missing 'valac' requirement, and other minor fixlets
  14380. See also automake bug#10575.
  14381. * tests/vala-mix.test ($required): Add 'valac'; this will avoid
  14382. spurious failures on systems lacking a Vala compiler.
  14383. Add some explicative comments for a couple of non-obvious make
  14384. calls.
  14385. Make grepping of "make -n" slightly stricter, to avoid potential
  14386. false positives.
  14387. 2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
  14388. news: fix grammaro
  14389. * NEWS (Miscellaneous changes): Fix grammaro: s/don't/doesn't/.
  14390. Reported by Jim Meyering.
  14391. 2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  14392. Merge branch 'maint'
  14393. * maint:
  14394. fixup: distribute 'contrib/multilib/multi.m4'
  14395. multilib: deprecate, will be moved to contrib
  14396. fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
  14397. cosmetics: fix a botched comment in a maintainer check
  14398. 2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  14399. fixup: distribute 'contrib/multilib/multi.m4'
  14400. This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17,
  14401. "multilib: deprecate, will be moved to contrib".
  14402. * contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'.
  14403. 2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  14404. multilib: deprecate, will be moved to contrib
  14405. As of 2012-01-17, according to Google codesarch, almost no active
  14406. package is using the 'multilib' feature offered by automake.
  14407. The only major exception seems to be GCC... But on a closer look,
  14408. it become clear that GCC basically carries its own version of
  14409. multilib support. In fact, Automake syncs its 'config-ml.in' and
  14410. 'symlink-tree' scripts from GCC; and the GCC repository contains a
  14411. version of the 'multi.m4' file that is *more* updated than the one
  14412. in the automake repository (the former having being modified the
  14413. last time in 2008, the latter only in 2006).
  14414. The 'multilib' feature was anyway hardly documented at all, only
  14415. being briefly cited in the manual as an "obscure feature", "still
  14416. experimental", that was only for users "familiar with multilibs"
  14417. and which "can debug problems they might encounter". We expect
  14418. such users to be motivated and knowledgeable enough to make the
  14419. minor adjustments required to start using the contrib version of
  14420. multilib, if they really need to.
  14421. * NEWS (Future backward incompatibility): Update.
  14422. * doc/automake.texi: Deprecate multilib support. State that it
  14423. will be removed from automake core in the next major release.
  14424. * m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now
  14425. gives a proper warning in the 'obsolete' category (while still
  14426. retaining its former behaviour for the rest).
  14427. * tests/multilib.test: Update.
  14428. * contrib/multilib/multi.m4: New, verbatim copy of the earlier
  14429. version of multi.m4, without the new deprecation warning.
  14430. * Makefile.am (fetch): Don't sync the 'config-ml.in' file nor
  14431. the 'symlink-tree' script from GCC SVN repository anymore.
  14432. (FETCHFILES): Adjust.
  14433. (WGET_GCC): Remove, it's not needed anymore.
  14434. 2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
  14435. fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
  14436. This change fixes automake bug#10555.
  14437. Note that the bug was a minor one, since it didn't affect the
  14438. compilation rules generated by automake, but only only the "hints"
  14439. printed by automake in some error messages (e.g., "The usual way
  14440. to define `FFLAGS' is to add AC_PROG_F77 to configure.ac").
  14441. * lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated
  14442. by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to
  14443. look for switches for the Fortran 77 compiler: adjust accordingly.
  14444. 2012-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
  14445. cosmetics: fix a botched comment in a maintainer check
  14446. * Makefile.am (sc_tests_make_without_am_makeflags): Adjust
  14447. botched description of this check.
  14448. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14449. Merge branch 'maint'
  14450. * maint:
  14451. cmdline parsing: move into a dedicated perl module
  14452. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14453. cmdline parsing: move into a dedicated perl module
  14454. With this change, we delegate most of the automake and aclocal code
  14455. for command-line options parsing to a new module "Automake::Getopt".
  14456. This allows better code sharing between automake and aclocal, and
  14457. also with Autoconf, which will sync the new module from us. See
  14458. also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new
  14459. Autom4te::Getopt module"), and this mailing list discussion:
  14460. <http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html>
  14461. This change might interact with the behaviour described in automake
  14462. bug#7434; for example, starting from now, "automake -Wfoo --version"
  14463. will cause automake to emit diagnostic like "unknown warning
  14464. category 'foo'" before actually printing the version number and
  14465. exiting. This is not a big deal in practice, and the code sharing
  14466. and simplifications introduced by this patch is certainly worth it.
  14467. Still, we should revisited the issue in the future.
  14468. * lib/Automake/Getopt.pm: New module, basically a slightly-edited
  14469. copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel
  14470. repository (commit v2.68-120-gf4be358). It defines and exports ...
  14471. (parse_options): ... this new function.
  14472. * automake.in (parse_arguments): Use the new function.
  14473. * aclocal.in (parse_arguments): Likewise.
  14474. * lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file.
  14475. * tests/getopt.test: Remove.
  14476. * tests/list-of-tests.mk: Update.
  14477. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14478. tests: don't use custom TAP diagnostic in our own tests
  14479. We simply don't need it (yet), we are not actually using it (the
  14480. set up for using it is there in the Makefile, but no test script
  14481. makes actual use of that).
  14482. * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Remove '-comments' and
  14483. '--diagnostic-string' options.
  14484. * tests/defs ($diag_string_): Remove redefinition.
  14485. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14486. tests: better name for a couple of tests
  14487. Two tests checking "make -n" behaviour with the parallel-tests
  14488. harness has been introduced in the Automake repository in the past:
  14489. one of them ('parallel-tests-dryrun.test') in the maint branch, the
  14490. other one ('parallel-tests-dry-run.test') in the master branch.
  14491. Needless to say, their too-much-similar names can be a great source
  14492. of confusion now. Moreover, the two tests have been written during
  14493. distinct refactorings, and are meant to exercise different code
  14494. paths and/or usage scenarios, so that no one of them subsumes the
  14495. other, and they should be both kept.
  14496. Thus we simply rename both of them to avoid future confusion.
  14497. * tests/parallel-tests-dryrun.test: Renamed ...
  14498. * tests/parallel-tests-dry-run-1.test: .. to this.
  14499. * tests/parallel-tests-dry-run.test: Renamed ...
  14500. * tests/parallel-tests-dry-run-2.test: .. to this.
  14501. Add cross-reference among them.
  14502. * tests/list-of-tests.mk: Adjust.
  14503. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14504. build: simplify our top-level "recheck" target
  14505. * Makefile.am (recheck): Now that all the test scripts are in
  14506. the 'tests/' directory, its recipe can be greatly simplified,
  14507. as we don't need to deal with recursion in multiple subdirectories
  14508. anymore.
  14509. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14510. Merge branch 'maint'
  14511. * maint:
  14512. cosmetics: move CheckListOfTests.am into tests/
  14513. tests: move all under the same hierarchy ('tests/' directory)
  14514. gitlog-to-changelog: update from upstream
  14515. changelog: don't cluster multiple entries under the same "date line"
  14516. + Extra non-trivial edits:
  14517. * tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests
  14518. that were in 'lib/Automake/tests'. Add proper "FIXME" comment.
  14519. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14520. cosmetics: move CheckListOfTests.am into tests/
  14521. After the previous change 'v1.11-660-gfbeda3d', the makefile
  14522. fragment 'CheckListOfTests.am' is used only by the Makefile.am
  14523. in 'tests'; so keeping them two nearer makes sense. It also help
  14524. in reducing potential confusion, since (after that same change)
  14525. the whole Automake testsuite is expected to be (and remain)
  14526. contained into the 'tests' subdirectory.
  14527. * CheckListOfTests.am: Move ...
  14528. * tests/CheckListOfTests.am: ... to this.
  14529. * tests/Makefile.am (include): Adjust.
  14530. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14531. tests: move all under the same hierarchy ('tests/' directory)
  14532. This simplifies the organization of the Automake source tree and
  14533. reduces the (lamentably high) number of Makefiles in the Automake
  14534. build system by one. It also makes the maintainer check that
  14535. verifies the consistency of list of tests more self-contained and
  14536. simpler. Finally, it might be a first step forward the transition
  14537. to a non-recursive build system for automake (if we ever decide to
  14538. go down that road fully some day).
  14539. * lib/Automake/tests: All the '*.pl' tests in here moved ...
  14540. * tests/pm: ... into this new directory.
  14541. * lib/Automake/tests/Makefile.am: Remove, its meaningful
  14542. contents moved ...
  14543. * tests/Makefile.am: ... here, with obvious adjustments.
  14544. (test_subdirs): New variable, for the sake of the recipe
  14545. of 'maintainer-check-list-of-tests'.
  14546. * CheckListOfTests (maintainer-check-list-of-tests): Enhance
  14547. its recipe to make it able to deal with test script residing
  14548. in subdirectories.
  14549. * Makefile.am (maintainer-check-list-of-tests): Simplified.
  14550. (TEST_SUBDIRS): Remove, no more needed.
  14551. * tests/list-of-tests.mk (perl_TESTS): New variable, lists
  14552. the '.pl' tests just moved into 'tests/pm'.
  14553. (handwritten_TESTS): Add the contents of '$(perl_TESTS)'.
  14554. * lib/Automake/Makefile.am (SUBDIRS): Remove.
  14555. * configure.ac (AC_CONFIG_FILES): Update.
  14556. * .gitignore: Adjust.
  14557. 2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
  14558. gitlog-to-changelog: update from upstream
  14559. * lib/gitlog-to-changelog: Update from gnulib upstream. The only
  14560. changes should be cosmetic and/or minor fixlets.
  14561. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14562. changelog: don't cluster multiple entries under the same "date line"
  14563. * lib/gitlog-to-changelog: Synced from gnulib. The new version
  14564. has a new option '--no-cluster', that disables clustering of
  14565. adjacent commit messages under the same "date line".
  14566. * Makefile.am (gitlog_to_changelog_options): Add '--no-cluster'.
  14567. Also add a proper '--format' specification to ensure we have a
  14568. blank line between the summary line and the commit message body.
  14569. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14570. Merge branch 'maint'
  14571. * maint:
  14572. fixup: contrib: really integrate in automake build system
  14573. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14574. fixup: contrib: really integrate in automake build system
  14575. * configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'.
  14576. * Makefile.am (SUBDIRS): Add 'contrib'.
  14577. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14578. check: move ".log -> .html" conversion in contrib
  14579. That feature has been deprecated in the 1.11.x series, and marked
  14580. for removal from the automake core in the 1.12 release. Here we
  14581. implement such removal.
  14582. Reference:
  14583. <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
  14584. See also commit 'v1.11-650-g20f2ac9'.
  14585. * doc/automake.texi, NEWS: Update.
  14586. * lib/am/check.am: Don't include 'check-html.am' anymore.
  14587. * lib/am/check-html.am: Move ...
  14588. * contrib/check-html.am: ... to this, and adjust comments.
  14589. * lib/am/Makefile.am (dist_am_DATA): Update.
  14590. * contrib/Makefile.am (EXTRA_DIST): Likewise.
  14591. * tests/parallel-tests2.test: Adjust.
  14592. * tests/parallel-tests-dryrun.test: Remove checks on the
  14593. ".log -> .html" conversion.
  14594. * tests/test-driver-custom-html.test: Remove as obsolete.
  14595. * tests/test-driver-custom-no-html.test: Likewise.
  14596. * tests/tap-html.test: Likewise.
  14597. * tests/list-of-tests.mk: Don't list removed tests anymore.
  14598. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14599. Merge branch 'maint'
  14600. * maint:
  14601. contrib: new, a directory for non-mainstream functionalities
  14602. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14603. tap: some makes in parallel mode unconditionally serialize output
  14604. Some make implementations (among them, FreeBSD make, NetBSD make,
  14605. and Solaris Distributed Make), when run in parallel mode, serialize
  14606. the output from their targets' recipes unconditionally. This has
  14607. the nasty side effect that the user won't see the partial results
  14608. of a TAP test until the test has terminated. This is not something
  14609. our TAP driver script can work around unfortunately; in fact, the
  14610. driver is sending out its output progressively and "in sync" with
  14611. test execution -- it is make that is stowing such output away
  14612. instead of presenting it to the user as soon as it gets it.
  14613. So we content ourself with working around the issue in our
  14614. testsuite, to at least avoid failures we could do nothing to
  14615. prevent.
  14616. * tests/tap-realtime.test: Skip this test if the make program used
  14617. is a non-GNU make running in parallel mode. And if Sun dmake is
  14618. being used, try to force it to run in serial mode, by exporting the
  14619. 'DMAKE_MODE' environment variable to "serial".
  14620. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14621. contrib: new, a directory for non-mainstream functionalities
  14622. This new 'contrib' hierarchy will be a good place were to move
  14623. implementation/support for obsolescent features we are not yet
  14624. ready to remove completely, or were to leave experimental or
  14625. third-party features to cook before their eventual inclusion in
  14626. the automake core.
  14627. * contrib: New directory.
  14628. * contrib/README: New file.
  14629. * contrib/Makefile.am: New file.
  14630. (EXTRA_DIST): Distribute README.
  14631. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14632. docs: APIs for custom test drivers are highly experimental
  14633. * doc/automake.texi (API for Custom Test Drivers): The APIs
  14634. described here are not "somewhat experimental", but rather
  14635. "highly experimental". Don't promise the sure a sort of
  14636. backward-compatibility that we are very likely not going to
  14637. keep.
  14638. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14639. tests: avoid spurious failures with parallel make
  14640. Some tests are unprepared to be run with a make command that runs
  14641. in parallel mode by default. This can happen e.g., if the user
  14642. explicitly run the tests with something like:
  14643. AM_TESTSUITE_MAKE="gmake -j3" in the
  14644. in the environment, but also if the make used in the testsuite is
  14645. Sun Distributed Make, and the 'DMAKE_MODE' environment variable is
  14646. set to "parallel".
  14647. Fix some instances of this issue.
  14648. * tests/tap-doc.test (Makefile.am): Declare explicit dependencies
  14649. among the test cases, to ensure they are run in the correct order.
  14650. * tests/tap-doc2.test: Set the 'DMAKE_MODE' environment variable
  14651. to "serial", to prevent Sun dmake from trying to run in parallel.
  14652. Remove other now-superfluous workarounds for dmake.
  14653. 2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
  14654. tests: fix spurious failures with Solaris dmake
  14655. Solaris Distributed Make, when run in parallel mode, can sprinkle
  14656. its standard output with lines like:
  14657. hostname --> 2 jobs
  14658. ...
  14659. hostname --> Job output
  14660. ...
  14661. This behaviour was causing spurious errors in some tests where we
  14662. compare the output of make with a known, expected value. Fix that.
  14663. * tests/tap-doc.test: Before comparing the output from make with its
  14664. expected value, remove extra lines that could have been printed by
  14665. Solaris dmake.
  14666. * tests/tap-doc2.test: Likewise.
  14667. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14668. Merge branch 'maint'
  14669. * maint:
  14670. recheck: fix interaction with "make -n"
  14671. vala: avoid potential useless remakes (minor bugfix)
  14672. vala: enhance tests
  14673. recheck: behave better with non-GNU make
  14674. check: separate .log -> .html conversion from core testsuite harness
  14675. docs: deprecate .log -> .html conversion by parallel-tests
  14676. tests: list some forgotten test cases in $(TESTS)
  14677. maintcheck: consistency of list of test scripts
  14678. build: explicitly declare some targets as .PHONY
  14679. maint: remove obsolete/broken maintainer targets
  14680. build: improve silencing of automake build system
  14681. tests: move list of tests in its own Makefile fragment
  14682. + Extra non-trivial edits:
  14683. * tests/parallel-tests2.test: Obvious edits to merge the slightly
  14684. inconsistent enhancements to coverage done in master with those
  14685. done in maint.
  14686. * lib/am/check.am (check-TESTS, recheck): Sweeping and rather
  14687. complex changes to merge the considerable divergences between
  14688. maint and master in a way that is meaningful and, where possible,
  14689. retains the semantic changes from both maint and master.
  14690. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14691. Merge branch 'check-html-deprecate' into maint
  14692. * check-html-deprecate:
  14693. recheck: fix interaction with "make -n"
  14694. recheck: behave better with non-GNU make
  14695. check: separate .log -> .html conversion from core testsuite harness
  14696. docs: deprecate .log -> .html conversion by parallel-tests
  14697. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14698. recheck: fix interaction with "make -n"
  14699. * lib/am/check.am (recheck): Ensure the recipe does not erroneously
  14700. remove '.log' files when running under "make -n". For the sake of
  14701. NetBSD make, this also means that ...
  14702. (.MAKE): ... this cannot depend on 'recheck' anymore.
  14703. * tests/parallel-tests-dryrun.test: New test.
  14704. * tests/list-of-tests.mk: Add it.
  14705. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14706. vala: avoid potential useless remakes (minor bugfix)
  14707. * automake.in (lang_vala_finish_target): Ensure the timestamp file
  14708. from which the C files generated from Vala sources depend on gets
  14709. created with a modification time that is truly older than those of
  14710. said generated C files. This prevents make from attempting useless
  14711. rebuilds (which were bound to happen deterministically on systems
  14712. with sub-second timestamp resolutions). It is worth noting that,
  14713. luckily, those useless rebuild ended up being a no-op, since the
  14714. Vala compiler is careful not to update the timestamp of an output
  14715. file if its content has not changed from the previous version.
  14716. Still, the useless rebuilds messed up "make -q" and "make -n"
  14717. invocations, and were technically incorrect (despite being, as
  14718. noted, inoffensive in practice).
  14719. Problem revealed by failure of tests vala-mix.test and vala5.test
  14720. on a fast Solaris 10 system whose filesystem had a sub-second
  14721. timestamp resolution.
  14722. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14723. vala: enhance tests
  14724. * tests/vala.test: Extend test. Throw in some cosmetic and
  14725. consistency changes since we are at it.
  14726. * tests/vala5.test: Avoid uselessly requiring libtool. Ensure a
  14727. failure happens in case VALAFLAGS are not supported as expected.
  14728. Extend test in some ways. Throw in some cosmetic and consistency
  14729. changes since we are at it.
  14730. * tests/vala-mix.test: New test.
  14731. * tests/list-of-tests.mk: Add it.
  14732. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14733. recheck: behave better with non-GNU make
  14734. * automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with
  14735. the value of the '@check' array, containing the list of early
  14736. test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)',
  14737. etc.
  14738. * lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'.
  14739. (check, recheck): Unify the implementation of their recipes, with
  14740. different code paths taken depending on the name of the target.
  14741. This makes the implementation of "recheck" less brittle in the
  14742. process (especially when non-GNU make and AM_MAKEFLAGS overriding
  14743. are involved).
  14744. * lib/am/check-html.am (check-html, recheck-html): Likewise.
  14745. * tests/check.test: Adjust to avoid spurious failure.
  14746. * tests/parallel-tests2.test: Improve coverage.
  14747. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14748. check: separate .log -> .html conversion from core testsuite harness
  14749. That feature is to be deprecated in the 1.11.x series, and removed
  14750. from the automake core in the 1.12 release, where it will instead
  14751. be offered in a semi-independent extra '*.am' fragment. So let's
  14752. start better separating the .log -> .html conversion from the "core
  14753. code" of the parallel-tests harness.
  14754. Reference:
  14755. <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
  14756. * lib/am/check.am (.log.html, check-html, recheck-html): Move these
  14757. targets ...
  14758. * automake.in (handle_tests): ... and the initialization of the
  14759. TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML)
  14760. file ...
  14761. * lib/am/check-html.am: ... in this new file, with related (minor)
  14762. refactorings, enhancements and simplifications.
  14763. * lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust.
  14764. * lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'.
  14765. * tests/parallel-tests2.test: Improve coverage.
  14766. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14767. docs: deprecate .log -> .html conversion by parallel-tests
  14768. That feature is to be deprecated in the 1.11.x series, and
  14769. removed in the 1.12 release.
  14770. Reference:
  14771. <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
  14772. * doc/automake.texi (Simple Tests using parallel-tests): Deprecate
  14773. the '.log' -> '.html' conversion and the targets 'check-html' and
  14774. 'recheck-html'. Related rewording and reformatting.
  14775. * NEWS (Future backward-incompatibilities): Update.
  14776. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14777. tests: list some forgotten test cases in $(TESTS)
  14778. This way, they will be properly executed by "make check", and
  14779. properly distributed. Our previous commit 'v1.11-647-g27f1a1c'
  14780. is already paying its dividends!
  14781. * tests/list-of-tests.mk (handwritten_TESTS): Add check12.test,
  14782. dist-missing-included-m4.test, dist-missing-am.test, and
  14783. dist-missing-m4.test.
  14784. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14785. maintcheck: consistency of list of test scripts
  14786. This is basically a backport of commit 'v1.11-358-g7b6ab07'
  14787. and its follow-ups. The possibility of easily checking that
  14788. the list of test scripts listed in a Makefile equals that of
  14789. the tests on the filesystem has proved itself so useful that
  14790. it's worth taking the annoyance of backporting it to maint.
  14791. * CheckListOfTests.am: New file, backported from master (commit
  14792. 'v1.11-1736-g083a75b') with minor adjustments.
  14793. (maintainer-check-list-of-tests): New target, check for consistency
  14794. between the list of tests defined in the including Makefile and the
  14795. list of tests on the filesystem.
  14796. (clean-maintcheck-testslist-tmp): New rule, to clean up temporary
  14797. files that might be left around by the rules associated with the
  14798. previous target.
  14799. (clean-local): Depend on it.
  14800. * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
  14801. * tests/Makefile.am: Likewise.
  14802. * Makefile.am (maintainer-check-list-of-test): New target,
  14803. calling recursively into `tests/' and `lib/Automake/tests/',
  14804. using ...
  14805. (TEST_SUBDIRS): ... this new variable.
  14806. (maintainer-check): Added dependency from the new target
  14807. `maintainer-check-list-of-tests'.
  14808. 2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
  14809. maintcheck: completeness check on list of tests simplified
  14810. * CheckListOfTests.am: Simplify the recipe, accordingly to the
  14811. assumption that all the entries in $(TEST_EXTENSIONS) and in
  14812. $(TESTS) have an associated real test script. This was not the
  14813. case when we used to have some entries in $(TESTS) that were not
  14814. real files, but rather "parameters" (sort of) for the corresponding
  14815. $(LOG_COMPILER). However, that usage had proven to be confusing
  14816. and brittle, and thus removed (see commit 'v1.11-1308-g375f23d' of
  14817. September 8 2011, "testsuite: revamp generation of autogenerated
  14818. tests").
  14819. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14820. build: explicitly declare some targets as .PHONY
  14821. * Makefile.am (fetch, git-dist, git-release, maintainer-check):
  14822. Declare as ".PHONY".
  14823. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14824. maint: remove obsolete/broken maintainer targets
  14825. * Makefile.am (git-diff): Remove. First, we don't distribute diffs
  14826. between an automake version and the next one anyway, so this target
  14827. is pointless. Moreover, its recipe has been broken for quite a
  14828. long time now, always generating an empty diff due to the spurious
  14829. '$(PACKAGE)' argument that was passed to the "git diff" invocation.
  14830. (path-check): Remove. The 'pathchk' program running in this check
  14831. complains about any file with name longer than 14 characters, which
  14832. is a ridiculously low limit for today standards. Also, we already
  14833. had several test scripts (no less than 195!) that were exceeding
  14834. that limit, and nobody ever complained (not even on MinGW/MSYS nor
  14835. Cygwin).
  14836. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14837. build: improve silencing of automake build system
  14838. In this change, we continue the silencing of the automake build
  14839. system that has been started in commit v1.11-642-g17542c3, but
  14840. which has been left incomplete there for an (absent-mindness)
  14841. mistake.
  14842. * Makefile.am (INSTALL): Silence the recipe.
  14843. (automake, aclocal): Likewise, and improve them a little since
  14844. we are at it.
  14845. * lib/Automake/Makefile.am (Config.pm): Likewise.
  14846. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14847. tests: move list of tests in its own Makefile fragment
  14848. This change will make it easier to merge maint into master, which
  14849. has a similar Makefile setup in the testsuite.
  14850. * tests/Makefile.am (include): Inclusion of ...
  14851. * tests/list-of-tests.mk: ... this new file.
  14852. * tests/Makefile.am (TESTS): Move most of its content into,
  14853. and redefine in function of, ...
  14854. * tests/list-of-tests.mk (handwritten_TESTS): ... this new
  14855. variable.
  14856. * tests/gen-parallel-tests: Update.
  14857. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14858. Merge branch 'maint'
  14859. * maint:
  14860. tests: move list of tests in its own Makefile fragment
  14861. build: silence automake build system
  14862. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14863. tests: move list of tests in its own Makefile fragment
  14864. This change will make it easier to merge maint into master, which
  14865. has a similar Makefile setup in the testsuite.
  14866. * tests/Makefile.am (include): Inclusion of ...
  14867. * tests/list-of-tests.mk: ... this new file.
  14868. * tests/Makefile.am (TESTS): Move most of its content into,
  14869. and redefine in function of ...
  14870. * tests/list-of-tests.mk (handwritten_TESTS): ... this new
  14871. variable.
  14872. * tests/gen-parallel-tests: Update.
  14873. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14874. build: silence automake build system
  14875. * configure.ac (AM_SILENT_RULES): Invoke with "yes" as a parameter,
  14876. to activate silent rules by default.
  14877. * NEWS: Update.
  14878. * Makefile.am (sc_perl_syntax): Silence its recipe unconditionally,
  14879. similarly to what is done for other syntax checks.
  14880. (release-stats): Be silent by default *but not unconditionally*,
  14881. thanks to the use of $(AM_V_GEN).
  14882. (path-check, git-diff): Be silent by default, thanks to the use
  14883. of $(AM_V_GEN).
  14884. * m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
  14885. * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise.
  14886. * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
  14887. ($(parallel_tests)): Likewise.
  14888. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14889. Merge branch 'maint'
  14890. * maint:
  14891. gnupload: moved to gnulib
  14892. sync: gitlog-to-changelog from gnulib upstream
  14893. test defs: backport optimized 'using_gmake' implementation
  14894. tests: unify some tests on "make -n", reducing duplication
  14895. vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"
  14896. + Extra edits:
  14897. * tests/maken3.test: Carry over (with necessary adjustments) the
  14898. code from maken4.test that determines whether $MAKE supports the
  14899. special '.MAKE' target.
  14900. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14901. gnupload: moved to gnulib
  14902. Since the gnupload script is not required by automake-generated
  14903. code (be it configure or Makefile content), and is not specifically
  14904. tied to automake in any way, it is better to have its master copy
  14905. installed in the gnulib repository, as is already done for similar
  14906. generally-useful, maintainer-oriented scripts. We can them sync it
  14907. from there.
  14908. See also gnulib commit v0.0-6822-gf8b7120, and:
  14909. <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
  14910. * Makefile.am (FETCHFILES): Added 'gnupload'.
  14911. (fetch): Also sync 'gnupload' from the gnulib repository.
  14912. * lib/gnupload: Synced from gnulib.
  14913. * NEWS: Update.
  14914. 2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
  14915. sync: gitlog-to-changelog from gnulib upstream
  14916. * lib/gitlog-to-changelog: Synced from upstream, by "make fetch".
  14917. 2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  14918. test defs: backport optimized 'using_gmake' implementation
  14919. * tests/defs.in (using_gmake): Backport optimized, result-caching
  14920. implementation from master.
  14921. 2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  14922. tests: unify some tests on "make -n", reducing duplication
  14923. * tests/maken2.test: Merge into ...
  14924. * tests/maken.test: ... this test, to avoid unnecessary code
  14925. duplication. Make checks depending on GNU make conditional to
  14926. the actual presence of GNU make.
  14927. * tests/maken4.test: Similarly, merge into ...
  14928. * tests/maken3.test: ... this test.
  14929. * tests/Makefile.am (TESTS): Remove maken2.test and maken4.test.
  14930. 2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com>
  14931. vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"
  14932. * automake.in (lang_vala_finish_target): In the generated rules,
  14933. use '$(am__cd)', not bare 'cd', to chdir into $(scdir). Issue
  14934. revealed by the maintainer check 'sc_cd_relative_dir'.
  14935. 2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  14936. Merge branch 'maint'
  14937. * maint:
  14938. dist: avoid $(distdir) removal failure on MSYS/MinGW
  14939. tests: fix spurious failure of 'get-sysconf.test'
  14940. coverage: expose automake bug#10470 (distcheck-related)
  14941. tests: make 'aclocal-install-absdir.test' executable
  14942. tests: require GNU make in 'vala-vapth.test'
  14943. vala: fix VPATH builds
  14944. tests: fix some bugs in the vala-vpath test
  14945. 2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  14946. Merge branch 'fix-pr10470' into maint
  14947. * fix-pr10470:
  14948. dist: avoid $(distdir) removal failure on MSYS/MinGW
  14949. coverage: expose automake bug#10470 (distcheck-related)
  14950. 2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
  14951. dist: avoid $(distdir) removal failure on MSYS/MinGW
  14952. This change fixes automake bug#10470.
  14953. On MSYS (1.0.17) it is not possible to remove a directory that is
  14954. in use, and this, together with timing issues, could cause spurious
  14955. failures in the cleanup code of the "distcheck" recipe. In fact,
  14956. it should be noted that assuming a directory can be removed while
  14957. it the CWD of a running process is a POSIX violation:
  14958. "If the directory is the root directory or the current working
  14959. directory of any process, it is unspecified whether the function
  14960. succeeds, or whether it shall fail and set errno to [EBUSY]."
  14961. * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some
  14962. seconds and retry, to give potential "pending" processes some time
  14963. to exit and "release" the directory.
  14964. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'.
  14965. Report and suggestions by Peter Rosin and Eric Blake.
  14966. 2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  14967. tests: fix spurious failure of 'get-sysconf.test'
  14968. * tests/get-sysconf.test: Do not assume that a ChangeLog file exists
  14969. in $(srcdir): now that the ChangeLog is autogenerated and not under
  14970. version control anymore, this is not necessary true. Instead, if we
  14971. are running from a git checkout, use "git log" to get information on
  14972. the version of the automake snapshot being tested (and fall back on
  14973. extracting the first ChangeLog entry otherwise).
  14974. Reported by Jim Meyering in automake bug#10418.
  14975. Cherry picked from commit v1.11-1675-g104f302.
  14976. 2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  14977. coverage: expose automake bug#10470 (distcheck-related)
  14978. * tests/distcheck-pr10470.test: New test.
  14979. * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
  14980. Report and suggestions by Peter Rosin and Eric Blake.
  14981. 2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  14982. tests: make 'aclocal-install-absdir.test' executable
  14983. * tests/aclocal-install-absdir.test: Make it executable.
  14984. 2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
  14985. tests: add missing dependency for some 'ar-lib*.test' tests
  14986. This change fixes spurious failures of the tests ar-lib4.test,
  14987. ar-lib6a.test and ar-lib6b.test.
  14988. * tests/Makefile.am (ar-lib4.log): Depend explicitly on the
  14989. `libtool-macros.log' file.
  14990. (ar-lib6a.log, ar-lib6b.log): Likewise.
  14991. 2012-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  14992. dist: distdir not unconditionally removed anymore for xz and lzip
  14993. This change fixes automake bug#10444 a.k.a. bug#10448.
  14994. The 'dist-xz' and 'dist-lzip' recipes were erroneously using
  14995. '$(am__remove_distdir)' instead of '$(am__post_remove_distdir)'
  14996. to cleanup the '$(distdir)'; so a "make dist" issued in a package
  14997. using (say) gzip and xz compression would have failed to properly
  14998. created the gzip tarball, since the distdir was unconditionally
  14999. removed by "make dist-xz" upon its completion, instead of being
  15000. left populated for the following "make dist-gzip".
  15001. The problem with 'dist-xz' was introduced in the merge commit
  15002. `v1.11-1142-g47587d1', and the problem with 'dist-lzip' was
  15003. introduced in the merge commit `v1.11-1673-gc1b14e9'
  15004. * lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)',
  15005. not '$(am__remove_distdir)'.
  15006. (dist-lzip): Likewise.
  15007. 2012-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
  15008. coverage: archive and compression formats used by "make dist"
  15009. This change exposes automake bug#10444 a.k.a. bug#10448.
  15010. * tests/dist-formats.tap: New test.
  15011. * tests/lzip.test: Remove, it's obsolete now.
  15012. * tests/nogzip.test: Likewise.
  15013. * tests/nogzip2.test: Likewise.
  15014. * tests/xz.test: Likewise.
  15015. * tests/list-of-tests.mk: Update.
  15016. 2012-01-10 Peter Rosin <peda@lysator.liu.se>
  15017. tap/awk: avoid redirection issues with bash 3.2 and earlier
  15018. Fixes automake bug#10465.
  15019. * lib/tap-driver.sh: Add workaround for bash 3.2 and earlier, which
  15020. sometimes does not properly set '$?' when failing to write redirected
  15021. output of a compound command. See the Autoconf manual for more details.
  15022. The workaround was pointed out by Eric Blake.
  15023. 2012-01-09 Peter Rosin <peda@lysator.liu.se>
  15024. tests: detect that MSYS lacks symlinks
  15025. * tests/self-check-cleanup.tap: Also check if "ln -s" really created a
  15026. symlink to cater for MSYS falling back to an ordinary copy. Also, don't
  15027. chmod the symlinks if they were never created.
  15028. 2012-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  15029. tests: avoid many spurious failures on MSYS due to lack of symlinks
  15030. Fixes automake bug#10441.
  15031. * tests/add-missing.tap: Do not assume the system supports real
  15032. symlinks, as this is not the case for MinGW/MSYS. Skip checks
  15033. that would spuriously fail in that situation.
  15034. * tests/copy.test: Likewise.
  15035. Reported by Peter Rosin.
  15036. 2012-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
  15037. tests: require GNU make in 'vala-vapth.test'
  15038. * vala-vpath.test ($required): Add the "GNUmake" requirement, since
  15039. rules generated by vala support are expected to work with GNU make
  15040. only.
  15041. 2012-01-08 Ryan Lortie <desrt@desrt.ca> (tiny change)
  15042. Stefano Lattarini <stefano.lattarini@gmail.com>
  15043. vala: fix VPATH builds
  15044. This change fixes automake bug#9859.
  15045. * automake.in (lang_vala_finish_target): Create the stamp file
  15046. '${derived}_vala.stamp' in $(srcdir), not in $(builddir).
  15047. Also, don't try to chdir to the $(srcdir) to trigger the rebuild
  15048. rules, since that is just wrong in a VPATH setup.
  15049. * tests/vala-vpath.test, tests/vala2.test: Extend to catch more
  15050. possible VPATH issues.
  15051. * tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'.
  15052. * NEWS, THANKS: Update.
  15053. 2012-01-08 Ryan Lortie <desrt@desrt.ca> (tiny change)
  15054. tests: fix some bugs in the vala-vpath test
  15055. * tests/vala-vpath.test: There are (trivial) problems in this
  15056. testcase that would cause the build to fail even if the core
  15057. issue were resolved. Fix those.
  15058. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15059. fixup: list forgotten test case in $(TESTS)
  15060. * tests/list-of-tests.mk: Also list 'tar-override.test'.
  15061. 2012-01-06 Paul Eggert <eggert@cs.ucla.edu>
  15062. scripts: quote 'like this', not `like this'
  15063. This change follows up on recent changes to the GNU coding standards.
  15064. They now suggest that we should quote 'like this' or "like this" instead
  15065. of `like this'; see:
  15066. <http://www.gnu.org/prep/standards/html_node/Quote-Characters.html>.
  15067. Gnulib is being changed accordingly, and Gnulib imports some files
  15068. directly from Automake master, so change those files to use the
  15069. straight-up style. This affects only commentary and quoting in
  15070. diagnostics.
  15071. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15072. tests: safer declarations of test dependencies
  15073. To declare prerequisites common to all the tests, we now prefer to
  15074. use the special `check_DATA' and `check_SCRIPTS' variables rather
  15075. than "lazy" dependency declaration like "$(TEST_LOGS): DEPS ...";
  15076. this because the latter, allowing run-time overriding of the
  15077. TEST_LOGS variable, turned out to be subtly incomplete in some
  15078. situations involving non-trivial inter-test dependencies. For
  15079. example, if the user issued a:
  15080. make check TESTS=libtool.test
  15081. before the `defs-static' file was created (either explicitly or
  15082. implicitly), a spurious errors followed, along these lines:
  15083. 1. $(TEST_LOGS) got dynamically defined to `libtool.log';
  15084. 2. make saw that, in the Makefile, `libtool.log' was explicitly
  15085. declared depending on `libtool-macros.log' and `defs-static';
  15086. 3. somehow, make considered the dependency on `libtool-macros.log'
  15087. *before* considering the one on `defs-static' (which BTW is
  15088. perfectly legitimate on make's part);
  15089. 4. to satisfy such a dependency, make set out to execute the
  15090. test `libtool-macros.test' in order to create the file
  15091. `libtool-macros.log';
  15092. 5. since `libtool-macros.log' was *not* in $(TEST_LOGS), it
  15093. didn't appear to depend on the `defs-static' file, so make
  15094. didn't consider necessary to build `defs-static' before
  15095. running the `libtool-macros.test' script;
  15096. 6. but that script sources `./defs-static' in order to work;
  15097. thus the test `libtool-macros.test' failed spuriously.
  15098. * tests/Makefile.am ($(TEST_LOGS)): Remove explicit declaration
  15099. of dependency on the required files/scripts; instead use ...
  15100. (check_SCRIPTS, check_DATA): ... these new variables.
  15101. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15102. tests: skip tests on perl TAP driver if TAP::Parser is not available
  15103. We had so far taken for granted that all the perl installations
  15104. modern enough to correctly run automake also came with a built-in
  15105. TAP::Parser module; unfortunately, testing on MinGW/MSYS has
  15106. shown that this is not always true, and that a lot of spurious
  15107. testsuite failures would take place in such a situation (see
  15108. automake bug#10440).
  15109. Luckily, the perl implementation of the Automake TAP driver is
  15110. only meant to be used for prototyping and consistency checks, the
  15111. "real" Automake TAP driver being the portable one implemented in
  15112. awk. So we can simply skip the affected tests on systems lacking
  15113. TAP::Parser.
  15114. * tests/defs (fetch_tap_driver): Skip the whole test case if
  15115. the desired tap driver implementation is the perl one but the
  15116. TAP::Parser module is unavailable.
  15117. * tests/tap-bad-prog.tap: Adjust order of calls to `plan_' and
  15118. `fetch_tap_driver', to ensure the test is not skipped after the
  15119. TAP plan has been outputted (which would lead to a spurious
  15120. error).
  15121. * tests/tap-bad-signal.tap: Tweak to avoid the need to source the
  15122. `tap-setup.sh' script, as that might cause a test skip too late,
  15123. i.e., after a TAP plan has been already printed.
  15124. * tests/tap-test-number-0.test: Do not force the test to skip
  15125. when the tested TAP driver implementation is not the perl one.
  15126. On the other hand, when it *is* the perl one, skip the test if
  15127. the TAP::Parser module is unavailable.
  15128. * tests/test-driver-cond.test: Skip the part of the test actually
  15129. running "make check" if the TAP::Parser module is unavailable.
  15130. * tests/get-sysconf.test: Also print the version of the
  15131. `TAP::Parser' module, if available.
  15132. Reported by Peter Rosin.
  15133. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15134. Merge branch 'maint'
  15135. * maint:
  15136. dist: do not wrap calls to 'tar' with the 'missing' script
  15137. fixup: previous commit v1.11-627-g1e0aedc
  15138. tests: fix spurious failures due to autom4te caching
  15139. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15140. dist: do not wrap calls to 'tar' with the 'missing' script
  15141. The `missing' script is meant to allow non-developers to build a
  15142. package in the face of slightly-skewed timestamps (as might happen
  15143. e.g. when the package is obtained from a VCS checkout rather than
  15144. from a distribution tarball). It is *not* the business of the
  15145. `missing' script to try to provide wrappers for all the maintainer
  15146. tools (in this case, to tool being a decent tar program). Such
  15147. wrapping of `tar' was not only inappropriate, but it was also
  15148. preventing the legitimate overriding (at make runtime) of the
  15149. `tar' program used in the creation of the distribution tarballs.
  15150. See also automake bug#9822.
  15151. * lib/missing: Don't try to specially wrap `tar' invocations
  15152. anymore.
  15153. * m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR'
  15154. variable, do not wrap the `tar' invocation with the `missing'
  15155. script anymore. Instead, allow the user to override the intended
  15156. tar program at make runtime, by defining the `TAR' environment
  15157. variable.
  15158. [$1 == v7]: Similarly for the definitions of the `am__tar' and
  15159. `am__untar' variables. Since we are at it, don't make them depend
  15160. anymore on the definition of the obsolescent `AMTAR' variable.
  15161. * NEWS: Update.
  15162. * tests/missing-tar.test: Remove, it's obsolete.
  15163. * tests/tar-override.test: New test.
  15164. * tests/Makefile.am (TESTS): Update.
  15165. Reported by Akim Demaille.
  15166. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15167. fixup: previous commit v1.11-627-g1e0aedc
  15168. * tests/acloca18.test: Do not remove an aclocal.m4 file that is
  15169. needed by a later autoconf invocation.
  15170. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15171. tests: fix spurious failures due to autom4te caching
  15172. * tests/aclocal9.test: Call aclocal and autoconf with the `--force'
  15173. option.
  15174. * tests/acloca10.test: Sleep between re-runs of aclocal and autoconf.
  15175. * tests/acloca18.test: Explicitly remove also the configure script
  15176. and the aclocal.m4 before re-invoking aclocal and autoconf.
  15177. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15178. parallel-tests: avoid trailing backslashes in make recipes
  15179. The new testsuite-harness could generate recipes with a trailing
  15180. backslash character (possibly followed by blank characters only),
  15181. in the very common case where the user hadn't defined the special
  15182. $(AM_TESTS_FD_REDIRECT) variable. This caused spurious syntax
  15183. errors with at least older bash versions (e.g., bash 2.05b), and
  15184. could be potentially unportable to other weaker shells.
  15185. See automake bug#10436:
  15186. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10436>
  15187. and coreutils bug#10427:
  15188. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>
  15189. * lib/am/check2.am: Rework line breaks so that no backslash can
  15190. be at the end of a line.
  15191. * tests/parallel-tests-trailing-bslash.test: New test.
  15192. * tests/list-of-tests.mk: Add it.
  15193. Report and diagnosis by Paul Eggert.
  15194. 2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
  15195. Merge branch 'maint'
  15196. * maint:
  15197. parallel-tests: avoid issue with overly long lines in sed input
  15198. Additional edits:
  15199. * NEWS: Remove entry from merged commit, since that will also be
  15200. present in the NEWS file of automake 1.11.3.
  15201. * lib/am/check.am (check-TESTS, recheck, recheck-html): Rework
  15202. merged changes to adapt them to the different form these recipes
  15203. has assumed in the master branch (w.r.t. the maint branch).
  15204. 2012-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
  15205. parallel-tests: avoid issue with overly long lines in sed input
  15206. See automake bug#10437:
  15207. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437>
  15208. and coreutils bug#10427:
  15209. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>
  15210. * lib/am/check.am (recheck, recheck-html): In order to strip
  15211. trailing whitespace from the definition of the `$list' variable,
  15212. we used to invoke sed in a way that could cause it to get passed
  15213. overly long input lines, causing spurious failures. So rework
  15214. the logic of the recipe to avoid any sed invocation, relying on
  15215. simpler shell idioms instead.
  15216. (check-TESTS): Reorganize the recipe to be more similar to the
  15217. one of `recheck', for consistency and simplicity.
  15218. * NEWS: Update.
  15219. Report and analysis by Paul Eggert.
  15220. 2012-01-05 Peter Rosin <peda@lysator.liu.se>
  15221. tests: work around strangeness in MSYS
  15222. MSYS mishandles carriage returns and behaves very strangely for
  15223. directories with colon in them. It seems that colon-directories are
  15224. somehow mixed up with drive letters.
  15225. Fixes automake bug#7849.
  15226. * tests/instspc.tap: Skip instead of erroring out when $test_string
  15227. is empty for the carriageret case, as that is expected on MSYS. Also,
  15228. for similar reasons, skip instead of erroring out when it is not
  15229. possible to cd into the just created directory, and the directory
  15230. name contains a colon. Update copyright years.
  15231. 2012-01-04 Paul Eggert <eggert@cs.ucla.edu>
  15232. cosmetics: prefer the term "Windows" over "Win32"
  15233. Microsoft has renamed the Win32 API to "Windows API":
  15234. <http://msdn.microsoft.com/en-us/library/aa383723.aspx>
  15235. Also, after some discussion on bug-gnulib, when talking about hosts and
  15236. platforms we believe it's better to talk about "Windows" or "native
  15237. Windows" instead:
  15238. <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00009.html>
  15239. <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>
  15240. * doc/automake.texi: Mention "Windows", not "Win32".
  15241. * lib/Automake/XFile.pm: Likewise.
  15242. * lib/ar-lib: Likewise.
  15243. * lib/compile: Likewise.
  15244. * tests/compile2.test: Mention "Windows", not "w32".
  15245. 2012-01-04 Peter Rosin <peda@lysator.liu.se>
  15246. test defs: skip all tests when the lib requirement isn't fulfilled
  15247. * tests/defs (lib): Use skip_all_ instead of skip_, in order to support
  15248. TAP-based test scripts.
  15249. 2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  15250. tests: be sure to list all test cases in $(TESTS)
  15251. * tests/list-of-tests.mk: Due to slightly botched merges, the test
  15252. scripts `objext-pr10128.test' and `silent-nested-vars.test' weren't
  15253. being correctly listed in $(TESTS); fix this.
  15254. 2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  15255. Merge branch 'maint'
  15256. * maint:
  15257. sync: auxiliary files from upstream synced
  15258. sync: fix syncing of 'gitlog-to-changelog' script
  15259. maintcheck: avoid false positive in sc_tests_plain_make
  15260. 2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  15261. sync: auxiliary files from upstream synced
  15262. * lib/texinfo.tex: Synced from upstream, by "make fetch".
  15263. * lib/gitlog-to-changelog: Likewise.
  15264. * lib/config.guess: Likewise.
  15265. * lib/config.sub: Likewise.
  15266. 2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  15267. sync: fix syncing of 'gitlog-to-changelog' script
  15268. * Makefile.am (FETCHFILES): Also list 'gitlog-to-changelog'.
  15269. 2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
  15270. maintcheck: avoid false positive in sc_tests_plain_make
  15271. * Makefile.am (sc_tests_plain_make): Ensure to only match full
  15272. `make' words. Avoid false positive in `silent-nested-vars.test'.
  15273. 2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  15274. Merge branch 'maint'
  15275. * maint:
  15276. install: pkglibexec_SCRIPTS is a valid prefix/primary combination
  15277. coverage: expose automake bug#10128
  15278. progs, libs: implement EXTRA_foo_DEPENDENCIES
  15279. tests: fix spurious failures in 'pr300*.test'
  15280. 2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  15281. install: pkglibexec_SCRIPTS is a valid prefix/primary combination
  15282. It makes little sense for `libexec_SCRIPTS' to be accepted as valid
  15283. while `pkglibexec_SCRIPTS' is not. So fix this inconsistency by
  15284. explicitly allowing `pkglibexec_SCRIPTS' as well. It is worth
  15285. noting that the inconsistency has been there for a long time,
  15286. but only the quite recent commit `v1.11-373-g9ca6326' "Warnings
  15287. about primary/prefix mismatch fixed and extended" has made it
  15288. noisy enough to be noticed.
  15289. * automake.in (handle_scripts): Also list `pkglibexec' among the
  15290. prefixes valid for the `SCRIPTS' primary.
  15291. * doc/automake.texi (Scripts): Likewise.
  15292. * tests/primary-prefix-valid-couples.test: Update.
  15293. * THANKS: Likewise.
  15294. * NEWS: Likewise.
  15295. Reported by Dennis Schridde on the automake list:
  15296. <http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html>
  15297. 2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  15298. coverage: expose automake bug#10128
  15299. * tests/objext-pr10128.test: New test, still expected to fail.
  15300. * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
  15301. 2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  15302. progs, libs: implement EXTRA_foo_DEPENDENCIES
  15303. Backported from commit `v1.11-377-g6edafbb'.
  15304. The feature implemented by that change is quite unobtrusive, so
  15305. adding it to a maintenance release is acceptable. Also, there
  15306. have been requests from real-world users for this feature since
  15307. it has been implemented in master; see automake bug#9320:
  15308. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320>
  15309. and this short discussion on the automake list:
  15310. <http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html>
  15311. It would be a pity to make such users wait even more (until
  15312. Automake 1.12 is out) before they could start using this feature.
  15313. Thus we backport it, so that it will appear in the next maintenance
  15314. version of automake (1.11.3).
  15315. * automake.in (handle_programs, handle_libraries)
  15316. (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
  15317. * doc/automake.texi (Linking, Program and Library Variables)
  15318. (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
  15319. * lib/am/library.am (%LIBRARY%): Also depend on
  15320. $(EXTRA_%XLIBRARY%_DEPENDENCIES).
  15321. * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
  15322. (%XLTLIBRARY%_DEPENDENCIES).
  15323. * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
  15324. $(EXTRA_%XPROGRAM%_DEPENDENCIES).
  15325. * tests/extradep.test, tests/extradep2.test: New tests.
  15326. * tests/Makefile.am (TESTS): Update.
  15327. * NEWS: Update.
  15328. 2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
  15329. tests: fix spurious failures in 'pr300*.test'
  15330. This change fixes automake bug#10426.
  15331. * tests/pr300-lib.test: Call configure with an explicit '--libdir'
  15332. option, to avoid spurious failures due to users possibly overriding
  15333. '${libdir}' in ther config.site files.
  15334. * tests/pr300-ltlib.test: Likewise.
  15335. Reported by Bruno Haible.
  15336. 2012-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  15337. tests: fix spurious failure due to I/O buffering
  15338. * tests/parallel-tests-interrupt.tap: Ensure the dummy test script
  15339. `foo.test' flushes its standard output before starting to grep the
  15340. log file where such output is being redirected by the parallel test
  15341. harness. Since we are at it, improve this same dummy script to
  15342. better catch unexpected behaviours and results.
  15343. Reported by Jim Meyering in automake bug#10418.
  15344. 2012-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
  15345. news: fix botched merges, rebase on 1.11.2a NEWS version
  15346. The NEWS file is unfortunately written in a format that doesn't
  15347. lend itself very well to automatic merges; the recent merges of
  15348. maint into master have left it full of blunders and in a somewhat
  15349. inconsistent state.
  15350. Another orthogonal issue is that the current version of NEWS
  15351. still reports all the changes since the last 1.11 version, rather
  15352. than since the latest maintenance version 1.11.2, or, even better,
  15353. since the planned next maintenance version 1.11.3.
  15354. * NEWS: Fix blunders and errors from botched merges. Rebase the
  15355. file on the NEWS file from branch-1.11 (from which automake 1.11.3
  15356. is expected to be released).
  15357. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15358. Merge branch 'msvc'
  15359. * msvc:
  15360. tests: fix spurious failure due to autom4te caching
  15361. news: fix suboptimal wording
  15362. tests: various minor tweakings, mostly related to AM_PROG_AR
  15363. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15364. tests: fix spurious failure due to autom4te caching
  15365. * tests/ar-lib3.test: Remove stale autom4te.cache directory, to
  15366. prevent racy, spurious failures.
  15367. Reported by Jim Meyering in automake bug#10418.
  15368. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15369. Merge branch 'maint' into msvc
  15370. * maint:
  15371. tests: make 'lzip.test' executable
  15372. dist: obsolete support for lzma (superseded by xz and lzip)
  15373. test defs: more granular overriding of the make program
  15374. docs: fix a couple broken anchors
  15375. dist: add support for lzip compression
  15376. docs: fix paragraph names for automake and aclocal invocations
  15377. tests: fix spurious failure due to autom4te caching
  15378. fix: last entry in ChangeLog
  15379. tests: tweak tests on silent-rules for makes without nested vars
  15380. silent-rules: fallback for makes without nested vars
  15381. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15382. tests: fix spurious failure of 'get-sysconf.test'
  15383. * tests/get-sysconf.test: Do not assume that a ChangeLog file exists
  15384. in $(srcdir): now that the ChangeLog is autogenerated and not under
  15385. version control anymore, this is not necessary true. Instead, if we
  15386. are running from a git checkout, use "git log" to get information on
  15387. the version of the automake snapshot being tested (and fall back on
  15388. extracting the first ChangeLog entry otherwise).
  15389. Reported by Jim Meyering in automake bug#10418.
  15390. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15391. dist: remove support for lzma (superseded by xz and lzip)
  15392. See also commit `v1.11-611-ge637fa2' (from maint), where support
  15393. for lzma compression of distribution archive had been deprecated.
  15394. * NEWS: Update.
  15395. * lib/Automake/Options.pm: Error out if the `dist-lzma' option
  15396. is used.
  15397. * lib/am/distdir.am: Remove all support for the creation of a
  15398. lzma-compressed distribution archive.
  15399. * tests/lzma.test: Update.
  15400. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15401. Merge branch 'maint'
  15402. * maint:
  15403. tests: make 'lzip.test' executable
  15404. dist: obsolete support for lzma (superseded by xz and lzip)
  15405. test defs: more granular overriding of the make program
  15406. docs: fix a couple broken anchors
  15407. dist: add support for lzip compression
  15408. docs: fix paragraph names for automake and aclocal invocations
  15409. tests: fix spurious failure due to autom4te caching
  15410. fix: last entry in ChangeLog
  15411. tests: tweak tests on silent-rules for makes without nested vars
  15412. silent-rules: fallback for makes without nested vars
  15413. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15414. tests: make 'lzip.test' executable
  15415. * tests/lzip.test: Make it executable.
  15416. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15417. Merge branch 'deprecate-lzma' into maint
  15418. * deprecate-lzma:
  15419. dist: obsolete support for lzma (superseded by xz and lzip)
  15420. 2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
  15421. dist: obsolete support for lzma (superseded by xz and lzip)
  15422. The lzma utilities are today superseded by the xz utilities; in
  15423. fact, the official site at <http://tukaani.org/lzma/> reads:
  15424. ``LZMA Utils are legacy data compression software with high
  15425. compression ratio. LZMA Utils are no longer developed, ...
  15426. Users of LZMA Utils should move to XZ Utils.''
  15427. and the existing automake manual (as of 1.11.2) already says:
  15428. ``dist-xz
  15429. Generate an 'xz' tar archive of the distribution. xz archives
  15430. are frequently smaller than bzip2-compressed archives. The 'xz'
  15431. format will soon (early 2009) displace the 'lzma' format''
  15432. Also, the `dist-lzma' target still suffers of never-solved bugs,
  15433. due to the too-high compression ratio its uses by default, which
  15434. might cause an unacceptable memory consumption when one tries to
  15435. compress or, worse, decompress the created tarballs; see also:
  15436. <http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html>
  15437. <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658>
  15438. * NEWS: Update.
  15439. * doc/automake.texi (Dist, Options): State that `dist-lzma' will
  15440. go away in the next major automake version.
  15441. * lib/Automake/Options.pm (_process_option_list): Deprecate
  15442. `dist-lzma'.
  15443. * tests/lzma.test: Update.
  15444. 2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  15445. maintcheck: fix a couple of typos in error messages
  15446. * Makefile.am (sc_tests_plain_autoheader): Fix the message to
  15447. report a bad use of "autocheader", not of "automake."
  15448. (sc_tests_plain_autom4te): Likewise, but for "autom4te" instead.
  15449. (sc_tests_plain_autoreconf): Likewise, but for "autoreconf"
  15450. instead.
  15451. 2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  15452. maintcheck: be sure to look at all the test cases
  15453. Many maintainer checks in the top-level Makefile.am did some
  15454. unwarranted assumptions about the test cases, i.e., they assumed
  15455. that all the test scripts matched the wildcard `$(srcdir)/*.test'.
  15456. This failed to properly take into account VPATH builds (where some
  15457. generated tests might be in ${builddir} rather than in ${srcdir}),
  15458. TAP-based tests script (which have a `.tap' extension) and helper
  15459. scripts used by other test cases (which have a `.sh' extension).
  15460. Fixes automake bug#9299.
  15461. * Makefile.am (xtests): New variable, containing a (dynamically
  15462. computed) of files that looks like test cases of the automake
  15463. testsuite.
  15464. Update many rules to use this new variable instead of blindly
  15465. assuming that all the testcases matches the $(srcdir)/tests/*.test
  15466. wildcard.
  15467. * tests/tap-bad-prog.tap: Do a minor formatting change to
  15468. avoid spuriously triggering a match from the syntax check
  15469. `sc_tests_overriding_macros_on_cmdline'.
  15470. 2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
  15471. Merge branch 'dist-lzip' into maint
  15472. * dist-lzip:
  15473. dist: add support for lzip compression
  15474. 2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  15475. test defs: more granular overriding of the make program
  15476. Before this change, the only way the user could override the make
  15477. program used in the automake test cases was to override the $MAKE
  15478. variable in the environment. This had the annoying side effect of
  15479. requiring that, whenever a non-default make program was to be used
  15480. in the test cases, that same make program had to be used to drive
  15481. the execution of the automake testsuite; otherwise, the recursive
  15482. make invocations could pick up $MAKE from the environment, and use
  15483. that instead of re-executing with the correct make.
  15484. So, for example, if one wanted to try how Solaris /usr/ccs/bin/make
  15485. behaved in the automake test cases, he couldn't run the testsuite
  15486. in parallel mode, because that make lacks support for concurrent
  15487. execution of recipes; on fast machines, this easily meant a 4x or
  15488. higher slow-down.
  15489. Once the problem is clear, the solution is pretty simple: allow
  15490. the use of another variable, besides $MAKE, to override the make
  15491. program to be used in the test cases.
  15492. See also commit `v1.11-1318-g3ceeef4', that introduced a more
  15493. general version of this change to the master branch.
  15494. * tests/defs.in: Allow the make implementation to be used by the
  15495. test cases to be overridden by the `$AM_TESTSUITE_MAKE' variable,
  15496. in preference to the `$MAKE' variable.
  15497. 2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  15498. docs: fix a couple broken anchors
  15499. * doc/automake.texi: In previous commit v1.11-605-g5f71f2b (related
  15500. to automake bug#8071), we had renamed the chapters about aclocal
  15501. and automake invocation, and added anchors to the old names as not
  15502. to break hyperlinks to our on-line manual. Unfortunately, these
  15503. anchors had been erroneously placed *before* the relevant `@node'
  15504. commands, instead that just after, so that they ended up pointing
  15505. to the wrong chapters. Fix this. Since we are at it, tweak the
  15506. wording of the comments to the anchors to better match that used
  15507. in the autoconf manual.
  15508. Report and suggestion by Eric Blake.
  15509. 2011-12-30 Antonio Diaz Diaz <ant_diaz@teleline.es>
  15510. dist: add support for lzip compression
  15511. * NEWS: Update.
  15512. * automake.in (handle_dist): Recognize dist-lzip.
  15513. (make_paragraphs): Map LZIP to dist-lzip.
  15514. * doc/automake.texi (Dist, Options): Describe dist-lzip.
  15515. * lib/Automake/Options.pm (_process_option_list): Recognize
  15516. `dist-lzip'.
  15517. * lib/am/distdir.am (dist-lzip): New target.
  15518. (DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'.
  15519. (dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed
  15520. tarball.
  15521. (distcheck): Handle lzip-compressed tarballs just like the others.
  15522. * tests/lzip.test: New test.
  15523. * tests/Makefile.am (TESTS): Add it.
  15524. 2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
  15525. Merge remote-tracking branch 'silent-fixes' into maint
  15526. * origin/silent-fixes:
  15527. fix: last entry in ChangeLog
  15528. tests: tweak tests on silent-rules for makes without nested vars
  15529. silent-rules: fallback for makes without nested vars
  15530. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15531. docs: fix paragraph names for automake and aclocal invocations
  15532. All the other autotools entitle their invocation nodes
  15533. "autofoo Invocation", whereas automake used to call its
  15534. "Invoking Automake" and "Invoking aclocal". So let's
  15535. try to be more consistent.
  15536. This change is related to automake bug#8071.
  15537. Suggestion by Reuben Thomas and Eric Blake.
  15538. * doc/automake.texi (Invoking Automake): Node renamed ...
  15539. (automake Invocation): ... to this.
  15540. (Invoking aclocal): Node renamed ...
  15541. (aclocal Invocation): ... to this.
  15542. Add proper @anchor directives to avoid breaking existing web
  15543. hyperlinks still using the old names of the renamed nodes.
  15544. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15545. tests: fix spurious failure due to autom4te caching
  15546. * tests/acloca18.test: Remove stale autom4te.cache directories, to
  15547. prevent racy, spurious failures.
  15548. * tests/python11.test: Likewise. Fix a typo in comments since we
  15549. are at it.
  15550. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15551. Merge branch 'maint' into msvc
  15552. * maint:
  15553. maint: autogenerate ChangeLog
  15554. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15555. Merge branch 'maint' into silent-fixes
  15556. * maint:
  15557. maint: autogenerate ChangeLog
  15558. fix: last ChangeLog entry
  15559. tests: drop unnecessary requirement in 'subpkg.test'
  15560. gitlog-to-changelog: new auxiliary script, synced from gnulib
  15561. docs: "aclocal --install -I /abs/dir" actually copies files
  15562. docs: fix node names for automake and aclocal invocations
  15563. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15564. Merge branch 'maint' into yacc-work
  15565. * maint:
  15566. maint: autogenerate ChangeLog
  15567. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15568. Merge branch 'maint'
  15569. * maint:
  15570. maint: autogenerate ChangeLog
  15571. 2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
  15572. maint: autogenerate ChangeLog
  15573. Following the practice set by various other GNU projects, we start
  15574. to automatically generate the ChangeLog file from the git commit
  15575. messages. This will avoid duplication (as the ChangeLog entries
  15576. were always inserted both in the git commit message and in the
  15577. version-controlled ChangeLog file), and potential problems with
  15578. spurious merge conflicts (which, although greatly mitigated by
  15579. Bruno Haible's `git-merge-changelog' helper program, have never
  15580. been completely solved).
  15581. * ChangeLog: Moved ...
  15582. * ChangeLog.11:... to this.
  15583. * Makefile.am (EXTRA_DIST): Add it.
  15584. (gitlog_to_changelog_command, gitlog_to_changelog_options): New
  15585. variables.
  15586. (ChangeLog, am--changelog-regen-hook): New targets.
  15587. * .gitignore: Add ChangeLog.