From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: From: "Steve Simon" Date: Thu, 29 Jan 2009 20:27:50 +0000 To: 9fans@9fans.net In-Reply-To: <13426df10901290827k581268e6i43b213df72b666a4@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-nxmodplfqyktdgjojzyngjavit" Subject: [9fans] porting GNU code Topicbox-Message-UUID: 8e92dd9c-ead4-11e9-9d60-3106f5b1d025 This is a multi-part message in MIME format. --upas-nxmodplfqyktdgjojzyngjavit Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit > ..are there some nice general scripts that could > be used to automate some of this for the next hunk of gnu-like code > that comes along? I wrote a tool to help me port some ANSI C code from the net. It autogenerates mkfiles based on analysis of the source and headers. Importantly the porting effort can be coded into an rc(1) script, this means new releases of your GNU (for example) package can be built with relative ease. manpage attached, sourcecode and examples in the contrib package steve/mkmk -Steve --upas-nxmodplfqyktdgjojzyngjavit Content-Type: multipart/mixed; boundary="upas-qfkpblwayksvjdpqcsykwjnbdp" Content-Disposition: inline This is a multi-part message in MIME format. --upas-qfkpblwayksvjdpqcsykwjnbdp Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit from postmaster@felix: The following attachment had content that we can't prove to be harmless. To avoid possible automatic execution, we changed the content headers. The original header was: Content-Type: text/troff Content-Disposition: attachment; filename=mkmk Content-Transfer-Encoding: base64 --upas-qfkpblwayksvjdpqcsykwjnbdp Content-Type: application/octet-stream Content-Disposition: attachment; filename="mkmk.suspect" Content-Transfer-Encoding: base64 LlRIIE1LTUsgMQouU0ggTkFNRQpta21rIFwtIGNyZWF0ZSBhIG1rZmlsZSBmb3IgZm9yZWln biBzb2Z0d2FyZQouU0ggU1lOT1BTSVMKLkIgbWttawpbCi5CIC1hU0EKXSBbCi5CIC1TCi5J IGZpbGUKXSBbCi5CIC1JCi5JIGluY2RpcgpdIFsKLkIgLUwKLkkgbGliZGlyCl0gWwouQiAt RAouSSBuYW1lClsKLkkgPXZhbHVlCl1dIFsKLkIgLVUKLkkgbmFtZQpdIFsKLkIgLXcKLkkg Y29sdW1uCl0gWwouQiAtQwouSSBjZmxhZ3MKXSBbCi5CIC14Ci5JIGV4Y2x1ZGUKXSBbCi5J IGZpbGUuLi4KXQouU0ggREVTQ1JJUFRJT04KLkkgbWttawphdHRlbXB0cyB0byBnZW5lcmF0 ZSBhIGNvcnJlY3QgbWtmaWxlIGZvcgouSSBtaygxKQpiYXNlZCBvbiB0aGUgZmlsZXMgZ2l2 ZW4sIG9yIGlmIG5vbmUsIHRob3NlIGZvdW5kIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwK aXQgd3JpdGVzIHRoZSBnZW5lcmF0ZWQgbWtmaWxlIHRvIGl0cyBzdGFuZGFyZCBvdXRwdXQu Ci5QClRob3VnaCAKLkkgbWttaygxKQptYWtlcyBzdHJlbnVvdXMgYXR0ZW1wdHMgdG8gaWRl bnRpZnkgdGhlIGRlcGVuZGVuY3kgdHJlZSBhbmQgcmVxdWlyZWQKbWFjcm8gZGVmaW5pdGlv bnMgaXQgd2lsbCBtYWtlIG1pc3Rha2VzLiBJdCBpcyBleHBlY3RlZCB0aGF0Ci5JIG1rbWso MSkKd2lsbCB1c3VhbGx5IGJlIGludm9rZWQgZnJvbSBhbgouSSByYygxKSBzY3JpcHQsIAou SVIgOXBvcnQgLAp3aGljaCB3aWxsIHVzZSB0aGUgdmFyaW91cyBjb21tYW5kIG9wdGlvbnMg dG8gbW9kaWZ5IHRoZSBnZW5lcmF0ZWQgbWtmaWxlLgpJbiBleHRyZW1lIGNhc2VzIGl0IG1h eSBldmVuIGhhdmUgdG8gdXNlIG90aGVyIHRvb2xzIHN1Y2ggYXMKLkkgc2VkKDEpCmFuZAou SSBhd2soMSkKdG8gbWFzc2FnZSB0aGUgZ2VuZXJhdGVkIHNjcmlwdC4KT25lIG9mIHRoZXNl IHNjcmlwdHMgd291bGQgYmUgbmVlZGVkIGZvciBlYWNoIHBhY2thZ2UgcG9ydGVkIHVzaW5n Ci5JUiBta21rKDEpIC4KLkxQClVzaW5nIGEgc2NyaXB0IGlzIHByZWZlcmFibGUgdG8gaGFu ZCBlZGl0aW5nCnRoZSBnZW5lcmF0ZWQgbWtmaWxlIGFzIGl0IGFsbG93cyB1cGRhdGVzIG9m IHRoZSBwYWNrYWdlIHRvIGJlCmluc3RhbGxlZCBieSBzaW1wbHkgcmUtcnVubmluZyB0aGUg Ci5JIDlwb3J0CnNjcmlwdC4KVGhlcmUgYXJlIGEgbnVtYmVyIG9mIG9wdGlvbnM6Ci5UUAou QiAtbyB0YXJnZXQKLlRQCi5CIC1tCi5UUAouQiAtbCB0YXJnZXQKLlRQCi5CIC1zIHRhcmdl dAouYnIKLkkgbWttaygxKQppcyBhYmxlIHRvIGdlbmVyYXRlIHRoZSBmb3VyIHN0YW5kYXJk IG1rZmlsZSB0eXBlczoKLkIgLW8KYSBzaW5nbGUgZXhlY3V0YWJsZSBmaWxlIHRhcmdldCwK LkIgLW0KbXVsdGlwbGUgdGFyZ2V0cywgb25lIHBlciBzb3VyY2UgZmlsZSwKLkIgLWwKYSB1 c2VyIGxpYnJhcnksIGFuZAouQiAtcwphIHN5c3RlbSBsaWJyYXJ5LiBJbiBlYWNoIGNhc2Ug d2hlcmUgYSBzaW5nbGUgdGFyZ2V0IGlzIHJlcXVpcmVkIGl0J3MgbmFtZQptdXN0IGZvbGxv dyB0aGUgb3B0aW9uIGxldHRlci4gSWYgbm9uZSBvZiB0aGVzZSBvcHRpb25zIGlzIHNwZWNp ZmllZAppdCBpcyBhc3N1bWVkIHRoZSB0aGUgbWtmaWxlIGlzIGEgdG9wIGxldmVsIGRyaXZl ciBhbmQgZXhpc3RzIG9ubHkgdG8gcmVjdXJzaXZlbHkgY2FsbAouSSBtaygxKQppbiBzdWJk aXJlY3Rvcmllcy4KLlRQCi5CIC1BCi5icgpBdXRvY29uZiBtb2RlLCBtb3N0IGRlZmluZXMg YXJlIHdyaXR0ZW4gdG8gdGhlIGZpbGUKLkkgY29uZmlnLmgKaW4gdGhlIGN1cnJlbnQgZGly ZWN0b3J5IChwcm92aWRlZCBpdCBkb2Vzbid0IGV4aXN0KSwgYW5kIGhldXJpc3RpY3MKYXJl IHVzZWQgcGFyc2UgQXV0b2NvbmYgZmVhdHVyZSB0ZXN0cyBhbmQgcHJvdmlkZSBjb3JyZWN0 IGFuc3dlcnMgdG8gdGhlbS4KLlRQCi5CICAtYQouYnIKQVBFIG1vZGUsIHRhcmdldCBsaWJy YXJpZXMgd2lsbCBiZSBwbGFjZWQgaW4gLyRvYmp0eXBlL2xpYi9hcGUsIGJpbmFyaWVzIGlu Ci8kb2JqdHlwZS9iaW4vYXBlLCBtYW51YWxzIGluIC9zeXMvbGliL1hhcGUgKHdoZXJlIFgg aXMgdGhlIG1hbnVhbCBzZWN0aW9uIG51bWJlcikuClRoaXMgaW5mZXJzIHRoYXQgdGhlIHRh cmdldCBhcHBsaWNhdGlvbiBvciBsaWJyYXJ5IHdpbGwgb25seSBiZSB1c2VkIGZyb20gd2l0 aGluCnRoZSBBUEUgZW52aXJvbm1lbnQuCi5UUAouQiAgLVMKLmJyCi5JIG1rbWsoMSkKbm9y bWFsbHkgcmVhZHMgZWFjaCBoZWFkZXIgZmlsZSBvbmx5IG9uY2UsIGhvd2V2ZXIgc3RyYW5n ZSBwcmVwcm9jZXNzb3IKY29kZSBjYW4gbWVhbiBhIHNpbmdsZSBoZWFkZXIgZmlsZSB3aWxs IGNvbXBpbGUgZGlmZmVyZW50bHkgZGVwZW5kaW5nCm9uIHdoaWNoIHNvdXJjZSBmaWxlIGlu bHVkZXMgaXQuIFRoZQouQiAtUwpvcHRpb24sIChzbG93IGJ1dCBhY2N1cmF0ZSksIGRpc2Fi bGVzIHRoaXMgb3B0aW1pc2F0aW9uIGF0IHRoZSBleHBlbnNlCm9mIG11Y2ggbG9uZ2VyIHJ1 bnRpbWVzLiAKLlRQCi5CICAtSSBpbmNkaXIKLmJyCkFkaXRpb25hbCBpbmNsdWRlIGRpcmVj dG9yaWVzIHRvIGJlIHNlYXJjaGVkIGJ5IHRoZSBjb21waWxlcgptYXkgYmUgZ2l2ZW4sIHRo ZXNlIGFyZSBhbHNvIGFkZGVkIHRvCnRoZQouSSBDRkxBR1M9Cm1hY3JvIGluIHRoZSBnZW5l cmF0ZWQgbWtmaWxlLiBUaGlzIG9wdGlvbiBtYWtlIGJlIHJlcGVhdGVkIGFzIHJlcXVpcmVk LgouVFAKLkIgIC13IHdpZHRoCi5icgp0ZXh0IGluIHRoZSBnZW5lcmF0ZWQgbWtmaWxlIGlz IHdvcmQgd3JhcHBlZCwgYXQgY29sdW1uIDc4IGJ5IGRlZmF1bHQgZ2l2aW5nCndpZGUgYnV0 IHNob3J0IG91dHB1dC4KdGhpcyBjb2x1bW4gbnVtYmVyIG1heSBiZSBjb250cm9sbGVkIGJ5 IHRoaXMKb3B0aW9uOyBhIHZhbHVlIG9mIHplcm8gd2lsbCBnaXZlIG9uZSBvYmplY3QgcGVy IGxpbmUgc3R5bGUgXC0gbmFycm93IGJ1dCB0YWxsCmZpbGVzLCBwcmVmZXJyZWQgYnkgc29t ZSB1c2Vycy4KLlRQCi5CIC1EIG5hbWVbPXZhbHVlXQouYnIKQyBwcmVwcm9jZXNzb3IgbWFj cm9zIG1heSBiZSBkZWZpbmVkIHVzaW5nIHRoZSBzYW1lIHN5bnRheCBhcyB0aGUKQyBwcmVw cm9jZXNzb3IuIFRoaXMgb3B0aW9uIG1heSBiZSByZXBlYXRlZCBhcyBvZnRlbiBhcyByZXF1 aXJlZC4KLlRQCi5CIC1VIG5hbWUKLmJyCkMgcHJlcHJvY2Vzc29yIG1hY3JvcyBtYXkgYmUg dW5kZWZpbmVkIHVzaW5nIHRoZSBzYW1lIHN5bnRheCBhcyB0aGUKQyBwcmVwcm9jZXNzb3Iu IFRoaXMgb3B0aW9uIG1heSBiZSByZXBlYXRlZCBhcyBvZnRlbiBhcyByZXF1aXJlZC4KLlRQ Ci5CIC1CClRoaXMgaXMgc2hvcnRoYW5kIGZvcgouQiAiLWMgLUIiCndoaWNoIHR1cm5zIG9m ZiB0aGUgd2FybmluZ3MgYWJvdXQgZnVuY3Rpb24gY2FsbHMgaW4gdGhlIGFic2VuY2Ugb2Yg cHJvdG90eXBlcy4KU2FkbHkgaXQgb3dlcyBpdHMgZXhpc3RlbmNlIHRvIHRoZSBmcmVxdWVu Y3kgdGhhdCBpdCBpcyBuZWVkZWQuCi5UUAouQiAtYyBmbGFncwouYnIKQXJiaXRhcnkgQyBj b21waWxlciBmbGFncyBjYW4gYmUgYWRkZWQgdG8gdGhlIENGTEFHUyB2YXJpYWJsZSBpbgp0 aGUgZ2VuZXJhdGVkIG1rZmlsZSB1c2luZyB0aGlzIG9wdGlvbiwgaXQgbWFrZSBiZSByZXBl YXRlZCBhcyByZXF1aXJlZC4KLlRQCi1hCi5icgpBUEUgbW9kZSwgY29udHJvbHMgdGhlIGlu c3RhbGxhdGlvbiBkaXJlY3RvcmllcyBmb3IgdGFyZ2V0IGZpbGVzLiBMaWJyYXJpZXMgYXJl IGluc3RhbGxlZAp0byAvJG9ianR5cGUvbGliL2FwZSByYXRoZXIgdGhhbiAvJG9ianR5cGUv bGliLApleGVjdXRhYmxlcyB0byAvJG9ianR5cGUvYmluL2FwZSByYXRoZXIgdGhhbiAvJG9i anR5cGUvYmluIGFuZCBtYW51YWxzIHRvCi9zeXMvbWFuL2FwZVggcmF0aGVyIHRoYW4gL3N5 cy9tYW4vWC4KLlRQCi14IGZpbGUKLmJyCkV4Y2x1ZGUgZmlsZSBmcm9tIHByb2Nlc3Npbmcu Ci5JIE1rbWsoMSkKcGFyc2VzIGFsbCB0aGUgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0 b3J5LCBleGNlcHQgdGhvc2Ugc3BlY2lmaWVkIHdpdGgKdGhlCi5CIC14Cm9wdGlvbi4gVGhp cyBvcHRpb24gY2FuIGFwcGVhciBhcyBvZnRlbiBhcyBuZWNlc3NhcnkuCi5UUAouQiAtaCBm bGFncwouYnIKQWRpdGlvbmFsIGxpYmtlciBmbGFncyBtYWtlIGJlIHNwZWNpZmllZCwgdGhl c2UgYXJlIGFwcGVuZGVkIHRvIHRoZSBMREZMQUdTCnZhcmlhYmxlIGluIHRoZSBnZW5lcmF0 ZSBta2ZpbGUuIFRoaXMgb3B0aW9uIGNhbiBhcHBlYXIgYXMgb2Z0ZW4gYXMgbmVjZXNzYXJ5 LgouVFAKLkIgLUggbGlicwouYnIKVXNlciBsaWJyYXJpZXMgcmVxdWlyZWQgbWF5IGJlIHNw ZWNpZmllZCwgdGhlc2UgYXJlIGFwcGVuZGVkIHRvCnRoZSBMSUJTIHZhcmlhYmxlIGluIHRo ZSBnZW5lcmF0ZSBta2ZpbGUuIFN5c3RlbSBsaWJyYXJpZXMgbmVlZCBub3QgYmUKbGlzdGVk IGFzCi5CIHBjYygxKQprbm93cyBob3cgdG8gZmluZCB0aGVtLgouVFAKLkIgLUMgZmlsZQpG aWxlcyB0byBiZSBkZWxldGVkIGJ5IHRoZQouSSBjbGVhbgouQiBtaygxKQp0YXJnZXQgbWF5 IGJlIHNwZWNpZmllZCwgdGhlc2UgYXJlCmFwcGVuZGVkIHRvIHRoZSBDTEVBTkZJTEVTIHZh cmlhYmxlIGluIHRoZSBnZW5lcmF0ZSBta2ZpbGUuClRoaXMgb3B0aW9uIGNhbiBhcHBlYXIg YXMgb2Z0ZW4gYXMgbmVjZXNzYXJ5LgouU0ggQVVUT0NPTkYKSW4gYXV0b2NvbmYgbW9kZQou SSBta21rKDEpCmF0dGVtcHRzIHRvIGF1dG9kZXRlY3QgZmVhdHVyZXMgcmVxdWVzdGVkIGlu IHRoZSBzb3VyY2UgY29kZSBieQpleGFtaW5pbmcgdGhlIHN5bWJvbHMgaW4gdGhlIHBsYW45 IGxpYnJhcmllcywgYW5kIGJ5IGluZmVyaW5nIHdoaWNoCnBsYW45IHNvdXJjZWNvZGUgY29u dHJvbCBkZWZpbmVzIGFyZSByZXF1aXJlZC4gQSBzbWFsbCBudW1iZXIgb2Ygc3BlY2lmaWMK cHJlcHJvY2Vzc29yIG1hY3JvcyBhcmUgYWxzbyBkZWZpbmVkIGF1dG9tYXRpY2lhbGx5IHdo ZW4gdGhleSBhcmUgdGVzdGVkOwp0aGVzZSByZWxhdGUgdG8gZmVhdHVyZXMgdGhhdCBQbGFu OSBoYXMgYnV0IHdoaWNoIGF1dG9tYXRlZCB0ZXN0aW5nIGlzCnRvbyBwYWluZnVsLgouU0gg QlVHUwouSSBta21rKDEpCm5lZWRzIHRvIGhhdmUgYSBtdWNoIGJldHRlciB1bmRlcnN0YW5k aW5nIG9mIHRoZSBBUEUgc3Vic3lzdGVtLgpJdCBzaG91bGQgYmUgYWJsZSB0byBleHRyYWN0 IHRoZSAgcHJvdG90eXBlcyBkZWZpbmVkIGluIHRoZSBBUEUgaGVhZGVycyBhbmQgd2hhdApw cmVwcm9jZXNzb3IgbWFjcm9zIHRoZXkgYXJlIGNvbnRyb2xsZWQgYnkuIEN1cnJlbnRseSB0 aGlzIGluZm9ybWF0aW9uIGlzIGNvbXBpbGVkCmludG8gdGhlIHNvdXJjZS4KLlNIIFNPVVJD RQouQiAvc3lzL3NyYy9jbWQvbWttawouYnIKLkIgL3N5cy9zcmMvY21kL21rbWsvOXBvcnQg LSBleGFtcGxlIDlwb3J0IHNjcmlwdHMKLlNIIFNFRSBBTFNPCi5JUiBtayAoMSkK --upas-qfkpblwayksvjdpqcsykwjnbdp-- --upas-nxmodplfqyktdgjojzyngjavit--