| 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 |