{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:09Z","timestamp":1772164029125,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":44,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,10,23]],"date-time":"2017-10-23T00:00:00Z","timestamp":1508716800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1552944, 1318808"],"award-info":[{"award-number":["1552944, 1318808"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100009226","name":"National Security Agency","doi-asserted-by":"publisher","award":["H9823014C0140"],"award-info":[{"award-number":["H9823014C0140"]}],"id":[{"id":"10.13039\/100009226","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2017,10,23]]},"DOI":"10.1145\/3136040.3136051","type":"proceedings-article","created":{"date-parts":[[2017,10,12]],"date-time":"2017-10-12T08:51:09Z","timestamp":1507798269000},"page":"176-186","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Four languages and lots of macros: analyzing autotools build systems"],"prefix":"10.1145","author":[{"given":"Jafar M.","family":"Al-Kofahi","sequence":"first","affiliation":[{"name":"Iowa State University, USA"}]},{"given":"Suresh","family":"Kothari","sequence":"additional","affiliation":[{"name":"Iowa State University, USA"}]},{"given":"Christian","family":"K\u00e4stner","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, USA"}]}],"member":"320","published-online":{"date-parts":[[2017,10,23]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"https:\/\/github.com\/antlr\/antlr4\/blob\/master\/ doc\/index.md","author":"NTLR","year":"2017","unstructured":"2017. A NTLR 4.0. ( 2017 ). https:\/\/github.com\/antlr\/antlr4\/blob\/master\/ doc\/index.md 2017. ANTLR 4.0. (2017). https:\/\/github.com\/antlr\/antlr4\/blob\/master\/ doc\/index.md"},{"key":"e_1_3_2_1_2_1","unstructured":"2017. BOA website. (2017). http:\/\/boa.cs.iastate.edu\/boa\/  2017. BOA website. (2017). http:\/\/boa.cs.iastate.edu\/boa\/"},{"key":"e_1_3_2_1_3_1","unstructured":"2017. CMake Official Site. (2017). cmake.org  2017. CMake Official Site. (2017). cmake.org"},{"key":"e_1_3_2_1_4_1","volume-title":"https:\/\/sourceforge.net\/projects\/d2x-xl\/","author":"XL.","year":"2017","unstructured":"2017. D2X- XL. ( 2017 ). https:\/\/sourceforge.net\/projects\/d2x-xl\/ 2017. D2X-XL. (2017). https:\/\/sourceforge.net\/projects\/d2x-xl\/"},{"key":"e_1_3_2_1_5_1","unstructured":"2017. GitHub software code repository. (2017). https:\/\/github.com\/  2017. GitHub software code repository. (2017). https:\/\/github.com\/"},{"key":"e_1_3_2_1_6_1","unstructured":"2017. GNU Autoconf Manual. (2017). gnu.org\/software\/automake\/ manual\/html_node\/GNU-Build-System.html#GNU-Build-System  2017. GNU Autoconf Manual. (2017). gnu.org\/software\/automake\/ manual\/html_node\/GNU-Build-System.html#GNU-Build-System"},{"key":"e_1_3_2_1_7_1","volume-title":"gnu.org\/software","author":"Autotools GNU","year":"2017","unstructured":"2017. GNU Autotools . ( 2017 ). gnu.org\/software 2017. GNU Autotools. (2017). gnu.org\/software"},{"key":"e_1_3_2_1_8_1","unstructured":"2017. GNU Compiler Collection (GCC). (2017). https:\/\/gcc.gnu.org\/  2017. GNU Compiler Collection (GCC). (2017). https:\/\/gcc.gnu.org\/"},{"key":"e_1_3_2_1_9_1","volume-title":"https:\/\/www.gnu.org\/software\/emacs\/","author":"Emacs GNU","year":"2017","unstructured":"2017. GNU Emacs . ( 2017 ). https:\/\/www.gnu.org\/software\/emacs\/ 2017. GNU Emacs. (2017). https:\/\/www.gnu.org\/software\/emacs\/"},{"key":"e_1_3_2_1_10_1","volume-title":"https:\/\/github.com\/bytedeco\/javacpp","author":"CPP.","year":"2017","unstructured":"2017. Java CPP. ( 2017 ). https:\/\/github.com\/bytedeco\/javacpp 2017. JavaCPP. (2017). https:\/\/github.com\/bytedeco\/javacpp"},{"key":"e_1_3_2_1_11_1","volume-title":"www.kde.org","author":"Development Environment K","year":"2017","unstructured":"2017. K Development Environment . ( 2017 ). www.kde.org 2017. K Development Environment. (2017). www.kde.org"},{"key":"e_1_3_2_1_12_1","unstructured":"2017. M4 macro language. (2017). https:\/\/www.gnu.org\/software\/m4\/ m4.html  2017. M4 macro language. (2017). https:\/\/www.gnu.org\/software\/m4\/ m4.html"},{"key":"e_1_3_2_1_13_1","unstructured":"2017. Map Server Official Site. (2017). mapserver.org  2017. Map Server Official Site. (2017). mapserver.org"},{"key":"e_1_3_2_1_14_1","unstructured":"2017. Map Server: Request to migrate to CMake. (2017). mapserver. org\/development\/rfc\/ms-rfc-92.html  2017. Map Server: Request to migrate to CMake. (2017). mapserver. org\/development\/rfc\/ms-rfc-92.html"},{"key":"e_1_3_2_1_15_1","volume-title":"https:\/\/www.openssh.com\/","author":"SSH.","year":"2017","unstructured":"2017. Open SSH. ( 2017 ). https:\/\/www.openssh.com\/ 2017. Open SSH. (2017). https:\/\/www.openssh.com\/"},{"key":"e_1_3_2_1_16_1","volume-title":"https:\/\/openvpn.net\/","author":"VPN.","year":"2017","unstructured":"2017. Open VPN. ( 2017 ). https:\/\/openvpn.net\/ 2017. Open VPN. (2017). https:\/\/openvpn.net\/"},{"key":"e_1_3_2_1_17_1","unstructured":"2017. SourceForge software code repository. (2017). https:\/\/ sourceforge.net\/  2017. SourceForge software code repository. (2017). https:\/\/ sourceforge.net\/"},{"key":"e_1_3_2_1_18_1","unstructured":"B. Adams K. de Schutter H. Tromp and W. de Meuter. 2008. The evolution of the Linux build system. In Electronic Communications of the ECEASST .  B. Adams K. de Schutter H. Tromp and W. de Meuter. 2008. The evolution of the Linux build system. In Electronic Communications of the ECEASST ."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2007.4362624"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405266"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2014.87"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2993274.2993279"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103677"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2362536.2362544"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606588"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660239"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/RELENG.2013.6607690"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2011.54"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2014.26"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"crossref","unstructured":"G. Kumfert and T. Epperly. 2002. Software in the doe: The hidden overhead of the build . Lawrence Livermore National Laboratory.  G. Kumfert and T. Epperly. 2002. Software in the doe: The hidden overhead of the build . Lawrence Livermore National Laboratory.","DOI":"10.2172\/15005938"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2017.65"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897695.2897703"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2015.31"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985813"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970322"},{"key":"e_1_3_2_1_36_1","unstructured":"Alexander Neundorf. 2017. Why the KDE project switched to CMake. (2017). lwn.net\/Articles\/188693\/  Alexander Neundorf. 2017. Why the KDE project switched to CMake. (2017). lwn.net\/Articles\/188693\/"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568300"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786830"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568255"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405267"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227152"},{"key":"e_1_3_2_1_42_1","unstructured":"Troy Unrau. 2017. The Road to KDE 4: CMake a New Build System for KDE. (2017). dot.kde.org\/2007\/02\/22\/ road-kde-4-cmake-new-build-system-kde  Troy Unrau. 2017. The Road to KDE 4: CMake a New Build System for KDE. (2017). dot.kde.org\/2007\/02\/22\/ road-kde-4-cmake-new-build-system-kde"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2643013"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/RELENG.2015.15"}],"event":{"name":"SPLASH '17: Conference on Systems, Programming, Languages, and Applications: Software for Humanity","location":"Vancouver BC Canada","acronym":"SPLASH '17","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGAda ACM Special Interest Group on Ada Programming Language"]},"container-title":["Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3136040.3136051","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3136040.3136051","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3136040.3136051","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:13:36Z","timestamp":1750198416000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3136040.3136051"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,23]]},"references-count":44,"alternative-id":["10.1145\/3136040.3136051","10.1145\/3136040"],"URL":"https:\/\/doi.org\/10.1145\/3136040.3136051","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3170492.3136051","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2017,10,23]]},"assertion":[{"value":"2017-10-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}