OLD | NEW |
1 Building the Full SDK | 1 Building the Full SDK |
2 ===================== | 2 ===================== |
3 | 3 |
4 *Linux users*: Before you run build_sdk.py (below), you must run:: | 4 *Linux users*: Before you run build_sdk.py (below), you must run:: |
5 | 5 |
6 GYP_DEFINES=target_arch=arm gclient runhooks | 6 GYP_DEFINES=target_arch=arm gclient runhooks |
7 | 7 |
8 This will install some ARM-specific tools that are necessary to build the SDK. | 8 This will install some ARM-specific tools that are necessary to build the SDK. |
9 | 9 |
10 *Everyone else*: | 10 *Everyone else*: |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 | 51 |
52 Testing a Single Example/Test | 52 Testing a Single Example/Test |
53 ============================= | 53 ============================= |
54 | 54 |
55 To test a specific example, you can run the test_projects.py script:: | 55 To test a specific example, you can run the test_projects.py script:: |
56 | 56 |
57 # Test the core example. This will test all toolchains/configs. | 57 # Test the core example. This will test all toolchains/configs. |
58 build_tools/test_projects.py core | 58 build_tools/test_projects.py core |
59 | 59 |
60 # Test the graphics_2d example, newlib/Debug only. | 60 # Test the graphics_2d example, glibc/Debug only. |
61 build_tools/test_projects.py graphics_2d -t newlib -c Debug | 61 build_tools/test_projects.py graphics_2d -t glibc -c Debug |
62 | 62 |
63 This assumes that the example is already built. If not, you can use the `-b` | 63 This assumes that the example is already built. If not, you can use the `-b` |
64 flag to build it first:: | 64 flag to build it first:: |
65 | 65 |
66 build_tools/test_projects.py nacl_io_test -t newlib -c Debug -b | 66 build_tools/test_projects.py nacl_io_test -t glibc -c Debug -b |
67 | 67 |
68 | 68 |
69 Rebuilding the Projects | 69 Rebuilding the Projects |
70 ======================= | 70 ======================= |
71 | 71 |
72 If you have made changes to examples, libraries or tests directory, you can | 72 If you have made changes to examples, libraries or tests directory, you can |
73 copy these new sources to the built SDK by running build_projects.py:: | 73 copy these new sources to the built SDK by running build_projects.py:: |
74 | 74 |
75 build_tools/build_projects.py | 75 build_tools/build_projects.py |
76 | 76 |
77 You can then rebuild the example by running Make:: | 77 You can then rebuild the example by running Make:: |
78 | 78 |
79 cd $CHROME_ROOT/out/pepper_XX | 79 cd $CHROME_ROOT/out/pepper_XX |
80 cd examples/api/graphics_2d # e.g. to rebuild the Graphics2D example. | 80 cd examples/api/graphics_2d # e.g. to rebuild the Graphics2D example. |
81 make -j8 | 81 make -j8 |
82 | 82 |
83 You can build a specific toolchain/configuration combination:: | 83 You can build a specific toolchain/configuration combination:: |
84 | 84 |
85 make TOOLCHAIN=newlib CONFIG=Debug -j8 | 85 make TOOLCHAIN=glibc CONFIG=Debug -j8 |
86 | 86 |
87 The valid toolchains are: `newlib`, `glibc`, `clang-newlib` and `pnacl`. | 87 The valid toolchains are: `glibc`, `clang-newlib` and `pnacl`. |
88 The valid configurations are: `Debug` and `Release`. | 88 The valid configurations are: `Debug` and `Release`. |
89 | 89 |
90 To run the example:: | 90 To run the example:: |
91 | 91 |
92 # Run the default configuration | 92 # Run the default configuration |
93 make run | 93 make run |
94 | 94 |
95 # Run the newlib/Debug configuration | 95 # Run the glibc/Debug configuration |
96 make TOOLCHAIN=newlib CONFIG=Debug -j8 | 96 make TOOLCHAIN=glibc CONFIG=Debug -j8 |
97 | 97 |
98 This will try to find Chrome and launch it. You can specify this manually via | 98 This will try to find Chrome and launch it. You can specify this manually via |
99 the CHROME_PATH environment variable:: | 99 the CHROME_PATH environment variable:: |
100 | 100 |
101 CHROME_PATH=/absolute/path/to/google-chrome make run | 101 CHROME_PATH=/absolute/path/to/google-chrome make run |
102 | 102 |
103 | 103 |
104 Building Standalone Examples/Tests | 104 Building Standalone Examples/Tests |
105 ------------------------------- | 105 ------------------------------- |
106 | 106 |
107 Building the standalone tests is often more convenient, because they are faster | 107 Building the standalone tests is often more convenient, because they are faster |
108 to run, and don't require a copy of Chrome. We often use the standalone tests | 108 to run, and don't require a copy of Chrome. We often use the standalone tests |
109 first when developing for nacl_io, for example. However, note that most tests | 109 first when developing for nacl_io, for example. However, note that most tests |
110 cannot be built this way. | 110 cannot be built this way. |
111 | 111 |
112 To build the standalone configuration:: | 112 To build the standalone configuration:: |
113 | 113 |
114 cd tests/nacl_io_test | 114 cd tests/nacl_io_test |
115 make STANDALONE=1 TOOLCHAIN=newlib -j8 | 115 make STANDALONE=1 TOOLCHAIN=glibc -j8 |
116 | 116 |
117 To run the standalone tests, you must specify an architecture explicitly:: | 117 To run the standalone tests, you must specify an architecture explicitly:: |
118 | 118 |
119 make STANDALONE=1 TOOLCHAIN=newlib NACL_ARCH=x86_64 -j8 run | 119 make STANDALONE=1 TOOLCHAIN=glibc NACL_ARCH=x86_64 -j8 run |
OLD | NEW |