#!/bin/sh # Prime Mover # # © 2006 David Given. # Prime Mover is licensed under the MIT open source license. To get the full # license text, run this file with the '--license' option. # # $Id: shell 15 2006-07-25 09:21:06Z dtrg $ if [ -x "$(which arch 2>/dev/null)" ]; then ARCH="$(arch)" elif [ -x "$(which machine 2>/dev/null)" ]; then ARCH="$(machine)" elif [ -x "$(which uname 2>/dev/null)" ]; then ARCH="$(uname -m)" else echo "pm: unable to determine target type, proceeding anyway" ARCH=unknown fi THISFILE="$0" PMEXEC="./.pm-exec-$ARCH" set -e GZFILE=/tmp/pm-$$.gz CFILE=/tmp/pm-$$.c trap "rm -f $GZFILE $CFILE" EXIT extract_section() { sed -e "1,/^XXXXSTART$1/d" "$THISFILE" | ( read size dd bs=1 count=$size 2>/dev/null ) > $GZFILE cat $GZFILE | zcat } # If the bootstrap's built, run it. if [ "$PMEXEC" -nt $0 ]; then extract_section script | "$PMEXEC" /dev/stdin "$@" exit $? fi # Otherwise, compile it and restart. echo "pm: bootstrapping..." if [ -x "$(which gcc 2>/dev/null)" ]; then CC="gcc -O2 -s" else CC="cc" fi extract_section interpreter > /tmp/pm-$$.c $CC $CFILE -o "$PMEXEC" && exec "$THISFILE" "$@" echo "pm: bootstrap failed." exit 1 XXXXSTARTscript 10506 ‹ ²ÇDÕ=ÛrÛHvÏäWt�õŠt(Úr²›Ä»š-Ù¢mVdÉ%É;ãh5,ˆhJ°H€€–Y.åòù²œ[ß P’w<ÞDå}ïӧϽÿøOVeñä"ÍžÌWqw{[½+Ò…VoóOº€WLùŸÿVÏž>ý½Ú�?¥‰z�~ÒÙ°VR¥¥š§S�•:Q«,�”ê òƧ*_êL•ùª˜jSd¨Nt\L¯°‘Y^¨-(·¥Òê@;³t®U•Ão–P+³Õ|nªªJ®†2°ßŒ“çj¹PÏþ™¸ýô_·Ÿý^íüÛó�}þìwÿ©’ª¸T¿ébÑÝoó§¸ã{þ^½Ø;8Q÷þqkßplÝy>�çêÏ£ã“ñÑ¡ÚUÑÓáβÐÏ"‚«¸¬,W™æY©ò™Z• «ÊuYé…úi|1×åÐ4TV ,Ë®Jó!=ºä|UÙtxvº(l<»–Š4»œÐ¢îÊÛßÂüËruáòñ-̲¹ëJ»l|3ÝW8¯I Tà¸éuȯA‰K]e6_‚ÜižMcWŸ_M˼L?OÊŠ ÐË_‚ÜBÇÉ<Í®m “”ZeA~ ÛY$iáÁ73Œ¼œT¸/wáiˆO&còÒ&¯Í!ÄѲTP¥®*€˜[÷DÏu¥'°°ËU5ÁYNòlë™c·U±Òf<«â[éb¡“4†ZÓxz…ýÏâyiŠeùDÖÓUUÏ l¼ÈËzjšÙ~!çË]謒¤fŸJ4\.¶)á £ýÞr ä#¦©^ÎóèÈaxœ%ùg¿—r 4ò‹�zZíJ‘�Ê€öìféüÖŽ²eÖ_6çþ¬2ÄŽ§Räb•Î@’KšæSl•/ÜðÞí�OýfGoß�~à,>ú¼Ì‹ ¨n¹^\äóRõ`1‘|&«Åb [z¾ÒeÚC` b<å—|5½¢7ØU4Ÿ�Ô›ð›Þy/-ò$�¥º�~¡‹…ÜÆR½Éë�ú2™dúv³FHÎVÙ�Ý«êZ¯<Š~·CøÓ‹ö* 6KåM‘VDí¡º¬ ¬ßjõ»0’Ûþw§ÞïOÇãÓñèäïF½ øÔB—%àFo8ð˜ž>'ˆõ¢å⹊ꩫlO¯{°Kú� É"i£à/Ì·ë§´GN«ÞN{ŸUO5S×+¼ojßemžG\"5ï ЪÐåjˆˆ—Î䊬ÛéºZ™$bB{*Ö«ÖKméÃꪈ·@Ô7u%÷‚<ÞÚ|Æâ†1Û3q|n dêf 2UÀ³—Ältÿ•$÷�׊øx ? Õ‚`;a�r©§¸kaWØJïÊé¨STÎæk€c�ˆßÅKÞÜÆ¼H(¬M*EY-]ÆiQÒ©$°Xà¥6jÂAÍTþèUN¥j§ãógìïc“ ¨�|¡¥LŠe¨þÏÀéñK �èÕ�)ÐÅàÒ× )•…ÀÛ·Žá�`ÃÌ�@'1³•êìã9`ÙuÛ4O}c‹A¢ƒù1Ž–ÈtrH.áø_W9±–‡ƒeZ�Uzé@Uýî}kx×z�}äÆdмzØrªþkWÿt8‘Zi�$?Fô—¿Dôøío(³mÁÿ ÀVÿ�ˆQ›3s®´eÆõÍ.„" hDŠEi" ~#¶\¯E¶š0Ì@;MÈK ˜Ùpè›8ŸHÁL‡CȤÙp[!§öÞ?Ž©½R}\•DôÈF Ìä۬ œ‰á©ºj¢”Ì`ôf}3ìÈ>µU€¤èÉÙÏOÎÿ—+Pf‹§ 8 $aFó`éUºƒö剷q| Ô)¿(ó9Ê�탅l;Øtæ+4ÄŸŸ4–rf×Dx XNo’€9zˆ?BéF(OB�—)‘ÖæÀ@ˆ\÷Êb: aº¬,(Ë©D´…0Üúý‹lÙ¤VÚX¸`‰_¤ì^4]Þ‡%Ìg‹ž|2ëTàVl¬ 44½Ê§€�àhzµå{:À¢„¨à.•Àºåâið.%¶Ê’å8ÅuhÈ;×’§¨EK:sha–8Ë+O×¢UÆ ìñçf3ŒxÀ‹k›%M–(9fìƒx@åï"éÌ€´IŸÇ"S3z€T¾Jy«Æˆ2Ó|± ‚É7°¤bÝoÙ‡ùD$s�éç0O›àÙá#å?Ÿ€Šµ„V§PnÂ’ËP3P£‚…âM/’Îý¢œ`*ª?Ð»ÅÆ¾ÝP5Ȉã×N1^/P§ öŒdâ#·Ë«ë¼#h�UdÓaÐTçÞŽkåmçVþ0k34@dô }nžd[•2”'@&l,Ú)�Ľ�#Ù5ö†dH•Q¤xýI+.ŠçÒá5#üߦÈÚ㤠ÿåÄ–’\YÐJ:8Û97Ów|‘×¢Á)k°Y.†*™Ö b=×@ž t�•k²ÿÅOÍí$×ä—õG](ÒŒŒ ^?è;·š¿¿›&úrï囑z»w¸÷zôM M ,�MCŒãrsDˆÙÄÑ#}QË€ÏH%(� 1Š.–,‹`éâÆS•¢¼k¢KÜ[ G–ÕðáC2†O~!÷+žÍΉ¬ÔõA§ Â`OªÕ2MÔ}tb2–žÁÙT+¡%¨CQë ;8IØÅ™H7WdÑ.VšEe±ˆéŸ2YÓ`�j ³D¹C:ˆ‡¶Ü:6âtOÛ�†Ê %Z 0"UŸÖÀ€Ö¼®›>65y=ôŒEæ±Ë& *UÂÙ�„¿]¬0´t¹šÇhIdõ M¡„MÞf P†«ónŸµá8Õ/³ÛaZ¬�½v-k&ÊI8éT&möµ™¯ØÃìsS¤# ÅØÙD6#¯´(¡¨å°Ô ‚_~q*›Ó,ß7}Zºd}7Ÿ'RÅJ)BÎ,$(ô'MYÞ‡ze *{¨¢•ƒRØ‘ÄWê,¿/Ëå‹Y‰'fÍ$fm‚…YT×/C§!ƒ¿O¦lE™f z€¸brQ¦Ÿô|-3©+ÇhTïyÎ"B;mvcv )¢cl „ 3cø@ÔgÅ”¤¾B¡Ð¼Â»cvv¨ˆa·¢§¤~f�Ì2+s)Úg´Ã } [µˆüBáZDªYi_5r
3¯-wº{gàÛ·4,™¾#¯¥ù]Ÿ¼7QËnk%Ž#„¤¡h['¨¢TIú¢÷L죛¼hR!Á‡PPl8bÂiT1¦)Ó¦l“>Ú$ÛÿtJD¯Ý6;Ïãä׃nÑÝ;‰u ` Qg³¯fö9s/z<Ç^Úyù|§QÐä