mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
ST: Support Cygwin64 and MIPS
This commit is contained in:
parent
7d3ec991e1
commit
1836847269
29 changed files with 1116 additions and 105 deletions
67
trunk/3rdparty/st-srs/README.md
vendored
67
trunk/3rdparty/st-srs/README.md
vendored
|
@ -11,30 +11,45 @@ Fork from http://sourceforge.net/projects/state-threads, patched for [SRS](https
|
|||
|
||||
For original ST without any changes, checkout the [ST master branch](https://github.com/ossrs/state-threads/tree/master).
|
||||
|
||||
## LICENSE
|
||||
|
||||
[state-threads](https://github.com/ossrs/state-threads/blob/srs/README#L68) is licenced under [MPL or GPLv2](https://github.com/ossrs/srs/wiki/LicenseMixing#state-threads).
|
||||
|
||||
## Usage
|
||||
|
||||
Get code:
|
||||
|
||||
```
|
||||
git clone https://github.com/ossrs/state-threads.git &&
|
||||
cd state-threads && git checkout srs
|
||||
```bash
|
||||
git clone -b srs https://github.com/ossrs/state-threads.git
|
||||
```
|
||||
|
||||
For Linux:
|
||||
|
||||
```
|
||||
make linux-debug EXTRA_CFLAGS="-DMD_HAVE_EPOLL"
|
||||
```bash
|
||||
make linux-debug
|
||||
```
|
||||
|
||||
For OSX:
|
||||
|
||||
```bash
|
||||
make darwin-debug
|
||||
```
|
||||
make darwin-debug EXTRA_CFLAGS="-DMD_HAVE_KQUEUE"
|
||||
|
||||
For Cygwin(Windows):
|
||||
|
||||
```
|
||||
make cygwin64-debug
|
||||
```
|
||||
|
||||
For Linux aarch64, which fail with `Unknown CPU architecture`:
|
||||
|
||||
```bash
|
||||
make linux-debug EXTRA_CFLAGS="-D__aarch64__"
|
||||
```
|
||||
|
||||
Linux with valgrind:
|
||||
|
||||
```
|
||||
```bash
|
||||
make linux-debug EXTRA_CFLAGS="-DMD_VALGRIND"
|
||||
```
|
||||
|
||||
|
@ -42,13 +57,13 @@ make linux-debug EXTRA_CFLAGS="-DMD_VALGRIND"
|
|||
|
||||
Linux with valgrind and epoll:
|
||||
|
||||
```
|
||||
```bash
|
||||
make linux-debug EXTRA_CFLAGS="-DMD_HAVE_EPOLL -DMD_VALGRIND"
|
||||
```
|
||||
|
||||
For OSX, user must specifies the valgrind header files:
|
||||
|
||||
```
|
||||
```bash
|
||||
make darwin-debug EXTRA_CFLAGS="-DMD_HAVE_KQUEUE -DMD_VALGRIND -I/usr/local/include"
|
||||
```
|
||||
|
||||
|
@ -58,21 +73,24 @@ make darwin-debug EXTRA_CFLAGS="-DMD_HAVE_KQUEUE -DMD_VALGRIND -I/usr/local/incl
|
|||
|
||||
The branch [srs](https://github.com/ossrs/state-threads/tree/srs) will be patched the following patches:
|
||||
|
||||
- [x] Patch [st.arm.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/1.st.arm.patch), for ARM.
|
||||
- [x] Patch [st.osx.kqueue.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/3.st.osx.kqueue.patch), for osx.
|
||||
- [x] Patch [st.disable.examples.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/4.st.disable.examples.patch), for ubuntu.
|
||||
- [x] [Refine TAB of code](https://github.com/ossrs/state-threads/compare/c2001d30ca58f55d72a6cc6b9b6c70391eaf14db...d2101b26988b0e0db0aabc53ddf452068c1e2cbc).
|
||||
- [x] Merge from [michaeltalyansky](https://github.com/michaeltalyansky/state-threads) and [xzh3836598](https://github.com/ossrs/state-threads/commit/9a17dec8f9c2814d93761665df7c5575a4d2d8a3), support [ARM](https://github.com/ossrs/state-threads/issues/1).
|
||||
- [x] Merge from [toffaletti](https://github.com/toffaletti/state-threads), support [valgrind](https://github.com/ossrs/state-threads/issues/2) for ST.
|
||||
- [x] Patch [st.osx10.14.build.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/6.st.osx10.14.build.patch), for osx 10.14 build.
|
||||
- [x] Support macro `MD_ST_NO_ASM` to disable ASM, [#8](https://github.com/ossrs/state-threads/issues/8).
|
||||
- [x] Merge patch [srs#1282](https://github.com/ossrs/srs/issues/1282#issuecomment-445539513) to support aarch64, [#9](https://github.com/ossrs/state-threads/issues/9).
|
||||
- [x] Support OSX for Apple Darwin, macOS, [#11](https://github.com/ossrs/state-threads/issues/11).
|
||||
- [ ] Support sendmmsg for UDP, [#12](https://github.com/ossrs/state-threads/issues/12).
|
||||
- [x] Refine performance for sleep or epoll_wait(0), [#17](https://github.com/ossrs/state-threads/issues/17).
|
||||
- [ ] Improve the performance of timer. [9fe8cfe5b](https://github.com/ossrs/state-threads/commit/9fe8cfe5b1c9741a2e671a46215184f267fba400), [7879c2b](https://github.com/ossrs/state-threads/commit/7879c2b), [387cddb](https://github.com/ossrs/state-threads/commit/387cddb)
|
||||
- [x] Support utest by gtest and coverage by gcov/gocvr.
|
||||
- [ ] Support Multiple Threads for Linux and Darwin. [#19](https://github.com/ossrs/state-threads/issues/19), [srs#2188](https://github.com/ossrs/srs/issues/2188).
|
||||
- [x] ARM: Patch [st.arm.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/1.st.arm.patch), for ARM.
|
||||
- [x] OSX: Patch [st.osx.kqueue.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/3.st.osx.kqueue.patch), for osx.
|
||||
- [x] Linux: Patch [st.disable.examples.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/4.st.disable.examples.patch), for ubuntu.
|
||||
- [x] System: [Refine TAB of code](https://github.com/ossrs/state-threads/compare/c2001d30ca58f55d72a6cc6b9b6c70391eaf14db...d2101b26988b0e0db0aabc53ddf452068c1e2cbc).
|
||||
- [x] ARM: Merge from [michaeltalyansky](https://github.com/michaeltalyansky/state-threads) and [xzh3836598](https://github.com/ossrs/state-threads/commit/9a17dec8f9c2814d93761665df7c5575a4d2d8a3), support [ARM](https://github.com/ossrs/state-threads/issues/1).
|
||||
- [x] Valgrind: Merge from [toffaletti](https://github.com/toffaletti/state-threads), support [valgrind](https://github.com/ossrs/state-threads/issues/2) for ST.
|
||||
- [x] OSX: Patch [st.osx10.14.build.patch](https://github.com/ossrs/srs/blob/2.0release/trunk/3rdparty/patches/6.st.osx10.14.build.patch), for osx 10.14 build.
|
||||
- [x] ARM: Support macro `MD_ST_NO_ASM` to disable ASM, [#8](https://github.com/ossrs/state-threads/issues/8).
|
||||
- [x] AARCH64: Merge patch [srs#1282](https://github.com/ossrs/srs/issues/1282#issuecomment-445539513) to support aarch64, [#9](https://github.com/ossrs/state-threads/issues/9).
|
||||
- [x] OSX: Support OSX for Apple Darwin, macOS, [#11](https://github.com/ossrs/state-threads/issues/11).
|
||||
- [x] System: Refine performance for sleep or epoll_wait(0), [#17](https://github.com/ossrs/state-threads/issues/17).
|
||||
- [x] System: Support utest by gtest and coverage by gcov/gocvr.
|
||||
- [x] System: Only support for Linux and Darwin. [#19](https://github.com/ossrs/state-threads/issues/19), [srs#2188](https://github.com/ossrs/srs/issues/2188).
|
||||
- [x] System: Improve the performance of timer. [9fe8cfe5b](https://github.com/ossrs/state-threads/commit/9fe8cfe5b1c9741a2e671a46215184f267fba400), [7879c2b](https://github.com/ossrs/state-threads/commit/7879c2b), [387cddb](https://github.com/ossrs/state-threads/commit/387cddb)
|
||||
- [x] Windows: Support Windows 64bits. [#20](https://github.com/ossrs/state-threads/issues/20).
|
||||
- [x] MIPS: Support Linux/MIPS for OpenWRT, [#21](https://github.com/ossrs/state-threads/issues/21).
|
||||
- [ ] System: Support Multiple Threads for Linux and Darwin. [#19](https://github.com/ossrs/state-threads/issues/19), [srs#2188](https://github.com/ossrs/srs/issues/2188).
|
||||
- [ ] System: Support sendmmsg for UDP, [#12](https://github.com/ossrs/state-threads/issues/12).
|
||||
|
||||
## GDB Tools
|
||||
|
||||
|
@ -141,6 +159,7 @@ bash auto/coverage.sh
|
|||
* API reference: http://ossrs.github.io/state-threads/docs/reference.html
|
||||
* Programming notes: http://ossrs.github.io/state-threads/docs/notes.html
|
||||
|
||||
* [How to porting ST to other OS/CPU?](https://github.com/ossrs/state-threads/issues/22)
|
||||
* About setjmp and longjmp, read [setjmp](https://gitee.com/winlinvip/srs-wiki/raw/master/images/st-setjmp.jpg).
|
||||
* About the stack structure, read [stack](https://gitee.com/winlinvip/srs-wiki/raw/master/images/st-stack.jpg)
|
||||
* About asm code comments, read [#91d530e](https://github.com/ossrs/state-threads/commit/91d530e#diff-ed9428b14ff6afda0e9ab04cc91d4445R25).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue