Artifact
5a6793746c23f5f39fa280da29722fc6aa2e790a:
- File
building.mkd
— part of check-in
[daf37f68cb]
at
2018-12-23 01:23:07
on branch trunk
— Update the auto build script due to new changes; Also update the build instructions.
(user:
stephanie.gawroriski
size: 4966)
0000: 23 20 42 75 69 6c 64 69 6e 67 0a 0a 2d 2d 2d 2d # Building..----
0010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0020: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0030: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0040: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0050: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2a 2a 2a 50 ----------..***P
0060: 61 74 69 65 6e 63 65 20 69 73 20 72 65 71 75 69 atience is requi
0070: 72 65 64 3a 2a 2a 2a 0a 2a 2a 2a 43 75 72 72 65 red:***.***Curre
0080: 6e 74 6c 79 20 53 71 75 69 72 72 65 6c 4a 4d 45 ntly SquirrelJME
0090: 20 69 73 20 69 6e 20 61 63 74 69 76 65 20 64 65 is in active de
00a0: 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 61 6c velopment and al
00b0: 74 68 6f 75 67 68 20 69 74 20 63 61 6e 2a 2a 2a though it can***
00c0: 0a 2a 2a 2a 72 75 6e 20 61 6e 64 20 70 72 6f 64 .***run and prod
00d0: 75 63 65 20 62 69 6e 61 72 69 65 73 2c 20 74 68 uce binaries, th
00e0: 65 72 65 20 61 72 65 20 6c 69 6d 69 74 61 74 69 ere are limitati
00f0: 6f 6e 73 20 74 6f 20 63 6f 6e 73 69 64 65 72 2e ons to consider.
0100: 2a 2a 2a 0a 2a 2a 2a 43 75 72 72 65 6e 74 6c 79 ***.***Currently
0110: 20 6f 6e 6c 79 20 61 20 6c 69 6d 69 74 65 64 20 only a limited
0120: 73 65 74 20 6f 66 20 70 72 6f 67 72 61 6d 73 20 set of programs
0130: 6d 61 79 20 62 65 20 72 61 6e 20 6f 6e 20 53 71 may be ran on Sq
0140: 75 69 72 72 65 6c 4a 4d 45 2e 2a 2a 2a 0a 0a 2d uirrelJME.***..-
0150: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0160: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0170: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0190: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 53 -------------..S
01a0: 71 75 69 72 72 65 6c 4a 4d 45 20 72 65 71 75 69 quirrelJME requi
01b0: 72 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e res the followin
01c0: 67 20 62 65 66 6f 72 65 20 69 74 20 63 61 6e 20 g before it can
01d0: 62 65 20 62 75 69 6c 74 3a 0a 0a 20 2a 20 4a 61 be built:.. * Ja
01e0: 76 61 20 37 20 6f 72 20 6e 65 77 65 72 20 56 69 va 7 or newer Vi
01f0: 72 74 75 61 6c 20 4d 61 63 68 69 6e 65 0a 20 2a rtual Machine. *
0200: 20 4a 61 76 61 20 37 20 6f 72 20 6e 65 77 65 72 Java 7 or newer
0210: 20 43 6f 6d 70 69 6c 65 72 0a 0a 23 23 20 4e 6f Compiler..## No
0220: 74 65 73 20 6f 6e 20 52 75 6e 6e 69 6e 67 0a 0a tes on Running..
0230: 53 71 75 69 72 72 65 6c 4a 4d 45 20 75 73 65 73 SquirrelJME uses
0240: 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 65 72 a simplified er
0250: 72 6f 72 20 73 79 73 74 65 6d 20 77 68 69 63 68 ror system which
0260: 20 73 74 61 72 74 73 20 77 69 74 68 20 61 20 74 starts with a t
0270: 77 6f 20 63 61 70 69 74 61 6c 0a 6c 65 74 74 65 wo capital.lette
0280: 72 20 70 72 65 66 69 78 20 66 6f 6c 6c 6f 77 65 r prefix followe
0290: 64 20 62 79 20 74 77 6f 20 64 69 67 69 74 73 20 d by two digits
02a0: 61 6e 64 20 6c 65 74 74 65 72 73 2e 0a 0a 20 2a and letters... *
02b0: 20 5b 4c 69 73 74 20 6f 66 20 45 72 72 6f 72 20 [List of Error
02c0: 43 6f 64 65 73 5d 28 68 74 74 70 3a 2f 2f 6d 75 Codes](http://mu
02d0: 6c 74 69 70 68 61 73 69 63 61 70 70 73 2e 6e 65 ltiphasicapps.ne
02e0: 74 2f 75 76 2f 65 72 72 6f 72 73 2e 6d 6b 64 29 t/uv/errors.mkd)
02f0: 0a 0a 23 23 20 49 6e 73 74 61 6c 6c 69 6e 67 20 ..## Installing
0300: 4a 61 76 61 0a 0a 53 71 75 69 72 72 65 6c 4a 4d Java..SquirrelJM
0310: 45 20 72 65 71 75 69 72 65 73 20 61 20 4a 61 76 E requires a Jav
0320: 61 20 37 20 76 69 72 74 75 61 6c 20 6d 61 63 68 a 7 virtual mach
0330: 69 6e 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ine in order to
0340: 62 75 69 6c 64 20 69 74 73 65 6c 66 2e 0a 0a 23 build itself...#
0350: 23 23 20 43 6f 6d 6d 6f 6e 20 4c 69 6e 75 78 20 ## Common Linux
0360: 44 69 73 74 72 69 62 75 74 69 6f 6e 73 0a 0a 49 Distributions..I
0370: 66 20 79 6f 75 20 75 73 65 20 61 20 63 6f 6d 6d f you use a comm
0380: 6f 6e 20 61 6e 64 20 70 6f 70 75 6c 61 72 20 4c on and popular L
0390: 69 6e 75 78 20 64 69 73 74 72 69 62 75 74 69 6f inux distributio
03a0: 6e 20 69 74 20 6c 69 6b 65 6c 79 20 68 61 73 20 n it likely has
03b0: 61 20 4a 44 4b 0a 61 76 61 69 6c 61 62 6c 65 2e a JDK.available.
03c0: 0a 0a 20 2a 20 41 72 63 68 0a 20 20 20 2a 20 53 .. * Arch. * S
03d0: 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 69 6b 69 ee <https://wiki
03e0: 2e 61 72 63 68 6c 69 6e 75 78 2e 6f 72 67 2f 69 .archlinux.org/i
03f0: 6e 64 65 78 2e 70 68 70 2f 4a 61 76 61 3e 0a 20 ndex.php/Java>.
0400: 2a 20 44 65 62 69 61 6e 2c 20 55 62 75 6e 74 75 * Debian, Ubuntu
0410: 2c 20 61 6e 64 20 64 65 72 69 76 61 74 69 76 65 , and derivative
0420: 73 0a 20 20 20 2a 20 53 65 65 20 3c 68 74 74 70 s. * See <http
0430: 73 3a 2f 2f 77 69 6b 69 2e 64 65 62 69 61 6e 2e s://wiki.debian.
0440: 6f 72 67 2f 4a 61 76 61 3e 0a 20 20 20 2a 20 4f org/Java>. * O
0450: 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 ne of the follow
0460: 69 6e 67 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e ing depending on
0470: 20 70 61 63 6b 61 67 65 20 61 76 61 69 6c 61 62 package availab
0480: 69 6c 69 74 79 0a 20 20 20 20 20 2a 20 60 61 70 ility. * `ap
0490: 74 2d 67 65 74 20 69 6e 73 74 61 6c 6c 20 6f 70 t-get install op
04a0: 65 6e 6a 64 6b 2d 37 2d 6a 64 6b 60 0a 20 20 20 enjdk-7-jdk`.
04b0: 20 20 2a 20 60 61 70 74 2d 67 65 74 20 69 6e 73 * `apt-get ins
04c0: 74 61 6c 6c 20 6f 70 65 6e 6a 64 6b 2d 38 2d 6a tall openjdk-8-j
04d0: 64 6b 60 0a 20 20 20 20 20 2a 20 60 61 70 74 2d dk`. * `apt-
04e0: 67 65 74 20 69 6e 73 74 61 6c 6c 20 6f 70 65 6e get install open
04f0: 6a 64 6b 2d 39 2d 6a 64 6b 60 0a 20 2a 20 47 65 jdk-9-jdk`. * Ge
0500: 6e 74 6f 6f 0a 20 20 20 2a 20 53 65 65 20 3c 68 ntoo. * See <h
0510: 74 74 70 73 3a 2f 2f 77 69 6b 69 2e 67 65 6e 74 ttps://wiki.gent
0520: 6f 6f 2e 6f 72 67 2f 77 69 6b 69 2f 4a 61 76 61 oo.org/wiki/Java
0530: 3e 0a 0a 23 23 23 20 4f 72 61 63 6c 65 27 73 20 >..### Oracle's
0540: 4a 44 4b 0a 0a 4f 72 61 63 6c 65 27 73 20 4a 44 JDK..Oracle's JD
0550: 4b 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 66 K supports the f
0560: 6f 6c 6c 6f 77 69 6e 67 20 28 61 73 20 6f 66 20 ollowing (as of
0570: 74 68 69 73 20 77 72 69 74 69 6e 67 29 3a 0a 0a this writing):..
0580: 20 2a 20 4c 69 6e 75 78 0a 20 2a 20 4d 61 63 20 * Linux. * Mac
0590: 4f 53 20 58 0a 20 2a 20 52 65 61 63 74 4f 53 20 OS X. * ReactOS
05a0: 28 61 73 20 57 69 6e 64 6f 77 73 29 0a 20 2a 20 (as Windows). *
05b0: 53 6f 6c 61 72 69 73 0a 20 2a 20 57 69 6e 64 6f Solaris. * Windo
05c0: 77 73 0a 20 2a 20 57 69 6e 65 20 28 61 73 20 57 ws. * Wine (as W
05d0: 69 6e 64 6f 77 73 29 0a 0a 4f 72 61 63 6c 65 27 indows)..Oracle'
05e0: 73 20 4a 61 76 61 20 4a 44 4b 20 63 61 6e 20 62 s Java JDK can b
05f0: 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f e downloaded fro
0600: 6d 3a 0a 0a 20 2a 20 3c 68 74 74 70 3a 2f 2f 77 m:.. * <http://w
0610: 77 77 2e 6f 72 61 63 6c 65 2e 63 6f 6d 2f 74 65 ww.oracle.com/te
0620: 63 68 6e 65 74 77 6f 72 6b 2f 6a 61 76 61 2f 6a chnetwork/java/j
0630: 61 76 61 73 65 2f 64 6f 77 6e 6c 6f 61 64 73 2f avase/downloads/
0640: 69 6e 64 65 78 2e 68 74 6d 6c 3e 0a 20 0a 45 6e index.html>. .En
0650: 73 75 72 65 20 74 68 61 74 20 79 6f 75 20 2a 2a sure that you **
0660: 64 6f 77 6e 6c 6f 61 64 20 61 6e 64 20 69 6e 73 download and ins
0670: 74 61 6c 6c 2a 2a 20 74 68 65 20 2a 2a 2a 4a 44 tall** the ***JD
0680: 4b 2a 2a 2a 2e 0a 0a 49 66 20 72 75 6e 6e 69 6e K***...If runnin
0690: 67 20 6f 6e 20 52 65 61 63 74 4f 53 2f 57 69 6e g on ReactOS/Win
06a0: 64 6f 77 73 2f 57 69 6e 65 2c 20 6d 61 6b 65 20 dows/Wine, make
06b0: 73 75 72 65 20 74 68 61 74 20 74 68 65 20 60 50 sure that the `P
06c0: 41 54 48 60 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 ATH` environment
06d0: 0a 76 61 72 69 61 62 6c 65 73 20 72 65 66 65 72 .variables refer
06e0: 73 20 74 6f 20 74 68 65 20 4a 44 4b 27 73 20 62 s to the JDK's b
06f0: 69 6e 61 72 79 20 64 69 72 65 63 74 6f 72 79 3a inary directory:
0700: 0a 0a 20 2a 20 60 43 3a 5c 50 72 6f 67 72 61 6d .. * `C:\Program
0710: 20 46 69 6c 65 73 5c 4a 61 76 61 5c 6a 64 6b 31 Files\Java\jdk1
0720: 2e 38 2e 30 5f 31 33 31 5c 62 69 6e 5c 60 0a 0a .8.0_131\bin\`..
0730: 23 20 42 6f 6f 74 73 74 72 61 70 20 42 75 69 6c # Bootstrap Buil
0740: 64 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 0a 0a 54 d Environment..T
0750: 68 65 20 6d 61 69 6e 20 69 6e 74 65 72 61 63 74 he main interact
0760: 69 6f 6e 20 77 69 74 68 20 74 68 65 20 53 71 75 ion with the Squ
0770: 69 72 72 65 6c 4a 4d 45 20 62 75 69 6c 64 20 65 irrelJME build e
0780: 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 73 20 77 69 nvironment is wi
0790: 74 68 20 74 68 65 20 62 75 69 6c 64 0a 62 6f 6f th the build.boo
07a0: 74 73 74 72 61 70 70 65 72 20 77 68 69 63 68 20 tstrapper which
07b0: 69 6e 69 74 69 61 6c 69 7a 65 73 2c 20 63 6f 6d initializes, com
07c0: 70 69 6c 65 73 2c 20 61 6e 64 20 72 75 6e 73 20 piles, and runs
07d0: 74 68 65 20 62 75 69 6c 64 20 65 6e 76 69 72 6f the build enviro
07e0: 6e 6d 65 6e 74 2e 0a 0a 23 23 20 53 79 73 74 65 nment...## Syste
07f0: 6d 20 53 70 65 63 69 66 69 63 0a 0a 45 61 63 68 m Specific..Each
0800: 20 73 79 73 74 65 6d 20 68 61 73 20 61 20 64 69 system has a di
0810: 66 66 65 72 65 6e 74 20 69 6e 74 65 72 66 61 63 fferent interfac
0820: 65 20 74 6f 20 74 68 65 20 62 6f 6f 74 73 74 72 e to the bootstr
0830: 61 70 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 ap environment,
0840: 62 65 79 6f 6e 64 20 74 68 69 73 0a 74 68 65 20 beyond this.the
0850: 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 69 74 20 remainder of it
0860: 69 73 20 74 68 65 20 73 61 6d 65 20 72 65 67 61 is the same rega
0870: 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 79 rdless of the sy
0880: 73 74 65 6d 20 75 73 65 64 2e 0a 0a 23 23 23 20 stem used...###
0890: 52 65 61 63 74 4f 53 20 61 6e 64 20 57 69 6e 64 ReactOS and Wind
08a0: 6f 77 73 0a 0a 4f 72 61 63 6c 65 27 73 20 4a 61 ows..Oracle's Ja
08b0: 76 61 20 4a 44 4b 20 63 61 6e 20 62 65 20 64 6f va JDK can be do
08c0: 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 3a 0a 0a wnloaded from:..
08d0: 20 2a 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 6f * <http://www.o
08e0: 72 61 63 6c 65 2e 63 6f 6d 2f 74 65 63 68 6e 65 racle.com/techne
08f0: 74 77 6f 72 6b 2f 6a 61 76 61 2f 6a 61 76 61 73 twork/java/javas
0900: 65 2f 64 6f 77 6e 6c 6f 61 64 73 2f 69 6e 64 65 e/downloads/inde
0910: 78 2e 68 74 6d 6c 3e 0a 0a 54 68 65 20 73 63 72 x.html>..The scr
0920: 69 70 74 20 75 73 65 64 20 66 6f 72 20 62 75 69 ipt used for bui
0930: 6c 64 69 6e 67 20 69 73 20 60 62 75 69 6c 64 2e lding is `build.
0940: 63 6d 64 60 2e 20 54 68 69 73 20 72 65 71 75 69 cmd`. This requi
0950: 72 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 res the command
0960: 70 72 6f 6d 70 74 0a 77 68 69 63 68 20 6d 61 79 prompt.which may
0970: 20 62 65 20 61 63 63 65 73 73 65 64 20 62 79 20 be accessed by
0980: 72 75 6e 6e 69 6e 67 20 60 63 6d 64 60 2e 20 54 running `cmd`. T
0990: 68 69 73 20 6d 61 79 20 62 65 20 66 6f 75 6e 64 his may be found
09a0: 20 69 6e 20 74 68 65 20 73 74 61 72 74 20 6d 65 in the start me
09b0: 6e 75 0a 6f 72 20 6d 61 79 20 62 65 20 61 63 63 nu.or may be acc
09c0: 65 73 73 65 64 20 76 69 61 20 2a 2a 57 69 6e 64 essed via **Wind
09d0: 6f 77 73 20 4b 65 79 20 2b 20 52 2a 2a 2c 20 74 ows Key + R**, t
09e0: 79 70 69 6e 67 20 60 63 6d 64 60 2c 20 74 68 65 yping `cmd`, the
09f0: 6e 20 68 69 74 74 69 6e 67 20 65 6e 74 65 72 2e n hitting enter.
0a00: 0a 0a 52 65 63 6f 6d 6d 65 6e 64 65 64 20 73 65 ..Recommended se
0a10: 74 75 70 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 tup for running
0a20: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c the environment,
0a30: 20 61 73 73 75 6d 69 6e 67 20 53 71 75 69 72 72 assuming Squirr
0a40: 65 6c 4a 4d 45 20 73 6f 75 72 63 65 0a 63 6f 64 elJME source.cod
0a50: 65 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 e is located in
0a60: 74 68 65 20 65 78 61 6d 70 6c 65 20 60 63 3a 5c the example `c:\
0a70: 75 73 65 72 73 5c 73 74 65 70 68 61 6e 69 65 5c users\stephanie\
0a80: 64 65 73 6b 74 6f 70 5c 73 71 75 69 72 72 65 6c desktop\squirrel
0a90: 6a 6d 65 60 3a 0a 0a 20 2a 20 60 63 64 20 63 3a jme`:.. * `cd c:
0aa0: 5c 75 73 65 72 73 5c 73 74 65 70 68 61 6e 69 65 \users\stephanie
0ab0: 5c 74 65 6d 70 60 0a 20 2a 20 60 6d 6b 64 69 72 \temp`. * `mkdir
0ac0: 20 73 71 75 69 72 72 65 6c 6a 6d 65 2d 62 75 69 squirreljme-bui
0ad0: 6c 64 60 0a 20 2a 20 60 63 64 20 73 71 75 69 72 ld`. * `cd squir
0ae0: 72 65 6c 6a 6d 65 2d 62 75 69 6c 64 60 0a 20 2a reljme-build`. *
0af0: 20 60 63 3a 5c 75 73 65 72 73 5c 73 74 65 70 68 `c:\users\steph
0b00: 61 6e 69 65 5c 64 65 73 6b 74 6f 70 5c 73 71 75 anie\desktop\squ
0b10: 69 72 72 65 6c 6a 6d 65 5c 62 75 69 6c 64 2e 63 irreljme\build.c
0b20: 6d 64 60 0a 0a 23 23 23 20 55 4e 49 58 2d 4c 69 md`..### UNIX-Li
0b30: 6b 65 3a 20 4c 69 6e 75 78 2c 20 4d 61 63 20 4f ke: Linux, Mac O
0b40: 53 20 58 2c 20 53 6f 6c 61 72 69 73 2c 20 42 53 S X, Solaris, BS
0b50: 44 2c 20 65 74 63 2e 0a 0a 54 68 65 20 73 63 72 D, etc...The scr
0b60: 69 70 74 20 75 73 65 64 20 66 6f 72 20 62 75 69 ipt used for bui
0b70: 6c 64 69 6e 67 20 69 73 20 60 62 75 69 6c 64 2e lding is `build.
0b80: 73 68 60 2e 0a 0a 52 65 63 6f 6d 6d 65 6e 64 65 sh`...Recommende
0b90: 64 20 73 65 74 75 70 20 66 6f 72 20 72 75 6e 6e d setup for runn
0ba0: 69 6e 67 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d ing the environm
0bb0: 65 6e 74 2c 20 61 73 73 75 6d 69 6e 67 20 53 71 ent, assuming Sq
0bc0: 75 69 72 72 65 6c 4a 4d 45 20 73 6f 75 72 63 65 uirrelJME source
0bd0: 0a 63 6f 64 65 20 69 73 20 6c 6f 63 61 74 65 64 .code is located
0be0: 20 69 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 20 in the example
0bf0: 60 2f 68 6f 6d 65 2f 73 74 65 70 68 61 6e 69 65 `/home/stephanie
0c00: 2f 73 71 75 69 72 72 65 6c 6a 6d 65 60 3a 0a 0a /squirreljme`:..
0c10: 20 2a 20 60 63 64 20 2f 74 6d 70 60 0a 20 2a 20 * `cd /tmp`. *
0c20: 60 6d 6b 64 69 72 20 73 71 75 69 72 72 65 6c 6a `mkdir squirrelj
0c30: 6d 65 2d 62 75 69 6c 64 60 0a 20 2a 20 60 63 64 me-build`. * `cd
0c40: 20 73 71 75 69 72 72 65 6c 6a 6d 65 2d 62 75 69 squirreljme-bui
0c50: 6c 64 60 0a 20 2a 20 60 2f 68 6f 6d 65 2f 73 74 ld`. * `/home/st
0c60: 65 70 68 61 6e 69 65 2f 73 71 75 69 72 72 65 6c ephanie/squirrel
0c70: 6a 6d 65 2f 62 75 69 6c 64 2e 73 68 60 0a 0a 23 jme/build.sh`..#
0c80: 20 42 75 69 6c 64 69 6e 67 20 53 68 61 64 65 64 Building Shaded
0c90: 20 53 71 75 69 72 72 65 6c 4a 4d 45 20 4a 41 52 SquirrelJME JAR
0ca0: 73 0a 0a 53 68 61 64 65 64 20 53 71 75 69 72 72 s..Shaded Squirr
0cb0: 65 6c 4a 4d 45 20 4a 41 52 73 20 61 72 65 20 73 elJME JARs are s
0cc0: 74 61 6e 64 61 6c 6f 6e 65 20 4a 41 52 73 20 77 tandalone JARs w
0cd0: 68 69 63 68 20 63 61 6e 20 72 75 6e 20 6f 6e 20 hich can run on
0ce0: 61 6e 20 65 78 69 73 74 69 6e 67 0a 4a 61 76 61 an existing.Java
0cf0: 20 53 45 20 6f 72 20 4a 61 76 61 20 4d 45 20 73 SE or Java ME s
0d00: 79 73 74 65 6d 20 64 65 70 65 6e 64 69 6e 67 20 ystem depending
0d10: 6f 6e 20 77 68 69 63 68 20 74 61 72 67 65 74 20 on which target
0d20: 69 74 20 77 61 73 20 62 75 69 6c 74 20 66 6f 72 it was built for
0d30: 2e 0a 47 65 6e 65 72 61 6c 6c 79 20 74 68 65 73 ..Generally thes
0d40: 65 20 4a 41 52 73 20 61 72 65 20 6a 75 73 74 20 e JARs are just
0d50: 70 61 63 6b 61 67 65 64 20 62 79 20 74 68 65 6d packaged by them
0d60: 73 65 6c 76 65 73 20 61 6e 64 20 69 6e 63 6c 75 selves and inclu
0d70: 64 65 20 74 68 65 20 65 6e 74 69 72 65 0a 73 65 de the entire.se
0d80: 74 20 6f 66 20 6c 69 62 72 61 72 69 65 73 20 61 t of libraries a
0d90: 6e 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 nd applications
0da0: 66 72 6f 6d 20 77 69 74 68 69 6e 20 53 71 75 69 from within Squi
0db0: 72 72 65 6c 4a 4d 45 2e 20 54 68 65 73 65 20 73 rrelJME. These s
0dc0: 68 61 64 65 64 20 4a 41 52 73 0a 61 72 65 20 75 haded JARs.are u
0dd0: 73 75 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 sually intended
0de0: 66 6f 72 20 64 65 6d 6f 20 70 72 6f 6a 65 63 74 for demo project
0df0: 73 20 61 6e 64 20 73 75 63 68 2e 20 54 68 65 20 s and such. The
0e00: 4a 41 52 73 20 61 64 64 69 74 69 6f 6e 61 6c 6c JARs additionall
0e10: 79 20 61 72 65 0a 70 75 72 65 20 4a 61 76 61 20 y are.pure Java
0e20: 63 6f 64 65 20 73 6f 20 74 68 65 79 20 72 65 71 code so they req
0e30: 75 69 72 65 20 61 20 68 6f 73 74 20 4a 61 76 61 uire a host Java
0e40: 20 56 4d 2e 20 54 6f 20 63 6f 6e 74 61 69 6e 20 VM. To contain
0e50: 74 68 65 20 53 71 75 69 72 72 65 6c 4a 4d 45 0a the SquirrelJME.
0e60: 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 20 environment, an
0e70: 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f implementation o
0e80: 66 20 61 20 76 69 72 74 75 61 6c 20 6d 61 63 68 f a virtual mach
0e90: 69 6e 65 20 69 73 20 75 73 65 64 20 77 68 69 63 ine is used whic
0ea0: 68 20 69 73 20 63 61 70 61 62 6c 65 0a 6f 66 20 h is capable.of
0eb0: 75 73 69 6e 67 20 61 6e 64 20 72 75 6e 6e 69 6e using and runnin
0ec0: 67 20 74 68 65 20 63 6c 61 73 73 20 6c 69 62 72 g the class libr
0ed0: 61 72 79 2e 20 54 68 69 73 20 76 69 72 74 75 61 ary. This virtua
0ee0: 6c 20 6d 61 63 68 69 6e 65 20 68 61 73 20 61 20 l machine has a
0ef0: 73 70 65 65 64 0a 70 65 6e 61 6c 74 79 20 62 65 speed.penalty be
0f00: 63 61 75 73 65 20 69 74 20 69 73 20 72 75 6e 6e cause it is runn
0f10: 69 6e 67 20 74 68 65 20 4a 61 76 61 20 62 79 74 ing the Java byt
0f20: 65 20 63 6f 64 65 20 69 74 73 65 6c 66 20 68 6f e code itself ho
0f30: 77 65 76 65 72 20 69 74 20 69 73 20 61 0a 63 6f wever it is a.co
0f40: 6d 70 61 74 69 62 6c 65 20 65 6e 76 69 72 6f 6e mpatible environ
0f50: 6d 65 6e 74 2e 0a 0a 42 75 69 6c 64 69 6e 67 20 ment...Building
0f60: 6f 66 20 73 68 61 64 65 64 20 4a 41 52 73 20 77 of shaded JARs w
0f70: 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 77 ill result in tw
0f80: 6f 20 66 6c 61 76 6f 72 73 3a 0a 0a 20 2a 20 5f o flavors:.. * _
0f90: 42 6f 6f 74 73 74 72 61 70 70 65 64 5f 20 2d 2d Bootstrapped_ --
0fa0: 20 41 64 64 20 63 6f 64 65 20 77 68 69 63 68 20 Add code which
0fb0: 69 73 20 6e 65 65 64 65 64 20 74 6f 20 6d 61 6b is needed to mak
0fc0: 65 20 69 74 20 6f 70 65 72 61 74 65 20 69 6e 0a e it operate in.
0fd0: 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 environments
0fe0: 77 68 69 63 68 20 6d 61 79 20 62 65 20 64 69 66 which may be dif
0ff0: 66 65 72 65 6e 74 20 66 72 6f 6d 20 4a 61 76 61 ferent from Java
1000: 20 4d 45 2c 20 73 75 63 68 20 61 73 20 4a 61 76 ME, such as Jav
1010: 61 20 53 45 2e 0a 20 2a 20 5f 4e 61 74 69 76 65 a SE.. * _Native
1020: 5f 20 2d 2d 20 42 75 69 6c 74 20 77 69 74 68 6f _ -- Built witho
1030: 75 74 20 61 20 62 6f 6f 74 73 74 72 61 70 2c 20 ut a bootstrap,
1040: 72 65 71 75 69 72 65 73 20 74 68 61 74 20 65 76 requires that ev
1050: 65 72 79 74 68 69 6e 67 20 69 73 20 6e 61 74 75 erything is natu
1060: 72 61 6c 6c 79 0a 20 20 20 73 75 70 70 6f 72 74 rally. support
1070: 65 64 2e 0a 0a 49 74 20 69 73 20 72 65 63 6f 6d ed...It is recom
1080: 6d 65 6e 64 65 64 20 74 68 61 74 20 61 6e 20 6f mended that an o
1090: 75 74 2d 6f 66 2d 74 72 65 65 20 62 75 69 6c 64 ut-of-tree build
10a0: 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 28 74 is performed (t
10b0: 68 69 73 20 6d 65 61 6e 73 20 62 75 69 6c 64 69 his means buildi
10c0: 6e 67 0a 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 ng.from another
10d0: 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 69 directory that i
10e0: 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 53 71 75 s not in the Squ
10f0: 69 72 72 65 6c 4a 4d 45 20 73 6f 75 72 63 65 20 irrelJME source
1100: 74 72 65 65 29 2e 20 41 6c 6c 20 74 68 65 0a 63 tree). All the.c
1110: 6f 6d 6d 61 6e 64 73 20 70 65 72 74 61 69 6e 20 ommands pertain
1120: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 74 6f 20 specifically to
1130: 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d the build system
1140: 20 69 74 73 65 6c 66 2e 0a 0a 23 23 20 42 75 69 itself...## Bui
1150: 6c 64 69 6e 67 20 66 6f 72 20 4a 61 76 61 20 53 lding for Java S
1160: 45 20 28 4f 72 20 57 69 74 68 20 42 6f 6f 74 73 E (Or With Boots
1170: 74 72 61 70 29 0a 0a 54 68 69 73 20 62 75 69 6c trap)..This buil
1180: 64 20 72 65 71 75 69 72 65 73 20 61 20 72 75 6e d requires a run
1190: 2d 74 69 6d 65 20 74 68 61 74 20 62 72 69 64 67 -time that bridg
11a0: 65 73 20 77 68 61 74 20 53 71 75 69 72 72 65 6c es what Squirrel
11b0: 4a 4d 45 20 6e 65 65 64 73 20 77 69 74 68 20 77 JME needs with w
11c0: 68 61 74 0a 4a 61 76 61 20 53 45 20 70 72 6f 76 hat.Java SE prov
11d0: 69 64 65 73 2c 20 61 73 20 73 75 63 68 20 69 74 ides, as such it
11e0: 20 6d 75 73 74 20 62 65 20 73 70 65 63 69 66 69 must be specifi
11f0: 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e ed in the build.
1200: 0a 0a 20 2a 20 60 76 6d 73 68 61 64 65 20 2d 62 .. * `vmshade -b
1210: 20 73 71 75 69 72 72 65 6c 6a 6d 65 2d 6a 61 76 squirreljme-jav
1220: 61 73 65 2e 6a 61 72 60 0a 0a 49 66 20 66 6f 72 ase.jar`..If for
1230: 20 73 6f 6d 65 20 72 65 61 73 6f 6e 20 79 6f 75 some reason you
1240: 20 77 69 73 68 20 74 6f 20 75 73 65 20 61 6e 20 wish to use an
1250: 61 6c 74 65 72 6e 61 74 69 76 65 20 62 6f 6f 74 alternative boot
1260: 73 74 72 61 70 3a 0a 0a 20 2a 20 60 76 6d 73 68 strap:.. * `vmsh
1270: 61 64 65 20 2d 70 20 62 6f 6f 74 73 74 72 61 70 ade -p bootstrap
1280: 2e 6a 61 72 20 2d 62 20 73 71 75 69 72 72 65 6c .jar -b squirrel
1290: 6a 6d 65 2d 6f 74 68 65 72 2e 6a 61 72 60 0a 0a jme-other.jar`..
12a0: 23 23 20 42 75 69 6c 64 69 6e 67 20 66 6f 72 20 ## Building for
12b0: 4a 61 76 61 20 4d 45 0a 0a 2a 2a 2a 4e 4f 54 45 Java ME..***NOTE
12c0: 3a 2a 2a 2a 20 49 66 20 74 68 65 20 73 68 61 64 :*** If the shad
12d0: 65 64 20 4a 41 52 20 69 73 20 6e 6f 74 20 72 75 ed JAR is not ru
12e0: 6e 6e 69 6e 67 20 6f 6e 20 53 71 75 69 72 72 65 nning on Squirre
12f0: 6c 4a 4d 45 2c 20 73 6f 6d 65 20 66 65 61 74 75 lJME, some featu
1300: 72 65 73 0a 77 69 6c 6c 20 6e 6f 74 20 62 65 20 res.will not be
1310: 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 75 73 available for us
1320: 65 2e 20 49 74 20 73 68 6f 75 6c 64 20 73 74 69 e. It should sti
1330: 6c 6c 20 72 75 6e 20 68 6f 77 65 76 65 72 2e 0a ll run however..
1340: 0a 20 2a 20 60 76 6d 73 68 61 64 65 20 73 71 75 . * `vmshade squ
1350: 69 72 72 65 6c 6a 6d 65 2d 6a 61 76 61 6d 65 2e irreljme-javame.
1360: 6a 61 72 60 0a 0a jar`..