From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id MAA27023; Tue, 7 Jan 2003 12:27:04 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA27070 for ; Tue, 7 Jan 2003 12:27:02 +0100 (MET) Received: from mx2.net.titech.ac.jp (mx2.net.titech.ac.jp [131.112.125.31]) by nez-perce.inria.fr (8.11.1/8.11.1) with SMTP id h07BQx502734 for ; Tue, 7 Jan 2003 12:27:00 +0100 (MET) Received: (qmail 18394 invoked from network); 7 Jan 2003 11:26:57 -0000 Received: from unknown (HELO vc2.net.titech.ac.jp) (131.112.125.36) by mx2.net.titech.ac.jp with SMTP; 7 Jan 2003 11:26:57 -0000 Received: from unknown (HELO ?192.168.2.55?) (127.0.0.1) by localhost with SMTP; 7 Jan 2003 11:26:57 -0000 User-Agent: Microsoft-Entourage/10.1.1.2418 Date: Tue, 07 Jan 2003 20:26:48 +0900 Subject: [Caml-list] Native labltk for Mac OS X From: Ken Wakita To: caml-list Message-ID: Mime-version: 1.0 Content-type: multipart/mixed; boundary="B_3124816017_2307198" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3124816017_2307198 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Today I found some time to install Tcl/Tk for Aqua, which is the native user interface for Macintosh OS X and configured ocaml-3.06 so that its labltk links with the Tcl/Tk for Aqua. labltk, ocamlbrowser, and accompanying examples (hello, eyes, tetris, ...) under otherlibs/labltk/examples_labltk compiles with little problem. With a small effort you could make a clickable native application for Mac OS X. Though behavior of some applications is weird (some, for instance ocamlbrowser, are very weird) but I can tolerate. The following is an outline of installation steps (Mac OS 10.2.2 and higher is expected): 0. Visit "www.tcl.tk" and get TclTkAqua_8.4.1-Jaguar.dmg, and install it. After installation make four symbolic links as show followingly (you need to be a super user): /Library/Frameworks/Tcl.framework: lr-xr-xr-x 1 root staff 11 Jan 7 18:58 libtcl -> libtcl8.4.a lr-xr-xr-x 1 root staff 16 Jan 7 18:58 libtcl8.4.a -> Versions/8.4/Tcl /Library/Frameworks/Tk.framework: lr-xr-xr-x 1 root staff 10 Jan 7 18:58 libTk -> libTk8.4.a lr-xr-xr-x 1 root staff 15 Jan 7 18:58 libTk8.4.a -> Versions/8.4/Tk 1. Extract ocaml-3.06.tgz and apply the attached patch (tcltk4aqua.patch) cd ocaml-3.06; patch -p1 tcltk4aqua.patch 2. Execute the configuration script sh ocaml4darwin.conf This script configures ocaml-3.06 for Mac OS X and for the Tcl/Tk just installed. It also builds "world, opt, and opt.opt". You might want to save the existing ocaml-3.06 installation. In that case, modify the script appropriately. 3. Install the ocaml-3.06 system make install 4. Store makeapp.sh and Info.plist at the labltk's examples directory and build clickable applications. 4.1 store makeapp.sh and Info.plist in "otherlibs/labltk/examples_labltk" directory. 4.2 build examples cd otherlibs/labltk/examples_labltk make 4.3 build clickable applications ./makeapp hello ./makeapp tetris ... 4.4 locate the Finder application to the examples_labltk directory and start the clickable applications. Good luck Ken --B_3124816017_2307198 Content-type: application/octet-stream; name="tcltk4aqua.patch" Content-disposition: attachment Content-transfer-encoding: base64 ZGlmZiAtYyAtciBvY2FtbC0zLjA2L2NvbmZpZ3VyZSBvY2FtbC1rZW4vY29uZmlndXJlCioq KiBvY2FtbC0zLjA2L2NvbmZpZ3VyZQlXZWQgQXVnICA3IDIxOjQ1OjAwIDIwMDIKLS0tIG9j YW1sLWtlbi9jb25maWd1cmUJVHVlIEphbiAgNyAxNToyODo1OCAyMDAzCioqKioqKioqKioq KioqKgoqKiogMTI2OSwxMjc0ICoqKioKLS0tIDEyNjksMTI3NSAtLS0tCiAgICBmaQogIGZp CiAgCisgZXhwb3J0IHZlcmJvc2U9eWVzCiAgdGthdXhsaWJzPSIkbWF0aGxpYiAkZGxsaWIi CiAgdGNsbGliPScnCiAgdGtsaWI9JycKKioqKioqKioqKioqKioqCioqKiAxMzA3LDEzMTIg KioqKgotLS0gMTMwOCwxMzE0IC0tLS0KICAgICAgaGFzX3RrPWZhbHNlCiAgICBmaQogIGZp CisgdmVyYm9zZT1ubwogIAogIGlmIHRlc3QgJGhhc190ayA9IHRydWU7IHRoZW4KICAgIGlm IHRlc3QgJHRrX3gxMSA9IHllczsgdGhlbgpkaWZmIC1jIC1yIG9jYW1sLTMuMDYvb3RoZXJs aWJzL2xhYmx0ay9icm93c2VyL21haW4ubWwgb2NhbWwta2VuL290aGVybGlicy9sYWJsdGsv YnJvd3Nlci9tYWluLm1sCioqKiBvY2FtbC0zLjA2L290aGVybGlicy9sYWJsdGsvYnJvd3Nl ci9tYWluLm1sCVR1ZSBBdWcgIDYgMTg6MTc6MjYgMjAwMgotLS0gb2NhbWwta2VuL290aGVy bGlicy9sYWJsdGsvYnJvd3Nlci9tYWluLm1sCVR1ZSBKYW4gIDcgMTg6NDk6NTkgMjAwMwoq KioqKioqKioqKioqKioKKioqIDg4LDk3ICoqKioKICAgICAgICAgIFwwMzIgICAgWC94IGVu YWJsZS9kaXNhYmxlIGFsbCBvdGhlciB3YXJuaW5nc1xuXAogICAgICAgICAgXDAzMiAgICBk ZWZhdWx0IHNldHRpbmcgaXMgXCJBbFwiIChhbGwgd2FybmluZ3MgYnV0IGxhYmVscyBlbmFi bGVkKSIgXQogICAgYW5kIGVycm1zZyA9ICJDb21tYW5kIGxpbmU6IG9jYW1sYnJvd3NlciA8 b3B0aW9ucz4iIGluCiEgICBpZiBub3QgKGNoZWNrIH5zcGVjIFN5cy5hcmd2KSB0aGVuIGZh dGFsX2Vycm9yICh1c2FnZSB+c3BlYyBlcnJtc2cpOwogICAgQXJnLnBhcnNlIHNwZWMKICAg ICAgKGZ1biBuYW1lIC0+IHJhaXNlKEFyZy5CYWQoImRvbid0IGtub3cgd2hhdCB0byBkbyB3 aXRoICIgXiBuYW1lKSkpCiAgICAgIGVycm1zZzsKICAgIENvbmZpZy5sb2FkX3BhdGggOj0K ICAgICAgU3lzLmdldGN3ZCAoKQogICAgICA6OiBMaXN0LnJldl9tYXAgfmY6KE1pc2MuZXhw YW5kX2RpcmVjdG9yeSBDb25maWcuc3RhbmRhcmRfbGlicmFyeSkgIXBhdGgKLS0tIDg4LDk5 IC0tLS0KICAgICAgICAgIFwwMzIgICAgWC94IGVuYWJsZS9kaXNhYmxlIGFsbCBvdGhlciB3 YXJuaW5nc1xuXAogICAgICAgICAgXDAzMiAgICBkZWZhdWx0IHNldHRpbmcgaXMgXCJBbFwi IChhbGwgd2FybmluZ3MgYnV0IGxhYmVscyBlbmFibGVkKSIgXQogICAgYW5kIGVycm1zZyA9 ICJDb21tYW5kIGxpbmU6IG9jYW1sYnJvd3NlciA8b3B0aW9ucz4iIGluCiEgKCoKISAgIGlm IG5vdCAoY2hlY2sgfnNwZWMgYXJndikgdGhlbiBmYXRhbF9lcnJvciAodXNhZ2UgfnNwZWMg ZXJybXNnKTsKICAgIEFyZy5wYXJzZSBzcGVjCiAgICAgIChmdW4gbmFtZSAtPiByYWlzZShB cmcuQmFkKCJkb24ndCBrbm93IHdoYXQgdG8gZG8gd2l0aCAiIF4gbmFtZSkpKQogICAgICBl cnJtc2c7CisgKikKICAgIENvbmZpZy5sb2FkX3BhdGggOj0KICAgICAgU3lzLmdldGN3ZCAo KQogICAgICA6OiBMaXN0LnJldl9tYXAgfmY6KE1pc2MuZXhwYW5kX2RpcmVjdG9yeSBDb25m aWcuc3RhbmRhcmRfbGlicmFyeSkgIXBhdGgKZGlmZiAtYyAtciBvY2FtbC0zLjA2L290aGVy bGlicy9sYWJsdGsvc3VwcG9ydC9jbHRrSW1nLmMgb2NhbWwta2VuL290aGVybGlicy9sYWJs dGsvc3VwcG9ydC9jbHRrSW1nLmMKKioqIG9jYW1sLTMuMDYvb3RoZXJsaWJzL2xhYmx0ay9z dXBwb3J0L2NsdGtJbWcuYwlUdWUgSnVsIDIzIDIzOjExOjU5IDIwMDIKLS0tIG9jYW1sLWtl bi9vdGhlcmxpYnMvbGFibHRrL3N1cHBvcnQvY2x0a0ltZy5jCVR1ZSBKYW4gIDcgMTg6MDU6 MjQgMjAwMwoqKioqKioqKioqKioqKioKKioqIDk5LDEwNSAqKioqCiAgICBwaWIub2Zmc2V0 WzBdID0gMDsKICAgIHBpYi5vZmZzZXRbMV0gPSAxOwogICAgcGliLm9mZnNldFsyXSA9IDI7 CiEgICBUa19QaG90b1B1dEJsb2NrKHBoLCZwaWIsSW50X3ZhbCh4KSxJbnRfdmFsKHkpLElu dF92YWwodyksSW50X3ZhbChoKSk7IAogIH0KICAKICBDQU1McHJpbSB2b2lkIGNhbWx0a19z ZXRpbWdkYXRhX2J5dGVjb2RlKGFyZ3YsYXJnbikKLS0tIDk5LDEwNSAtLS0tCiAgICBwaWIu b2Zmc2V0WzBdID0gMDsKICAgIHBpYi5vZmZzZXRbMV0gPSAxOwogICAgcGliLm9mZnNldFsy XSA9IDI7CiEgICBUa19QaG90b1B1dEJsb2NrKHBoLCZwaWIsSW50X3ZhbCh4KSxJbnRfdmFs KHkpLEludF92YWwodyksSW50X3ZhbChoKSwgVEtfUEhPVE9fQ09NUE9TSVRFX09WRVJMQVkp OyAKICB9CiAgCiAgQ0FNTHByaW0gdm9pZCBjYW1sdGtfc2V0aW1nZGF0YV9ieXRlY29kZShh cmd2LGFyZ24pCmRpZmYgLWMgLXIgb2NhbWwtMy4wNi9vdGhlcmxpYnMvbGFibHRrL3RrYW5p bS90a0FuaW1HSUYuYyBvY2FtbC1rZW4vb3RoZXJsaWJzL2xhYmx0ay90a2FuaW0vdGtBbmlt R0lGLmMKKioqIG9jYW1sLTMuMDYvb3RoZXJsaWJzL2xhYmx0ay90a2FuaW0vdGtBbmltR0lG LmMJVHVlIEp1bCAyMyAyMzoxMjowMCAyMDAyCi0tLSBvY2FtbC1rZW4vb3RoZXJsaWJzL2xh Ymx0ay90a2FuaW0vdGtBbmltR0lGLmMJVHVlIEphbiAgNyAxODoxNDo1NCAyMDAzCioqKioq KioqKioqKioqKgoqKiogMzM2LDM0MiAqKioqCiAgICAgICAgICAgICAgfQogICAgICAgICAg fQogICAgICAgICAgVGtfUGhvdG9QdXRCbG9jayhwaG90b0hhbmRsZSwgJmJsb2NrLCAwLCAw LCAKISAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VXaWR0aCwgaW1hZ2VIZWlnaHQp OwogICNpZmRlZiBUS0FOSU1fREVCVUcKICAgICAgZnByaW50ZihzdGRlcnIsICIgUmV0cmll dmluZyByZXN1bHRcbiIpOwogICNlbmRpZgotLS0gMzM2LDM0MiAtLS0tCiAgICAgICAgICAg ICAgfQogICAgICAgICAgfQogICAgICAgICAgVGtfUGhvdG9QdXRCbG9jayhwaG90b0hhbmRs ZSwgJmJsb2NrLCAwLCAwLCAKISAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VXaWR0 aCwgaW1hZ2VIZWlnaHQsIFRLX1BIT1RPX0NPTVBPU0lURV9PVkVSTEFZKTsKICAjaWZkZWYg VEtBTklNX0RFQlVHCiAgICAgIGZwcmludGYoc3RkZXJyLCAiIFJldHJpZXZpbmcgcmVzdWx0 XG4iKTsKICAjZW5kaWYK --B_3124816017_2307198 Content-type: application/octet-stream; name="ocaml4darwin.conf" Content-disposition: attachment Content-transfer-encoding: base64 VENMRElSPS9MaWJyYXJ5L0ZyYW1ld29ya3MvVGNsLmZyYW1ld29yawpUS0RJUj0vTGlicmFy eS9GcmFtZXdvcmtzL1RrLmZyYW1ld29yawpJTkNTPSItSSRUQ0xESVIvSGVhZGVycyAtSSRU S0RJUi9IZWFkZXJzIgpMSUJTPSItTCRUQ0xESVIgLWxUY2wgLUwkVEtESVIgLWxUayIKCi4v Y29uZmlndXJlIFwKCS10ay1uby14MTEgXAoJLXRrZGVmcyAiJElOQ1MiIFwKCS10a2xpYnMg IiRMSUJTIgoKdWxpbWl0IC1zIDY1NTM2CgptYWtlIHdvcmxkIG9wdCBvcHQub3B0Cg== --B_3124816017_2307198 Content-type: application/octet-stream; name="makeapp.sh" Content-disposition: attachment Content-transfer-encoding: base64 IyEvYmluL3NoCgphcHA9JDEKbWtkaXIgLXAgJGFwcC5hcHAvQ29udGVudHMvTWFjT1MKY3Ag JGFwcCAkYXBwLmFwcC9Db250ZW50cy9NYWNPUwpzZWQgcy9BUFAvJGFwcC8gSW5mby5wbGlz dCA+ICRhcHAuYXBwL0NvbnRlbnRzL0luZm8ucGxpc3QK --B_3124816017_2307198 Content-type: application/octet-stream; name="Info.plist" Content-disposition: attachment Content-transfer-encoding: base64 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0 IFNZU1RFTSAiZmlsZTovL2xvY2FsaG9zdC9TeXN0ZW0vTGlicmFyeS9EVERzL1Byb3BlcnR5 TGlzdC5kdGQiPgo8cGxpc3QgdmVyc2lvbj0iMC45Ij4KPGRpY3Q+Cgk8a2V5PkNGQnVuZGxl RXhlY3V0YWJsZTwva2V5PgoJPHN0cmluZz5BUFA8L3N0cmluZz4KPC9kaWN0Pgo8L3BsaXN0 Pgo= --B_3124816017_2307198-- ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners