summaryrefslogtreecommitdiff
path: root/README.md
blob: 532581e9fb7cf122576560b4d39acd3165c971b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# electron-ppapi-example

Пример Pepper Plugin (PPAPI) для Electron (Chromium), который рисует вращающийся куб на OpenGL (GLES2).

### Linux

Нужен wget, gcc (g++) и python 2.7.
```
./setup-linux.sh
./build-linux.sh
./run-linux.sh
```

### macOS
Тоже нужен wget, g++ (наверное, это Xcode устанавливает /usr/bin/g++) и python 2.7.
```
./setup-macos.sh
./build-macos.sh
./run-macos.sh
```

### Windows
- Нужен git, bash (я ставил отсюда https://git-scm.com/download/win и там сразу и то и другое), curl, Visual Studio.
- `./setup-win.sh` (или руками сделать то что в скрипте)
- Открыть solution в VS, убедиться что стоит Release и x86 и запустить сборку. 
  - Если ругается на несовпадение версий, пересобрать либу тем же компилятором, для этого открыть "Developer Command Prompt" вашей версии VS, зайти в nacl_sdk/pepper_49/src и сделать `make TOOLCHAIN=win PROJECTS="ppapi ppapi_cpp ppapi_gles2 pthreads"`. 
    - Если завершается без сборки, надо руками удалить объектники из nacl_sdk/pepper_49/src/{$project}/win. Если либа не создается в nacl_sdk/pepper_49/lib/win_x86_32_host или создается в другом месте, проверить, что переменная `NACL_SDK_ROOT` указывает на правильную папку (nacl_sdk/pepper_49).
    - Если не собирается pthreads и ругается на struct timespec, то открыть nacl_sdk/pepper_49/include/win/pthread.h и после `#define PTHREAD_H` добавить `#define HAVE_STRUCT_TIMESPEC`.
- Когда все готово, запустить `.\electron32\electron.exe .` и магия должна случиться.

Это про 32-х битный плагин. x64 что-то пока плохо работает (зависает при запуске).