From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lh98v-000576-4B for qemu-devel@nongnu.org; Tue, 10 Mar 2009 17:05:41 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lh98t-00056u-KP for qemu-devel@nongnu.org; Tue, 10 Mar 2009 17:05:40 -0400 Received: from [199.232.76.173] (port=60152 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lh98t-00056r-CS for qemu-devel@nongnu.org; Tue, 10 Mar 2009 17:05:39 -0400 Received: from mail-fx0-f175.google.com ([209.85.220.175]:49835) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lh98s-0004mG-HK for qemu-devel@nongnu.org; Tue, 10 Mar 2009 17:05:38 -0400 Received: by fxm23 with SMTP id 23so1818057fxm.34 for ; Tue, 10 Mar 2009 14:05:34 -0700 (PDT) MIME-Version: 1.0 Date: Tue, 10 Mar 2009 23:05:22 +0200 Message-ID: From: Blue Swirl Content-Type: multipart/mixed; boundary=001636c5ac7ab6a7780464ca1c3e Subject: [Qemu-devel] [PATCH] [RFC] Syncing documentation vs. -help vs. qemu_options table Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel --001636c5ac7ab6a7780464ca1c3e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, It would be nice if the documentation about command line switches, -help text and qemu_options table would be kept more easily in sync. In true Qemu tradition, this solution uses an include file that is parsed once for getting the enums, another time for getopt tables and third time for help message. Documentation for options is generated from the same file with CPP. The advantage is that all stuff is in a single location, so developers are less likely to forget to update docs when adding new switches. I made a reference implementation using the -parallel switch as a an example. The new system could be introduced gradually, starting from this patch and then converting the options. Comments? --001636c5ac7ab6a7780464ca1c3e Content-Type: plain/text; name="option_system.diff" Content-Disposition: attachment; filename="option_system.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fs52erv0 SW5kZXg6IHFlbXUvTWFrZWZpbGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL01ha2VmaWxlCTIw MDktMDMtMTAgMjA6Mjc6NTMuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L01ha2VmaWxlCTIwMDkt MDMtMTAgMjA6NTM6NDcuMDAwMDAwMDAwICswMDAwCkBAIC0yODMsMTMgKzI4MywxNiBAQAogCiAj IGRvY3VtZW50YXRpb24KICUuaHRtbDogJS50ZXhpCi0JdGV4aTJodG1sIC1tb25vbGl0aGljIC1u dW1iZXIgJDwKKwl0ZXhpMmh0bWwgLUk9LiAtbW9ub2xpdGhpYyAtbnVtYmVyICQ8CiAKICUuaW5m bzogJS50ZXhpCi0JbWFrZWluZm8gJDwgLW8gJEAKKwltYWtlaW5mbyAtSSAuICQ8IC1vICRACiAK ICUuZHZpOiAlLnRleGkKLQl0ZXhpMmR2aSAkPAorCXRleGkyZHZpIC1JIC4gJDwKKworcWVtdS1v cHRpb25zLnRleGk6IG9wdGlvbnMuYworCWNwcCAkPCB8IGVncmVwIC12ICdeIy4qJyA+ICRACiAK IHFlbXUuMTogcWVtdS1kb2MudGV4aQogCXBlcmwgLVd3IC0tICQoU1JDX1BBVEgpL3RleGkycG9k LnBsICQ8IHFlbXUucG9kCkBAIC0zMDksNyArMzEyLDcgQEAKIAogaHRtbDogcWVtdS1kb2MuaHRt bCBxZW11LXRlY2guaHRtbAogCi1xZW11LWRvYy5kdmkgcWVtdS1kb2MuaHRtbCBxZW11LWRvYy5p bmZvOiBxZW11LWltZy50ZXhpIHFlbXUtbmJkLnRleGkKK3FlbXUtZG9jLmR2aSBxZW11LWRvYy5o dG1sIHFlbXUtZG9jLmluZm86IHFlbXUtaW1nLnRleGkgcWVtdS1uYmQudGV4aSBxZW11LW9wdGlv bnMudGV4aQogCiBWRVJTSU9OID89ICQoc2hlbGwgY2F0IFZFUlNJT04pCiBGSUxFID0gcWVtdS0k KFZFUlNJT04pCkluZGV4OiBxZW11L29wdGlvbnMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvb3B0aW9ucy5jCTIw MDktMDMtMTAgMjA6NDM6NTkuMDAwMDAwMDAwICswMDAwCkBAIC0wLDAgKzEsMTkgQEAKKyNpZm5k ZWYgREVGCisjZGVmaW5lIERFRihvcHRpb24sIG9wdF9hcmcsIG9wdF9lbnVtLCBvcHRfaGVscCkK KyNkZWZpbmUgR0VOX0RPQ1MKKyNlbmRpZgorCitERUYoInBhcmFsbGVsIiwgSEFTX0FSRywgUUVN VV9PUFRJT05fcGFyYWxsZWwsICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIi1wYXJh bGxlbCBkZXYgICByZWRpcmVjdCB0aGUgcGFyYWxsZWwgcG9ydCB0byBjaGFyIGRldmljZSAnZGV2 J1xuIikKKyNpZmRlZiBHRU5fRE9DUworQGl0ZW0gLXBhcmFsbGVsIEB2YXJ7ZGV2fQorUmVkaXJl Y3QgdGhlIHZpcnR1YWwgcGFyYWxsZWwgcG9ydCB0byBob3N0IGRldmljZSBAdmFye2Rldn0gKHNh bWUKK2RldmljZXMgYXMgdGhlIHNlcmlhbCBwb3J0KS4gT24gTGludXggaG9zdHMsIEBmaWxley9k ZXYvcGFycG9ydE59IGNhbgorYmUgdXNlZCB0byB1c2UgaGFyZHdhcmUgZGV2aWNlcyBjb25uZWN0 ZWQgb24gdGhlIGNvcnJlc3BvbmRpbmcgaG9zdAorcGFyYWxsZWwgcG9ydC4KKworVGhpcyBvcHRp b24gY2FuIGJlIHVzZWQgc2V2ZXJhbCB0aW1lcyB0byBzaW11bGF0ZSB1cCB0byAzIHBhcmFsbGVs Citwb3J0cy4KKworVXNlIEBjb2Rley1wYXJhbGxlbCBub25lfSB0byBkaXNhYmxlIGFsbCBwYXJh bGxlbCBwb3J0cy4KKyNlbmRpZgpJbmRleDogcWVtdS9xZW11LWRvYy50ZXhpCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIHFlbXUub3JpZy9xZW11LWRvYy50ZXhpCTIwMDktMDMtMTAgMjA6MjY6NDkuMDAwMDAwMDAw ICswMDAwCisrKyBxZW11L3FlbXUtZG9jLnRleGkJMjAwOS0wMy0xMCAyMDozMjowNy4wMDAwMDAw MDAgKzAwMDAKQEAgLTEwNzMsMTYgKzEwNzMsNyBAQAogCiBAZW5kIHRhYmxlCiAKLUBpdGVtIC1w YXJhbGxlbCBAdmFye2Rldn0KLVJlZGlyZWN0IHRoZSB2aXJ0dWFsIHBhcmFsbGVsIHBvcnQgdG8g aG9zdCBkZXZpY2UgQHZhcntkZXZ9IChzYW1lCi1kZXZpY2VzIGFzIHRoZSBzZXJpYWwgcG9ydCku IE9uIExpbnV4IGhvc3RzLCBAZmlsZXsvZGV2L3BhcnBvcnROfSBjYW4KLWJlIHVzZWQgdG8gdXNl IGhhcmR3YXJlIGRldmljZXMgY29ubmVjdGVkIG9uIHRoZSBjb3JyZXNwb25kaW5nIGhvc3QKLXBh cmFsbGVsIHBvcnQuCi0KLVRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHNldmVyYWwgdGltZXMgdG8g c2ltdWxhdGUgdXAgdG8gMyBwYXJhbGxlbAotcG9ydHMuCi0KLVVzZSBAY29kZXstcGFyYWxsZWwg bm9uZX0gdG8gZGlzYWJsZSBhbGwgcGFyYWxsZWwgcG9ydHMuCitAaW5jbHVkZSBxZW11LW9wdGlv bnMudGV4aQogCiBAaXRlbSAtbW9uaXRvciBAdmFye2Rldn0KIFJlZGlyZWN0IHRoZSBtb25pdG9y IHRvIGhvc3QgZGV2aWNlIEB2YXJ7ZGV2fSAoc2FtZSBkZXZpY2VzIGFzIHRoZQpJbmRleDogcWVt dS92bC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy92bC5jCTIwMDktMDMtMTAgMjA6Mjg6MDAu MDAwMDAwMDAwICswMDAwCisrKyBxZW11L3ZsLmMJMjAwOS0wMy0xMCAyMDozNTowNS4wMDAwMDAw MDAgKzAwMDAKQEAgLTQwNTcsNyArNDA1NywxMCBAQAogICAgICAgICAgICAiXG4iCiAgICAgICAg ICAgICJEZWJ1Zy9FeHBlcnQgb3B0aW9uczpcbiIKICAgICAgICAgICAgIi1zZXJpYWwgZGV2ICAg ICByZWRpcmVjdCB0aGUgc2VyaWFsIHBvcnQgdG8gY2hhciBkZXZpY2UgJ2RldidcbiIKLSAgICAg ICAgICAgIi1wYXJhbGxlbCBkZXYgICByZWRpcmVjdCB0aGUgcGFyYWxsZWwgcG9ydCB0byBjaGFy IGRldmljZSAnZGV2J1xuIgorI2RlZmluZSBERUYob3B0aW9uLCBvcHRfYXJnLCBvcHRfZW51bSwg b3B0X2hlbHApICAgICAgICBcCisgICAgICAgICAgIG9wdF9oZWxwCisjaW5jbHVkZSAib3B0aW9u cy5jIgorI3VuZGVmIERFRgogICAgICAgICAgICAiLW1vbml0b3IgZGV2ICAgIHJlZGlyZWN0IHRo ZSBtb25pdG9yIHRvIGNoYXIgZGV2aWNlICdkZXYnXG4iCiAgICAgICAgICAgICItcGlkZmlsZSBm aWxlICAgd3JpdGUgUElEIHRvICdmaWxlJ1xuIgogICAgICAgICAgICAiLVMgICAgICAgICAgICAg IGZyZWV6ZSBDUFUgYXQgc3RhcnR1cCAodXNlICdjJyB0byBzdGFydCBleGVjdXRpb24pXG4iCkBA IC00MTk3LDcgKzQyMDAsMTAgQEAKIAogICAgIC8qIERlYnVnL0V4cGVydCBvcHRpb25zOiAqLwog ICAgIFFFTVVfT1BUSU9OX3NlcmlhbCwKLSAgICBRRU1VX09QVElPTl9wYXJhbGxlbCwKKyNkZWZp bmUgREVGKG9wdGlvbiwgb3B0X2FyZywgb3B0X2VudW0sIG9wdF9oZWxwKSAgICAgICAgXAorICAg IG9wdF9lbnVtLAorI2luY2x1ZGUgIm9wdGlvbnMuYyIKKyN1bmRlZiBERUYKICAgICBRRU1VX09Q VElPTl9tb25pdG9yLAogICAgIFFFTVVfT1BUSU9OX3BpZGZpbGUsCiAgICAgUUVNVV9PUFRJT05f UywKQEAgLTQzMTksNyArNDMyNSwxMCBAQAogCiAgICAgLyogRGVidWcvRXhwZXJ0IG9wdGlvbnM6 ICovCiAgICAgeyAic2VyaWFsIiwgSEFTX0FSRywgUUVNVV9PUFRJT05fc2VyaWFsIH0sCi0gICAg eyAicGFyYWxsZWwiLCBIQVNfQVJHLCBRRU1VX09QVElPTl9wYXJhbGxlbCB9LAorI2RlZmluZSBE RUYob3B0aW9uLCBvcHRfYXJnLCBvcHRfZW51bSwgb3B0X2hlbHApICAgICAgICBcCisgICAgeyBv cHRpb24sIG9wdF9hcmcsIG9wdF9lbnVtIH0sCisjaW5jbHVkZSAib3B0aW9ucy5jIgorI3VuZGVm IERFRgogICAgIHsgIm1vbml0b3IiLCBIQVNfQVJHLCBRRU1VX09QVElPTl9tb25pdG9yIH0sCiAg ICAgeyAicGlkZmlsZSIsIEhBU19BUkcsIFFFTVVfT1BUSU9OX3BpZGZpbGUgfSwKICAgICB7ICJT IiwgMCwgUUVNVV9PUFRJT05fUyB9LAo= --001636c5ac7ab6a7780464ca1c3e--